Nybble
Nybble is an esolang created by user:helpeesl on April 20th 2025 and is really complex.
commands
0
This command is always followed by another 0 and prints each 6 character chunk as Unicode until it hits a new line and stops
1
This command is able to be followed by anything and is for input
10-13
This is for inputting strings into var x
10 for neg neg var
11 for neg pos var
12 for pos neg var
13 for pos pos var
14-17
This is for inputting real integers into var x
14 for neg neg var
15 for neg pos var
16 for pos neg var
17 for pos pos var
18-1B
This is for inputting Gaussian fractional numbers into var x
18 for neg neg var
19 for neg pos var
1A for pos neg var
1B for pos pos var
1C-1F
This is for inputting Gaussian integers into var x
1C for neg neg var
1D for neg pos var
1E for pos neg var
1F for pos pos var
2
This command is the same as 1 but for output
3
This command sets a var to something else
First input is a number so not covering
So let’s see the 2nd input
3…0/4/8/C000
Regular old 0
3…1/5/9/D000
The variable at the number
3…2/6/A/E000
A fractional number
3…3/7/B/F000
A complex number
4
This command is the same as 3 but the var x gets set to x+y
5
This command gets the next var
50-53
The input gets reversed
54-5F
The input gets multiplied by -1
6
This command is the same as 4 but the var x gets set to x*y
7
This command gets the next input
70-73
This command is the same as 5
74-7F
The input is taken to the power of -1
8
This command checks if var x is less than var y and saves it to var z as a 1 if its true and -1 if its false
9
This command is the same as 8 but it saves the maximum of var x and var y to var z
A
This command is the same as 9 but it’s the minimum of x and y
B
This command is a goto
It goes to the xth nybble if var y is above 0
B0/4/8/C000
Regular old 0
B1/5/9/D000
The variable at the number
B2/6/A/E000
A fractional number
B3/7/B/F000
A complex number
C
This command sets var x to e^var x
D
This command is the reverse of C
E
This command is the trig functions
E0-E3
E0 is Sin(var x)
E1 is Cos(var x)
E2 is Tan(var x)
E3 is Sin(var x)/Cos(var y)
E4-E7
E4 is ASin(var x)
E5 is ACos(var x)
E6 is ATan(var x)
E7 is ATan2(var x,var y)
E8-EB
E8 is Sinc(var x)
E9 is Cosc(var x)
EA is Tanc(var x)
EB is Sinc(var x)/Cosc(var y)
EC-EF
EC is ASinc(var x)
ED is ACosc(var x)
EE is ATanc(var x)
EF is ATanc2(var x,var y)
F
This command is the same as E but for the hyperbolic trig functions
Variables
Variables work as follows
Strings
In Nybble Strings are numbers that don’t have infinity as a concept and are stored as Unicode
Diagram of a number
XYZZZZZZZWW……WWVUUUUUUUTT……TT
X-type and sign
Y-small length
Z-long length
W-number
V-Frac small length
U-Frac long length
T-number’s fractional part non-zero LSD-MSD
Real numbers
Real numbers are numbers where they don’t have an imaginary part and are the integers
They have a limit of 4^18446744073709551616 on both sides and when the number reaches it it turns to positive infinity if positive and negative infinity if negative
Fractional numbers
Fractional numbers are like complex numbers but they have a special part at the end of the number that is the fractional part of the number, in complex base four, reversed and if the fractional part gets to 4^18446744073709551616 or more that part’s fractional part gets set to 0 and that part’s integer part gets increased by 1
Complex numbers
Complex numbers are the same as the real numbers, but they do have an imaginary part
If any part goes above or gets to 4^18446744073709551616 or goes below or gets to -(4^18446744073709551616) that part gets set to its closest infinity
Infinities
In Nybble there are 3 infinities per axis for a total of 9 infinities
Positive infinities
In Nybble positive infinities are either
Real positive infinity: value is 1/0
True positive infinity: value is (1+i/0)
Imaginary positive infinity: value is i/0
Neutral infinities
In Nybble neutral infinities are either
Negative chaotic infinity: value is (-1+i)/0
Infinity proper: value is 0/0
Positive chaotic infinity: value is (i-1)/0
Negative infinities
In Nybble negative infinities are either
Real negative infinity: value is -1/0
True negative infinity: value is (-1-i)/0
Imaginary negative infinity: value is -i/0
Programs
Hello, world!
0000004800006500006C00006C00006F00002C00002000007700006F00007200006C00006400002100000A
Cat
1000020000
Counter interrupted by 1
This is in two lines for better visibility
3C000C0004C000F00050013C000D000C0003D000C000F00050012C0000 000000A2D000C0000000000A8F0005000D000C000F009BF000700AF009
Truth machine
17010187001F000F00240018F000F00070014002A40014002400327001B4003F000F0112
Other stuff
It’s Turing complete because you could theoretically make a BCT interpreter in it, although it’s really hard to do. Each program must be an integer amount of bytes to work. You can divide by 0 in Nybble. Also:
- Multiplying
- Exponentiating
- Taking the log
- Doing trig
- Checking size to numbers
- Adding to a number
- Goto
from strings or to strings doesn’t work.
Also, I upgraded it Nybble v2
Infinity part 2
Infinity*0=Infinity Proper
The Infinity Power Cycle
-C<+I<+T v ^ -R +R v ^ -T>-I>+C