Eu sei que isso é um pouco tarde (e um pouco meticuloso), mas ...
> <> (Peixe), 47 45 47 Bytes (realmente 43 45, se eu não estivesse usando a direção aleatória)
x"!tenalP ,sgniteerG"!|o|!"Greetings, Planet!"x
Essas respostas são um pouco diferentes entre si; existe a possibilidade de qualquer direção do código ser executada.
Então, ao "imprimir no console", presumi que você quisesse imprimir no stdout. Isso gera um erro; o erro é lançado para stderr APÓS a sequência ser impressa em stdout.
Para provar que isso funcionava nos dois sentidos, usei o diretor de "direção aleatória", "x". O peixe é uma linguagem bidimensional, portanto, não importa para que lado o diretor aponte, o código ainda será (eventualmente) executado.
Supondo que o primeiro diretor aponte para a direita, os caracteres são carregados na "pilha" na ordem inversa e, em seguida, o reverso do reverso (ou o texto normal) é impresso.
Supondo que ambos os diretores apontem para a esquerda, os caracteres sejam, mais uma vez, carregados na "pilha" na ordem inversa (porque o código o carrega para trás aqui, a direção é para a esquerda) e depois o inverso (ou o texto normal) é impresso.
Se o diretor randomizado apontar para cima ou para baixo, isso não importa - o peixe sabe passar para a parte de baixo ou de fora do código, apontando de volta para o randomizador. Dessa forma, ele continuará fazendo loop com os randomizadores até que aponte para dentro, em direção ao código a ser executado.
O !|o|!
bit faz o seguinte, de ambos os lados:
!
pula a próxima instrução (sempre pula |
)
|
é um refletor; aponta de volta para dentro o
.
o
gera o item atual da pilha para o console como um caractere e o remove da pilha.
Então, essencialmente, este é o truque "dois espelhos em um banheiro pressionados juntos", onde eu produzo até que não consiga mais.
Agora usando um emoji de gato. >o<
redireciona a saída para dentro infinitamente, ainda gerando o erro, mas posso fugir sem usar um pular para reflexão.
Acontece que eu estava certo na primeira vez - a segunda tentativa não foi palindrômica , mas foi reflexiva .
Peixe (sem imprimir para stderr), 64 bytes (ew)
x"!tenalP ,sgniteerG"!;oooooooooooooooooo;!"Greetings, Planet!"x
Esse cara é um pouco mais longo.
Possui a mesma função de seta aleatória (para provar que funciona nos dois sentidos) e não imprime no stderr.
A diferença aqui é óbvia; Eu literalmente imprimo todos os itens da pilha e finalizo a execução com ;
.
O !;
não termina a execução imediatamente, pois !
ignora o próximo item (exec final, neste caso) e continua até atingir o outro lado, que atua como ;!
, no qual termina a execução antes de ignorar qualquer coisa.
Segue o mesmo padrão de direção aleatória da resposta mais curta.