Muriel é uma linguagem em que a única maneira de fazer um loop é criar um quine e executá-lo. Seu trabalho é criar seu próprio idioma com essa propriedade e implementá-lo em um idioma pré-existente.
Vamos definir um idioma semelhante ao Muriel da seguinte forma:
- Ele possui um comando interno para executar código em sua própria linguagem, semelhante ao
@
comando de Muriel ou do pythonexec
. - Turing está completo.
- Se você remover o comando de execução interno, ele não estará mais completo.
Muriel é semelhante a Muriel @
como seu comando de execução embutido. O Smurf também é parecido com o Muriel (seu comando de execução embutido é x
). Python não é parecido com Muriel, pois ainda está completo com Turing se você remover exec
.
Seu trabalho é criar uma linguagem de programação semelhante a Muriel e, em seguida, fornecer uma implementação em uma linguagem de sua escolha. Sua pontuação é a duração da implementação, que você está tentando minimizar.
Notas:
- Sua execução interna não precisa funcionar exatamente como Muriel. Cabe a você como ele lida com a finalização do programa filho, erros, escopo, etc ...
- A linguagem que você escreve a implementação não pode em si ser Muriel-like. (Isso é para que
@
não seja uma entrada válida.) Também deve ter existido antes desta postagem.
code-golf
quine
language-design
PyRulez
fonte
fonte
eval
comandos? (Por exemplo, Pythonexec
eeval
) Exigir a remoção de todos eles para perder o TCness?Respostas:
Python 3 e "O subconjunto mínimo de TC de carga insuficiente, mas com os caracteres alterados para
2019
, invertido e com um0
no topo", 156 bytesExperimente online!
Explicações no cabeçalho, código comentado no rodapé.
fonte