Aceto , 19 17 байт не конкурирует
Новая версия (17 байт):
Эта новая версия принимает символы по одному и лучше всего выполняется с -Fопцией. Он работает аналогично, но не идентично предыдущему решению:
>,
Op0
p|1u
,ip^
Старый ответ (19 байт):
(Не конкурирует, потому что мне пришлось исправить две ошибки в интерпретаторе)
|p1u
iOp<
|!`X
rd!r
Это первый ответ Aceto, который подчеркивает, на что он способен относительно хорошо, я бы сказал. «Списки» - это входные потоки, с одним вводом на строку, «1» для истины и «0» для «ложь», с пустой строкой, обозначающей конец списка.

Программы Aceto работают по кривой Гильберта, начиная слева внизу и заканчивая справа внизу. Во-первых, мы читаем rстроку, dуточняем и отрицаем ее ( !), превращая пустые строки в True, а все остальное в False. Затем есть условное горизонтальное зеркало ( |): если верхний элемент в стеке верен, зеркально отразите по горизонтали. Это происходит, когда строка была пустой. Если мы делаем зеркалирование, мы приземляемся на того X, который убивает переводчика.
В противном случае мы конвертируем оставшуюся копию в стеке в integer и делаем другое условное горизонтальное зеркало: на этот раз, потому что 1 истинно, а 0 ложно, мы зеркально отображаем, если видим (первое) истинное значение. Если мы не зеркально pотображаем (так что мы увидели 0), мы набираем то, что находится в стеке (поскольку стек пуст, ноль), и переходим к Oначалу кривой, откуда мы начали, снова запуская весь процесс.
В противном случае, когда мы увидели 1, мы отражаемся и приземляемся на u, что меняет направление, в котором мы движемся по кривой Гильберта. 1pпечатает 1, и теперь мы продолжаем то же самое, Oчто и если бы мы видели 0, но, поскольку мы находимся в «обратном режиме», наш источник находится внизу справа , поэтому мы прыгаем туда.
Теперь мы читаем rеще одну строку и отрицаем ее. Если строка была пустой, и, следовательно, верхний элемент стека является правдивым, не` произойдет следующая команда ( ), что заставит нас выйти.X
В противном случае (если строка не была пустой), мы действительно спасаясь от Xи игнорировать его. В этом случае мы идем влево ( <), print 0 (потому что стек пуст) и возвращаемся к Origin.