News for hackers. Stuff that matters.
Re:What Made Lisp Different (2002) by jimbokun on Sunday February 18, 2018 @10:23PM (#16410537)
My gut instinct is that translating between any two programs in different languages, that compute exactly the same function, will run into the Halting Problem somewhere. I feel like this is where some actual Computer Science analysis of the problem you are describing before diving head first into coding a solution could really pay off.
Re:What Made Lisp Different (2002) by nnq on Monday February 19, 2018 @02:51AM (#16411405)
That's why you'd need to have a common formally defined semantics underneath, that all syntaxes will be forced to comply with. Solves the halting problem (unless somebody invents a truly weird syntax with meta-meta-templates and context-dependent grammar or whatever - like the "look, I can use C++ templates to implement a compile time Lisp interpreter" horror"), but, yeah, inventing a practical way to enforce that formally defined semantics is a hard problem in itself, and waaaay above may level of compsi knowledge :)
Re:What Made Lisp Different (2002) by syrrim on Monday February 19, 2018 @12:39AM (#16410992)
By definition, a program in a turing complete language can be turned into a universal turing machine. More, turing equivalence means that any turing complete language can be turned into any other. The most naive implementation of the GPs suggestion would involve creating an IR, then for every language a compiler to this IR, and a reverse compiler to get back source from this IR. With this, you could trivially jump between languages in a mere two steps.