Muriel is a language where the only way to loop is to create a quine and execute it. Your job is to create your own language with this property and an implementation of it in a pre-existing language.
We will define a Muriel-like language like as follows:
- It has a built-in command for executing code in its own language, similar to Muriel's
@command or python's
- It is Turing complete.
- If you remove the built-in execution command it is no longer Turing complete.
Muriel is Muriel-like with
@ as its built-in execution command. Smurf is also Muriel-like (its built-in execution command is
x). Python is not Muriel-like, since it is still Turing complete if you remove
Your job is to create a Muriel-like programming language, and then to provide an implementation of it in a language of your choice. Your score is the length of the implementation, which you are trying to minimize.
- Your built-in execution does not need to function exactly like Muriel. It is up to you how it handles termination of the child program, errors, scoping, etc...
- The language you write the implementation can not itself be Muriel-like. (This is so that
@is not a valid entry.) It also must have existed before this post.