Tujuan dari tantangan ini adalah untuk menulis sebuah program yang memenuhi persyaratan berikut:
Program ini bukan palindromik, atau pada dasarnya palindromik (artinya memungkinkan untuk menghapus karakter untuk menjadikannya palindrom tanpa mengubah efek program).
Program ini bukan involusi (artinya tidak menghasilkan input aslinya ketika dijalankan pada outputnya)
Program polaritas terbalik adalah kebalikan dari program normal; jadi ketika program terbalik dijalankan pada output dari program normal, ia mengembalikan input aslinya.
Apa yang dimaksud dengan polaritas terbalik ? Ya, itu berbeda antara bahasa.
- Bagi sebagian besar non-esolang, ini berarti membalik urutan sub-operasi dalam satu operasi, membalik urutan argumen, dan membalikkan isi daftar / array / tupel / kamus kode keras / stacks / tumpukan / antrian / dll, juga sebagai membalik urutan blok kode dan garis yang berdiri sendiri (tetapi bukan garis dalam blok)
Contoh:
Haskell :
x`mod`y-> y`mod`x; zipWith ((*3).(+)) [1,2,3] [4,5,6]->zipWith ((+).(*3)) [6,5,4] [3,2,1]
Python : 2**3-> 3**2; for x,y in [(1,2),(3,4),(5,6)]->for y,x in [(6,5),(4,3),(2,1)]
Untuk bahasa yang memiliki fungsi 1-karakter (seperti Pyth, APL), cukup balikkan string instruksi
Untuk esolang 1 dimensi seperti BF, balikkan instruksi atau bertukar polaritas; swap polaritas adalah
[]->{},+->-,-->+,>-><,<->>,.->,dan,->.(tetapi tidak keduanya)Untuk esolang 2 dimensi seperti Befunge, Anda dapat melakukan refleksi melintasi sumbu x atau y atau diagonal, memutar 180 derajat, atau melakukan kombinasi refleksi dan rotasi
Operasi komutatif diizinkan, tetapi operasi palindromik tidak: 2*xbaik-baik saja, tetapi x+xburuk. Definisi pembalikan polaritas cukup longgar, tetapi gunakan penilaian Anda untuk apa yang masuk akal; objeknya bukan untuk menemukan celah yang paling pintar, tetapi untuk menemukan solusi yang paling pintar.
Ini adalah kontes popularitas, jadi celah yang sangat cerdas mungkin populer, tetapi cobalah untuk tetap dalam semangat tantangan ini. Pemenang akan diumumkan setelah setidaknya ada 10 solusi dengan setidaknya 1 upvote, dan setidaknya ada satu solusi dengan lebih banyak upvotes daripada ada pengiriman dengan setidaknya 1 upvote; atau dalam 1 bulan, mana yang lebih dulu. Ini adalah tantangan pertama saya, jadi cobalah bersikap adil dan memberi saya umpan balik yang konstruktif, tetapi juga beri tahu saya apakah ini adalah tantangan yang tidak masuk akal atau dengan cara apa pun dikategorikan salah atau ambigu. Jika Anda memiliki pertanyaan tentang bahasa yang tidak cocok dengan lubang pigeon mana pun yang telah saya sebutkan di sini, beri komentar, dan saya akan tunduk pada keinginan komunitas jika ada protes keras untuk klarifikasi atau perubahan peraturan tertentu.
MEMPERBARUI
Sudah tepat 1 bulan sejak kontes ini dimulai (saya kebetulan memeriksanya secara kebetulan, tidak tahu bahwa saya sebenarnya tepat waktu). Karena ini adalah kontes popularitas, pemenangnya ( kalah telak) adalah Pietu1998-Befunge . Meskipun komponen bawah (pembalik teks dan alfabet mundur) keduanya adalah involusi, encoder / decoder tidak, jadi tidak ada masalah di sana. Poin bonus (dalam pikiran saya) untuk mengelola menulis "BEFUNGE" di tengah. Saya pribadi menyukai solusi Zgarb's Theseus yang baru , karena bahasanya terlihat keren (jika dibatasi). Terima kasih kepada semua orang untuk berpartisipasi, dan sementara pemenang telah dipilih, saya meninggalkan kontes ini sepenuhnya terbuka, dan menyambut kiriman yang akan datang
()palindromik? Secara teknis, kebalikannya )(.