Not a great mentality to have, we should problem-solve, and problems such as these are great to ask for continuity.
I want to preface this by saying that with mods, as Blueboat stated, you could convert to block code, and that would likely be your best bet, especially if you want a system that only converts a language to Gimkit – I will be explaining some of the nuances, however. I also looked through different guides for some of the information and examples which I will link at the bottom and when they are used.
As for the question, strictly restrained by vanilla Gimkit pre-game, the first problem that arises is the computability. If we wanted to map programs in a language such as Python into a system in Gimkit with devices and block code to a language such as Python, we would have to determine if it’s Turing-complete, which apparently has been proven before.
Also, Gimkit can clearly be expressed as a Lambda Calculus. For now, to see Gimkit’s properties contributing to its Turing-completeness easily, Properties can act as variables storing data,
Counters can increment/decrement by 1 allowing for addition and subtraction ,
Checkers allow for conditionals,
and Wire Repeaters, Repeaters, and devices that contain channels in which they can trigger themselves, like Triggers, all account for loops.
With block code, it’s easier. So, it initially seems possible.
Accounting for memory and device limits, however, if the memory of the program exceeds that of Gimkit’s (which I learned was 100,000), it cannot run the program, meaning that not all programs can be mapped into Gimkit. Some individual parts of Python code would require multiple devices or extensive block code.
When we look at cases such as lists, the efficiency and memory issues are still notable to that of recursion. In Python, looping and recursion can use stack-orienting programming techniques and indexing which essentially moves from A → C, whereas Gimkit does not have special techniques and has to move from A → B → C.
Though, I will say, theoretically, it could be possible, in practicality, it wouldn’t be efficient and applicable always due to memory and device limits – usually preventing most problems in Gimkit that require replication.