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.
C±±
(Redirected from C Plus Minus Plus Minus)
An esoteric language created by User:SoYouWantMeToDoSomethingButIWont that has only 1 operation: NAND
Syntax
The program is divided into "functions" that are denoted like so:
name { code }
The language automatically calculated needed amount of arguments. An expression can be one of the following:
| Name | Syntax | Info | Meaning |
|---|---|---|---|
| NAND Gate | '.' a b |
a and b are expressions | Calculates NAND of a and b |
| Argument | x |
x is a lower-case english letter | Becomes a value passed to the function. |
| Operation | o a... |
o is a punctuation symbol, a... are N expressions that o requires | Calls the function with N arguments |
| Assignment | '=' K v |
K is a upper-case english letter and v is an expression | Creates a local binding |
| Binding | X |
X is an upper-case english letter | Value of a local binding |
| Chain | a ';' b |
a and b are expressions | Calculates both, but returns the latter |
| Tuple | a ',' b |
a and b are expressions | Creates a tuple of a and b |
| Selector | n a |
n is an integer and a is an expression | Returns the nth element of tuple a |
Comments span from // to the end of a line
Program
At the start, the last function defined is called and the user is prompted with the arguments required to calculate the function and then the result is outputted.
Example
~{.aa} // Not
&{~.ab} // And
|{.~a~b} // Or
^{..a~a.b~b} // Xor
/{&ab,^ab} // Half-Adder
+{=C/ab;=D/0Cc;0D,|1D1C} // Full 1-bit Adder
TODO
Implementations
Currently, there are none.