Esta é uma resposta colaborativa com BlueEyedBeast
Eu decidi fazer uma abordagem 2D para esta pergunta ... Sim, existem 7 esolangs 2D!
Eu me inspirei em outros idiomas a serem adicionados pela resposta de BlueEyedBeast (Foo, GolfScript)
<ESC>
é o caractere literal de Escape .
#>!>\'n\'r\'o\'c\,,,,,@'s'a'l'a'dJ,é'g'n+'i+'s+'s+'e+'r+'d+.ó[-]+[----->+++<]>.+++++++++++.+++[->+++<]>++.+[--->+<]>.+++H'turkey'~;oooooooo'sweettea.0-5++++++++fffffffff''`'
# >99*d1+c3-c89*4+dcc99*2+c!|$l9D3-O93++dOO8+O1+O1-O5+OO1+O95++O.
# >'p'()'u'()'m'()'p'()'k'()'i'()'n'()'p'()'i'()'e'()\
print'biscuits';'pecanpie'#"stuffing"R'c!'o!'r!'n!'b!'r!'e!'a!'d!*<ESC>ddddddSapplepie
Befunge-98
#?!> nothing important
'n push 'n'
STACK: [110]
\ swap top two stack values (TBH, I'm not really sure what happens in this case)
STACK: [110, 0]
'r\'o\'c\ repeat the same for other characters
STACK: [110 114 111 99 0]
,,,,, output the next 5 top stack values, "corn"
@ end program
rest of the code is irrelevant
since program has already stopped
Experimente online! saídascorn
> <>
Os comandos são mostrados na ordem em que aparecem
enter from the left, direction = right
# mirror, now the direction will change to left
and it wraps around and comes to the right
and reads code from the right to the left
'`' push this
' ... 5-0.aetteews' push this too
oooooooo outputs the top 5 characters of the stack
; end program
Experimente online! (Apenas copiar e colar)sweettea
V
...<ESC> writes stuff over three lines and enters normal mode
ddddddS deletes 3 lines, delete another line and enter insert mode
applepie writes "applepie"
Experimente online! saídas applepie
(pode demorar 20 segundos para ser executado)
Python 2
# first two lines are comments
print"biscuits"; # prints "biscuits" and ends statement
'pecanpie' # dangling (and ignored) string literal
Experimente online! (Apenas copiar e colar)biscuits
05AB1E
#>!> # does nothing important
\'n\ # push 'n' and delete it
'r\'o\'c\ # repeat for other characters
,,,,, # prints 5 times (since there is nothing in stack,
# prints nothing)
@ # push the index of the top of stack
's'a'l'a'd # push these characters
J, # join them and print them out
# the rest of the code does not matter
# since there is no implicit print
# because we used the print statement
Experimente online! saídassalad
Gol> <>
Os comandos são mostrados na ordem em que aparecem
enter from the left, direction = right
# mirror, now the direction changes to left
and it wraps around and comes to the right
and reads code from the right to the left
' starting parsing strings
` escape next character
' gets escaped
" stop string parsing
fffffffff pushes 15, 8 times
++++++++ adds up the numbers, resulting in 135
5- subtract 4 from it, 130
0 pushes 0
0 jumps to (130, 0)
#\'n\'r\'o\'c\,,,,,@'r'o'l'l'sJ, ... H'turkey'~;oooooooo"sweettea.0-5++++++++fffffffff""`"
^
we are here now
˜ removes value at top of stack, '"'
"yekrut" push this string
H Output stack as characters and halt program
Experimente online! saídasturkey
Foo
Foo produz qualquer coisa entre aspas duplas, é por isso que tomei o cuidado de não usar aspas duplas nos outros idiomas. Como "stuffing"
está entre aspas duplas, ele será impresso.
Experimente online! saídas stuffing
e, em seguida, tem um erro
Palheiro (2015)
Isso usa o intérprete de 2015 do Haystack (não 2016), pois a versão mais recente é inválida. O intérprete para isso é haystack.py
e não haystack_new.py
Os comandos são mostrados na ordem em que aparecem
# ignored
\ reflection (now it moves downwards)
> set direction to right
99*d1+c Output 'R'
3-c Output 'O'
89*4+dcc Outputs 'L', newline, 'L'
99*2+c!| Outputs 'S' and ends the program
Note: '!' is ignored by the interpreter
Este programa gera
R
O
L
L
S
e uma nova linha após essa saída (ei, espaço em branco não importa!)
GolfScript
first 2 lines are comments
print'biscuits'; pushes "biscuits" to the stack and discards it
'pecanpie' push this
#... comment
implicit output
Experimente online! saídaspecanpie
BF
Usei https://copy.sh/brainfuck/text.html para converter texto em BF. Embora existam muitas ,
instruções de entrada, o código BF é executado independentemente.
Experimente online! saídasgravy
Fissão
Para que um programa de fissão comece, um átomo precisa ser gerado. Vemos isso acontecendo na terceira linha:
..."stuffing" Blah blah blah
R Spawns an atom with direction right
'c Gives the atom the mass of 'c''s ASCII value
! Print the atom's mass
'o!'r!'n!'b!'r!'e!'a!'d! Do the same for other characters
* Destroy atom, end program
Experimente online! saídascornbread
Minkolang v0.15
# Doesn't really do anything
\ Reflect, moves downwards
> Changes direction to right
... !| Does stuff in stack, '!' ignores the '|'
$l9D3 ... ++O Uses ASCII character codes to print "applecider"
. Ends program
Experimente online! saídasapplecider
A sério
é - clear stack
'g'n+'i+'s+'s+'e+'r+'d+ - load chars onto stack
. - print stack
ó - exit
Experimente online! saídasdressing
Axo
(Os comandos são mostrados na ordem em que são encontrados)
#> blah blah
! rotate direction 90 degrees clockwise
> go right
'p'() push char and output
'u'() ... 'e'() repeat for other characters
\ end program
Experimente online! saídaspumpkinpie