Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk, evil
If anyone finds that one of the programs is broken for one language or one program works for a language it shouldn't, let me know.
Jelly, 4 bytes
“¡Ʋ’
A base-250 compressed number literal. M, a near clone of Jelly, does not have this feature.
“Nạç»
A compressed string that gives 404. Both Jelly and M have this feature.
print(404
+1#ṛ“Nạç»
Pyon is like Python but automatically closes parentheses, so print(404
turns into print(404)
. Proton, a language with a similar concept, doesn't have the auto-closing parenthesis feature so it errors on this program. (Both Pyon and Proton were written by Hyper Neutrino). In the second line it sees +1
but does nothing with it then #
comments out the rest of the line.
Jelly and M only evaluate the last line (unless previous lines are called with a specific set of characters). +1#
returns 1
then ṛ“Nạç»
takes the ṛ
ight argument which is the compressed string. Starting the line with just #
or 1#
gives an error, so +1
is needed before the #
. Most or all characters would have worked over +
but if A
is used for example the Python variants I use would throw an unnamed variable error and not print anything.
Jelly, M, Pyon, Proton 25 bytes
print(a or 404)
+1#ṛ“Nạç»
Both Pyon and Proton automatically assign a value to a
instead of throwing an error.
Jelly, M, Pyon, Proton, Python 3 51 bytes
print([404 if 1/2else 0 for z in [0]][0])
+1#ṛ“Nạç»
/
is integer division in Python 1 and 2 but float division in Python 3 so 1/2
is falsy in 1 and 2 and truthy in 3. I realize now I can take out the list comprehension to shorten it, I will do that later.
Jelly, M, Pyon, Proton, Python 3, Python 21 38 bytes
print([404 for z in [0]][0])
+1#ṛ“Nạç»
Python 1 does not have list comprehension so this errors.
1TIO does not compile this for Python 2 because of non ASCII characters but I tested it locally and it prints 404.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1 28 bytes
print(None or 404)
+1#ṛ“Nạç»
In Perl 5 None
is truthy as opposed to Python where None is falsy. Perl 6 and Ruby error.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6 45 bytes
1;#`<
print(None or 404)*1#>say 403
+1#ṛ“Nạç»
#`<
and #>
close multiline comments in Perl 6. the 1;
and *1
are there to keep Jelly and M happy with the #
quick (nfind).
say 403
does the work for Perl 6. I don't know Perl but for some reason this prints 404
.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5 42 bytes
1;#`<
print(404 or 1)*1#>say 403
+1#ṛ“Nạç»
Same as last but now Perl 5 prints 404
because it is the first element of the or
operator. Ruby errors.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby 19 bytes
print(404)*1#ṛ“Nạç»
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc 20 bytes
print(404)*1#ṛ“Nạç»
The only difference between this and the last one is a trailing newline. With the newline bc runs properly but without it it errors without printing anything.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP 20 bytes
print(404)
+1#ṛ“Nạç»
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck 50 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>
+1#ṛ“Nạç»
Before I inserted bc into the chain the second line started -1#[...
but in bc that program prints the string 404-1
. When the second line starts with +1=
it simply outputs 404
so to keep brainfuck balanced I had to add two -
s after the #
. This is true for the next program as well (and probably any more I will add).
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji 56 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>💬404💬➡
+1#ṛ“Nạç»
💬404💬➡
prints 404 in Emoji.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon 62 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>💬404💬➡😒😀😒⏪😨⏩
+1#ṛ“Nạç»
😒
and 😀
push 4
and 0
to the stack respectively. ⏪
starts a loop, 😨
prints the top of a stack if it is a number and ⏩
closes the loop.
Try Emotin🌗micon here. You'll have to copy paste this program in there if you want to try it because I don't think it lets you create a link with code in it.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal 67 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>💬404💬➡😒😀😒⏪😨⏩⎚404»
+1#ṛ“Nạç»
Charcoal only prints the stuff between ⎚
and »
, which in this case is 404 (surprise). Luckily the »
in the last line doesn't cause any additional printing to happen.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf 79 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___
+1#ṛ“Nạç»
The only code added here are three underscores at the end of line 2. In Braingolf _
pops and prints the top of the stack. The digits 404
in ⎚404»
were each added to the stack so there is no need to include another instance of 404 in the code.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace 118 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___
+1#ṛ“Nạç»
Can't you see!?
Had to keep the Jelly/M code in the last line.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~ 129 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___{ii}dsiiiio
+1#ṛ“Nạç»
Deadfish~ is my new favorite language. The i
in print
increments the accumulator from initial value 0 to 1. Then at the end of line two (before the whitespace) {ii}
increments it 10*2 times to 21. d
-> 20, s
->400, iiii
->404, o
outputs. This doesn't do the same thing in Deadfish (it prints 8) because the loop operator {...}
is only in Deadfish~.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish 131 bytes
print(404)
+1#--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio
+1#ṛ“Nạç»
Deadfish is not on TIO but I provided a TIO link with the J interpreter provided by esolangs with the Deadfish source code in the input.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck 136 bytes
print(404)
+1#<[-]>--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio
+1#ṛ“Nạç»
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck 155 bytes
print(404)
+1#<[-]>--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡
+1#ṛ“Nạç»
Now with five brainfuck varieties. Symbolic Brainfuck uses ▲
to increment, ²
to double and ¡
to print (among various other commands I didn't use). I want to get Brian and Chuck in there too but I can't get it to work or find extensive documentation on it.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang 178 bytes
print(404)
+1#<[-]>--[<+>-----]<+.----.++++.>++++;>;<;💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡77777724091557093543643
+1#ṛ“Nạç»
Like Symbolic Brainfuck, Numberwang was trivial to add since it's character set is just numbers and thus distinct from the other brainfuckoids.
24. Cardinal
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal 186 bytes
print(404)
+1#<[-]>--[<+>-----]<+.----.++++.>++++;>;<💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡77777724091557093543643%"404";77
+1#ṛ“Nạç»
Cardinal starts at the %
near the end of line two and pointers move out in all directions. Up, left and down don't do anything in this case and the right one prints whatever is between the two "
s, which is 404. The 77
at the end of the line are required in Numberwang to balance the new 4
s since they represent brackets.
25. Actually
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually 195 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.>++++;>;<💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡7777777724091557093543643%"404";77
+1#ṛ“Nạç»
Used Mego's suggestion to Jo King to add .⌂
after a "404"
. I tried using the "404"
that Cardinal uses but Actually ends up printing some other stuff earlier in the same line so I had to move it forward. I then Tried putting it right after the #
in that line but that ends up messing up Brainbash (but oddly not brainfuck or Braingolf). Then I tried it's current position which was agreeable with everyone. Needed a couple more 7
s to keep Numberwang happy.
26. Fission
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission 187 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡7777777724091557093543643%R"404";77
+1#ṛ“Nạç»
The R
near the end of line 2 spawns a rightward moving atom. "404"
prints 404
then ;
destroys the atom. Without destroying the atom more 404
s get printed.
27. Prelude
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude 224 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!
+1#ṛ“Nạç»
Prelude is a stack based language based on different voices (lines) "singing" at the same time. !
pops a value and prints it as a character and +
adds the top two values on the stack. 999++++++++!++++++++6+1+!++++++5++++!
is specifically what I added. My guess is it could be more efficient.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack) 277 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___issiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!>
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃
In BrainHack (((()((()(((()()()){}){}){}){}){}){}){})
prints 404
. I tried appending this to the second line but Prelude went into an infinite loop without printing (I think). Moving it to the third line (with +1#
before it to keep Jelly and others happy) fixed that but caused an error because in Prelude you can't have two parentheses of any kind in the same column on different rows. So to avoid this with the (
and )
in the first line I just added a
in those columns on the third line. This didn't mess anything else up. Couldn't add spaces because of Whitespace. I also needed to add an a
before any {}
s to keep Jelly and M happy because the curly braces need to be attached to an atom (which a
is). With this on the third line bc prints an extra 1
but putting it on the fourth line makes everyone happy.
29. Alphuck
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, 306 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeeja7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!>
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃
Had to put this after the Deadfish(~) code and start with an s
to match brackets but other than that this was not a difficult addition. The code added is sipceaiiiiiscejiiiijeeeeja
.
30. Deadfish x
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, 327 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeejaxxcxxxcxxxKddddKxxxxK7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!>
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃
Link to a Python interpreter provided by esolangs. This is basically Deadfish but moved to a different character set (xkcdXKCD
) and with extra commands.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, 327 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒⏪😨⏩⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeejaxxcxxxcxxxKddddKxxxxK7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!> @p404 s7
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»
In TacO @
starts the program and it branches out in all directions similar to Cardinal. This is near the end of line 2. It hits p
to the right which further branches out in all directions and 404
is printed. The s
and 7
after that code are closing brackets for Alphuck and Numberwang.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, 334 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒😨😨😨⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeejaxxcxxxcxxxKddddKxxxxK7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!> @p404 s7
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃
Just had to add ⠎⡆⡎⡆⢐⠣⠃
to the end. Oddly enough, ⏪😨⏩
from the Emotinomicon code caused it to break but changing this to 😨😨😨
fixed the problem. No idea why.
I actually had added Braille much earlier but realized it had broken but everything should be good now.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk, 358 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒😨😨😨⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeejaxxcxxxcxxxKddddKcxxxx7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!> @p404 sp7 rk:start print: "404"77s
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃
The relevant code here is rk:start print: "404"
near the end of line 2. Had to add an extra p
and s
and two 7
s to keep Alphuck and Numberwang happy. Also had to take out the K
in the Deadfish x code and change the operators a bit because the k
in rk
prints a number.
Jelly, M, Pyon, Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari/GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish~, Deadfish, Self-modifying Brainfuck, Symbolic Brainfuck, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk, evil, 387 bytes
print(404)
+1#<[-]>--[<+>-----]"404".⌂<+.----.++++.💬404💬➡😒😀😒😨😨😨⎚404»___pppissiiiisiiiio▲▲▲²²▲²²¡▼▼▼▼¡▲▲▲▲¡sipceaiiiiiscejiiiijeeeejaxxcxxxcxxxKddddKcxxxx7777777724091557093543643%R"404";77999++++++++!++++++++6+1+!++++++5++++!> @p404 sp7 rk:start print: "404"77szaeeaeueewzaeeeaeewzaeeaeueew
+1#((a(()a((()(((()()())a{})a{})a{})a{})a{})a{})a{})
+1#ṛ“Nạç»⠎⡆⡎⡆⢐⠣⠃