Muriel adalah bahasa di mana satu-satunya cara untuk mengulang adalah membuat quine dan menjalankannya. Tugas Anda adalah membuat bahasa Anda sendiri dengan properti ini dan mengimplementasikannya dalam bahasa yang sudah ada sebelumnya.
Kami akan mendefinisikan bahasa seperti Muriel seperti berikut:
- Ini memiliki perintah bawaan untuk mengeksekusi kode dalam bahasanya sendiri, mirip dengan
@
perintah Muriel atau pythonexec
. - Itu Turing lengkap.
- Jika Anda menghapus perintah eksekusi bawaan, Turing tidak lagi lengkap.
Muriel seperti Muriel dengan @
sebagai perintah eksekusi bawaannya. Smurf juga mirip Muriel (perintah eksekusi bawaannya adalah x
). Python tidak seperti Muriel, karena Turing masih lengkap jika Anda hapus exec
.
Tugas Anda adalah membuat bahasa pemrograman seperti Muriel, dan kemudian menyediakannya dalam bahasa pilihan Anda. Skor Anda adalah panjang implementasi, yang Anda coba untuk meminimalkan.
Catatan:
- Eksekusi bawaan Anda tidak perlu berfungsi persis seperti Muriel. Terserah Anda bagaimana menangani penghentian program anak, kesalahan, pelingkupan, dll ...
- Bahasa yang Anda tulis pelaksanaannya tidak bisa sendiri menjadi Muriel-seperti. (Ini agar itu
@
bukan entri yang valid.) Itu juga harus sudah ada sebelum posting ini.
code-golf
quine
language-design
PyRulez
sumber
sumber
eval
perintah? (Misalnya Pythonexec
daneval
) Perlu penghapusan mereka semua untuk kehilangan TCness?Jawaban:
Python 3 dan "Subset TC minimum Underload tetapi dengan karakter berubah menjadi
2019
, terbalik, dan dengan0
di atas", 156 byteCobalah online!
Penjelasan di header, kode komentar di footer.
sumber