=,-&~

From Esolang
Jump to navigation Jump to search

=,-&~ is an esolang made by User:AmNow. =,-&~ makes the code look like a lot of dashes.

Commands

Command Description
- Push 0.
= Add 1 to the top stack element.
Add 10 to the top stack element.
~ Add 100 to the top stack element.
Negate the top stack element.
Move bottom most value up.
-- Move top most value down.
-= Pop.
-≡ Swap the top stack element with that immediately below it.
-~ Duplicate the top stack element.
-∽ If the top value of the stack is 0, jump past matching -∸.
-∸ If the top value of the stack is not 0, jump back to matching -∽.
=- Plus. Take two numbers, add them, and push the result unto the stack.
== Minus. Take two numbers, subtract them, and push the result unto the stack.
=≡ Multiply. Take two numbers, multiply them, and push the result unto the stack.
=~ Divide. Take two numbers, divide them, and push the result unto the stack.
=∽ Input as a number.
=∸ Input as a Unicode character and push its ID.
≡- Output the top stack element as a number and pop it.
≡= Output the top stack element as a Unicode character and pop it.

Each two commands must be separated by at least one space.

Programs

Truth-machine

=∽ -∽ -~ ≡- -∸ ≡-

Cat program

An infinitely repeating cat program is implemented in the following:

=∸ -~ ≡= -∽ =∸ -~ ≡= -∸

Fibonacci sequence

The following program produces a Fibonacci sequence generator, permitting the user to specify how many members of the same shall be created:

=∽ - -~ ≡- - ≡ ≡ ≡ = = ≡= - = -~ ≡- - ≡ ≡ ≡ = = ≡= -~ -- =- -~ ≡- - ≡ ≡ ≡ = = ≡= ∸ - = ∸ == -∽ -- -≡ -~ -- =- -~ ≡- - ≡ ≡ ≡ = = ≡= -- - = -≡ == -∸

Computational Class

=,-&~ is Turing Complete, as it can simulate BF.

BF =,-&~
+  =
-  ∽ = ∽
<  ∸
>  --
.  -~ ≡=
,  -= =∸
[  -∽
]  -∸

Interpreter

  • Common Lisp implementation of the =,-&~ programming language. Please note that the concrete character set deployed constitutes a dependency on the Common Lisp implementation; in corollary, Unicode support may or may not be a feature incorporated in the personal environment. The interpreter at hand has been developed and tested with Steel Bank Common Lisp (SBCL) version 1.1.4 as part of the Lisp Cabinet 0.3.5 bundle.