Nybble

From Esolang
Jump to navigation Jump to search

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