Nymal

From Esolang
Jump to navigation Jump to search

Nymal is an Esoteric programming language created by User:Buckets in 2022.

Commands Instructions
#"" Push number to The top Stack.
"" Push String to The top Stack.
< Push Input to The top Stack as a String.
> Pop the top Of the stack to The top Stack.
{ Pop the top Of the stack.
} Swap the Top Two Elements.
[ Combine The top two Elements Into One(, by Bottom,Top of its Element Type).
] Go into The top Stack.
+ Adds The top two Elements.
- Subtract thr top two Elements(, by Top - bottom).
\ Divides the top two Elements(, by Top / Bottom).
£ Push Input to The top Stack as A List of Numbers.
x Multiplies the top Two Elements.
m Divides to two Elements(, by Bottom mod Top).
( Print the Top Element.
) Print the Top Element In a Unicode Character.
/ Halt the Program.
5 If The 2nd top of the stack stack > 1st Top Of The Stack Stack Execute the Next Command else, Do not.
6 If The 2nd top of the stack stack < 1st Top Of The Stack Stack Execute the Next Command else, Do not.
$ If The 2nd top of the stack stack = 1st Top Of The Stack Stack Execute the Next Command else, Skip it.
~ If The 2nd top of the stack stack not = 1st Top Of The Stack Stack Execute the Next Command else, Skip it.
% Go to the Top Elementth Line.
: Push An empty Stack to The Stack and not any Other Stacks.
# Define the Line.
' Rotate The Top Three Elements And Rotate Them Clockwise, Example: {A,B,C} Goes To {C,B,A}.
! Push the 2nd top of the Stack stackth Element of the 1st stack.
@ Execute the Top of the Stack as Code.
= Go out of the Stack.
^ Duplicate the top of the stack.
; Skip the Entire line only Once.
Push The 2nd top of the stack stackth Element of The Stack.
Pop the Stack into Its Elements.
Push the Current Output.
Push The Current stack.

"Hello, World!" Program:

#10 :]"Hello, World!"(/

Cat program:

#10 :]
#20 {<(#"20"%

Truth-machine Program:

#0 ;(/
#1 ;(%
#10 ::]#"0"=}]<$%=}]#"1"=}]$%/

A+B Problem:

#10 :]<<+(/

FizzBuzz Program:

#10 :::]#"3"=}]#"5"='']
#20 {#"1"+(#"1"+("Fizz"({#"1"+
#30 #"1"+("Buzz"({#"1"+"Fizz"({#"1"+
#40 #"1"+(#"1"+("Fizz"({#"1"+
#50 "Buzz"({#"1"+#"1"+("Fizz"({#"1"+
#60 #"1"+(#"1"+("FizzBuzz"({#"1"+#"20"%

Fibonacci sequence:

#10 :]#"1"(#"1"("a"
#20 {^'+(#"20"%

Proof For Turing-completeness( Because it was very easy):

Start: #0 :::]''#"0"'
INC A: #"1"+
INC B: =}]#"1"+=}]
DEC A L1 L2: =}']~#"1"~}~-~#"L1"$#"L2"=''}]% and at #L1 and #L2 >.
DEC B L1 L2: =']~#"1"~}~-~#"L1"$#"L2"=''}]% and at #L1 and L2 >=}].
JMP L: #"L"% and at #L >.