Is it
=? or is it is a esolang based on a tree of equal questions with nodes. and as its creator Yayimhere said to himself one day: this is the f*cking sold of object oriented esolangs. although he thinks has was wrong there
overview:
basically you make a tree to print stuff
nodes
to create a node there is written:
《name of node》
the origin node(s as there can be multiple of them) is written:
「value of node」
the value of a node can be a integer, float or user input which(in all cases)are written:
₪
to name a origin node you write:
「value of node」《name of node》
to make a node on runtime you write:
㈜
this node can have a node it will by attached to by typing
《㈜》⇐condition⇒node1
if you want to add a node in a stream together you type:
starting name number(if left empty will be 1 and can't be node)← 《㈜》⇐condition⇒node1 →number of nodes(can be set to node. will give error if not set) |operations of all nodes|
to connect to the last of these nodes you write:
㈜³《condition》node2
to add a operation to node you can write:
《name of node》|operations|
the operations are:
symbol | description |
---|---|
⁓ | add together the inputted values from nodes(adds the 2 lowest numbers that has not been added yet. if there is only 1 value then add it together with itself) |
‗ | the reverse of ⁓. the lowest value minus the highest value of the 2 lowest values from nodes |
⟱ | push current operations value onto node stack |
⟰ | pop top of stack |
⋥ | pop top of stack to use as a value |
⟗ | reverse the stack |
⤰ | put in front of any of the above operations to use on the two top elements of the stack |
‿…⁀ | loop whats inside the rotated brackets until total stack sum is equal to lowest inputted node |
to print the stack inside of these operations you write:
ℤ
to print a spesific node that this node is connected to you write:
《〈⟨what you want to print. can be operations⟩〉》
and if you want to reference current operations value you type:
≢
connections
to connect nodes you write:
node1 <condition to send to node2> node2
these conditions written here. all of these are equal too conditions:
symbols | description |
---|---|
A=? | is A(your value you want to test if input is equal too) equal to value getting through last node |
A=! | A=? but its is not equal too |
A=‽ | always sends through the value(is is it equal to A or is it not equal to A. if any is true send through |
# | put in instead of A to use top stack value |
⁅…⁆ | use node operations on value from node |
↹ | equal to node before it(gives error if there is no node behind it) |
⟕ | and |
⟖ | or |
⟖⟕ | and or |
⦕…⦖ | loop whats inside the A brackets until node2 is 0 |
to connect node 2 to all behind nodes(with the same condition)you write:
⌬<conditions>node2
output
to set a node to output you write:
《nodename》⬠output type⬡
these types are:
symbol | description |
---|---|
𝄡 | output as string(unicode) |
none | if left with no symbol just returns number |
🌀 | list |
examples
multiplication:
「₪」《value1》//node to multiply by 「₪」《value2》//node to multiply 《print》⬠⬡ 1← 《㈜》⇐1=‽⇒value2 →value2 |~| ㈜³《1=‽》
notes
- =? runs in close to multithreaded. it runs each collumn at the same time(if you made it into a visual tree) but else not
- =? does not have error messages. it sends what line and place it got and error. then it replaces the thing that made a error with the char aciociated with it unicode char. these below are errors:
char | meaning |
---|---|
ⅈ | integer function on non integer |
ℕ | writing nonsense(or unknown char) |
ⅅ | writing things where they should not be. |
Truth-machine:
「₪」《input》 《one》|‿《〈⟨1⟩〉》⁀| 《output》⬠⬡ input <1=?> one input <1=?> output