We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

14

From Esolang
(Redirected from 41)
Jump to navigation Jump to search


14
Official logo
Designed by User:Marcus 2n2
Appeared in 2026
Memory system Stack-based
Dimensions one-dimensional
Computational class Turing complete
Reference implementation Python
Dialects 41
File extension(s) .14, .4teen, .fourteen

14 is an esolang made by User:Marcus 2n2 because he likes esolangs named after numbers

Instructions

Symbol What they do
1 Pops a and pushes 10a+1. If stack is empty, push 1.
4 Pops a and pushes 10a+4. If stack is empty, push 4.
: Duplicates top of stack. If empty, push 0.
- Pops a and b, and pushes b-a. If there's only one element, negate. If the stack is empty, push 0.
/ Skips all instructions (except the matching \) if top of stack is 0. if the stack is empty, interpret as 0
\ Stop skipping instructions.
( No-op
) Go back to the matching (
i Push input (or 0 on EOF).
u Pop.
o Pop value and output it as ASCII.
O Pop value and output it as number.
> Rotate stack right.
< Rotate stack left.

There is also an extra DEBUG instruction, #, which dumps the stack. Shout-out to User:Blashyrkh for adding this instruction and other programs!

Basic components

Push 0

::-

Input all

(i/)\

Infinite loop

()

Print a newline

::-1:>1<-o

Comments

::-/any comment can be stored here\u

Set element to 0

:-

Examples

Cat program

btw, this esolang has

(i/o)

A+B problem

>::-<--

Reverse cat

(i/)\(o/)

Truth-machine

4:::-<4--i<-(:O/)

Looping counter

41::-:1:>--<((:::-1-<:o>/)\u ::-1:>1<-o)

Hello

4::4<-<-:::-<--o1:1:1--o1:::11<-<-<-:oo111o

Hello, world!

4::4<-<-:::-<--o1:1:1--o1:::11<-<-<-:oo111o44:o::-11-::-1-o1:1-1-::-:1::1:>->-<-::-<--::-<--o111o114o1:::11<-<-<-o11:1<-o44::-11-o1:1<-o

Kolakoski sequence

58-bytes Kolakoski sequence generator by User:Blashyrkh:

1O1::-:1--::OO(/(/::-1-::-1:>O)\-(/::-1-::-1::-:1--:>O)\-)

Quine

1737-bytes Quine by User:Blashyrkh:

::4>:14>:14>:4>:4>:1>:4>:11>:14>:1>:1>:111>:411>:41>:141>:4>:4>:1>:14>:14>:4>:4>:1>:4>:11>:14>:1>:1>:4>:111>:41>:4>:114>:44>:4>:4>:1>:4>:14>:1>:1>:111>:414>:144>:41>:411>:141>:4>:4>:4>:1>:11>:1>:141>:4>:1>:4>:144>:41>:141>:4>:4>:1>:4>:14>:14>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:14>:1>:141>:4>:1>:4>:144>:41>:141>:14>:4>:4>:1>:4>:11>:14>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:11>:11>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:11>:114>:44>:144>:41>:4>:4>:4>:1>:11>:14>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:14>:114>:44>:144>:41>:4>:4>:4>:1>:14>:11>:1>:141>:4>:1>:4>:144>:41>:141>:4>:4>:1>:11>:4>:11>:4>:41>:1>:44>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:14>:14>:1>:141>:4>:1>:4>:144>:41>:141>:4>:4>:1>:4>:11>:4>:4>:14>:41>:41>:1>:44>:1>:44>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:11>:11>:11>:1>:141>:4>:1>:4>:144>:41>:141>:111>:44>:144>:41>:4>:4>:4>:1>:11>:11>:14>:1>:141>:4>:1>:4>:144>:41>:141>:4>:4>:1>:4>:14>:1>:4>:11>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:11>:14>:11>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:14>:14>:4>:4>:1>:11>:4>:4>:1>:14>:1>:1>:111>:44>:144>:41>:4>:4>:4>:1>:11>:14>:14>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:14>:4>:4>:1>:4>:14>:14>:1>:4>:41>:1>:44>:1>:111>:44>:144>:41>:4>:4>:4>:1>:14>:11>:11>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:14>:11>:4>:4>:1>:11>:1>:111>:44>:144>:41>:4>:4>:4>:1>:14>:11>:14>:1>:141>:4>:1>:4>:144>:41>:141>:4>:1>:14>:11>:111>:44>:144>:41>:414>:44::-:14--o(>/::-44::-:14--:o>:O<::-:4--o)\>(/:::-1-/:-:\>/::-:44--o<\>:::-4-/:-:\>/4::-:14--o<\>:::-11-/:-:\>/:-1O<\>:::-14-/:-:\>/:-4O<\>:::-41-/:-:\>/::-1:1:>-<--o<\>:::-44-/:-:\>/::-:1::4>>-<-<--o<\>:::-111-/:-:\>/o<\>:::-114-/:-:\>/::-:4-:1--o<\>:::-141-/:-:\>/:-44::-1::-4--o<\>:::-144-/:-:\>/:-4::-:44-:>-<-o<\>:::-411-/:-:\>/:-41::-1-o<\>:::-414-/:-:\>/:-41o<\>)

Turing completeness proof

14 is Turing-complete because it is able to simulate three cell bf. Every program must start with :::. The following table is applicable:

Proof
bf 14
, i
. o
< <
> >
[ (/
] )\
- ::-1-
+ ::-:1--

41

41 is 14, but with more commands and 41 as a constant

Instructions
Symbol What they do
0 Pop a, push 10a. If empty, push 0.
1 If previous symbol is 4, pop and push 41. Else, push 1.
2 - 9 [n] Push n.
: Duplicates top of stack. If empty, push 0.
+ Pops a and b, and pushes b+a. If there's only one element, no-op. If the stack is empty, push 0.
- Pops a and b, and pushes b-a. If there's only one element, negate. If the stack is empty, push 0.
* Pops a and b, and pushes b*a. If there's less than two elements, push 0.
' Pops a and b, and pushes b//a. If there's less than two elements on the stack or if a=0, push 0.
/ Skips all instructions (except the matching \) if top of stack is 0. if top of stack is empty, interpret as 0
\ Stop skipping instructions.
( No-op
) Go back to the matching (
i Push input. EOF = null
u Pop.
o Output ascii.
n Output number.
> Rotate stack right.
< Rotate stack left.
g Get an instruction, push it. Outside returns null.
p Pop a and b, put b in position a.
m Pop a, move to a.
b - f Push hex codes to stack
q Pop a, enqueue a.
r Dequeue a, push a.
l Push length of the stack.
s If this is called once, pop and store in the accumulator. Call it again, clear and push the accumulator.
" Toggle string mode.
! Pop a. If a=0, push 1. Else, push 0

Basic components

Print text

"Text here!"10o" Newlines are represented as “10o”"l:>(sqs1-/)\u(sros1-/)\u

If else block

True is 1, false is 0.

!!/
   ::-/
       If block
      \
   u
  \
!/
  ::-/
      Else block
     \
  u

Examples

99 Bottles of Beer

9b*(
    :n"elttob "oooooo1-
       /
        "s"o
       \
    1+",llaw eht no reeb fo "ooooooooooooooooooooo10o
    :n"elttob "oooooo1-
       /
        "s"o
       \
    ",reeb fo  "ooooooooo10o",dnuora ti ssap ,nwod "oooooooooooooooooooooo
       /
        :n"elttob "oooooo1-
           /
            "s"o
           \
        1+",llaw eht no reeb fo "ooooooooooooooooooooo10:oo
   )
       \
"No more bottles of beer on the wall!"l:>(sqs1-/)\u(sros1-/)\u

(Cheating) quine

0(:g/o1+)

Deadfish interpreter

0s(i/:"i"-!/s1+s\:"d"-!/s1-s\:"s"-!/s:*s\:"o"-!/s:ns10o\8:4**s:s-!/s:-s\u1s:s+!/s:-s\u)

FizzBuzz

1(::3'3*-!/"zziF"oooo\q::5'5*-!/"zzuB"oooo\r+!/>:n<\u1+10o:1001+-/u)

Implementations