Christian, Thanks for sharing. I took a look and he does have a few schemas for Ada and C from TWO YEARS ago. Nothing about the infinite number of other languages he plans on supporting, let alone Python. And what he has is likely not enough to do what he claims he can do easily and rapidly.
What gets me is that many languages severely overload the use of some characters and tokens so they can mean many things based on the context and capturing that is much harder than declaring what is a keyword. Worse, some languages like PERL make so many things optional, that you can write very brief programs that keep implicitly assuming the previous part stored results in $_ and seem at first to be magical as the actual code does not seem connected to anything. I am not so sure there is a reasonable way to program ALL existing language his way & to have one ring-like compiler to rule them all, albeit you might be able to consolidate several somewhat similar languages. I also wonder how efficient such a universal compiler (maybe technically not a compiler) would be but if it was only used once, maybe not. But didn't he also say this thing would work in an interactive mode line by line? It reminds me of when I was studying concepts about various takes on a Turing Machine for my thesis. It has been proven that a Turing Machine can theoretically solve any problem you can solve with a non-quantum computer. I emphasize it is theoretical because we are talking about an infinite tape with squares containing symbols that are read by a head that moves over it either to the left or right based on the current state and so on. Fairly simple programs like copying a million instances of "1" in a row can take quite a while and really complex programs need near-infinite times or infinitesimal time per step. What is POSSIBLE is far from useful. I feel the same way about NEOS. Given a sufficiently advanced and convoluted schema you can write a sufficiently convoluted computer program that might halt with an answer -- meaning it will compile a valid program written in a language that is completely defined by that schema and perhaps additional info. We know it can be done because each language has existing compilers and/or interpreters that do so, without an explicit schema. But to have a program that can take any schema whatsoever and do what is needed is a bit much. Existing languages were simply not designed with this in mind and new/old languages might feel constrained about designing new features that will not be able to fit within an existing schema. In particular, how do you handle multiple versions of a language like Python 2.X and the incompatible Python 3.X and the eventual re-re-designed Python 4.Y? They all may be placed in files ending in .py! There is nothing wrong with thinking out of the box or making grand plans. But I have known people ranging from overly optimistic to manic who think nothing of making extraordinary claims and may actually believe it. I would not be shocked if a subset of what is being suggested for NEOS might be done by a large team in a few decades but by then, we may all be using quantum computers and a whole new set of languages to take advantage of new paradigms like superposition ... -----Original Message----- From: Python-list <python-list-bounces+avigross=verizon....@python.org> On Behalf Of Christian Gollwitzer Sent: Tuesday, February 16, 2021 2:25 AM To: python-list@python.org Subject: Re: New Python implementation Am 15.02.21 um 21:37 schrieb Roel Schroeven: > > So your claim is that your compiler is able to, or will be able to, > compile any language just by specifying a small schema file. Great! > > Do you maybe have a proof-of-concept? A simple language with a simple > schema file to test the basic workings of your compiler, Here is the git repo: https://github.com/i42output/neos under languages/ you'll find different schema files. Christian -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list