A Question of Protocol
Jump to navigation
Jump to search
A Question of Protocol is a esolang created by User:Yayimhere where its all just substacks, n' more substacks, yea stacks are very use full when nested for some reason
syntax
these are the commands:
$x: pop top of stack. if empty goto line x#: push substack to stack}: move the top of the stack to the bottom of the stack and{rotates the other way=: push a sub-substack to the top substack of the stack(x):=but with nesting x(x[y]):!ybut with nesting x!x: pop the top of the top substack. if empty goto line x*: run top of stack as a macro also popping ith: halt%: duplicate top of stack^: print top of stack as an ascii char(see ints) also popping it?: print but user INPUT
all nesting values start at the outermost stack(just the stack) has a value of 0
macros
(here i will be using python's list format where the end of the list is the front of the stack)
this is the structure(in a substack):
[[[cmd1][[arg1][arg2]...]][[cmd2][[arg1][arg2]...]]]
where each cmd i run in order.
here numbers are represented with how many stacks there are in a substack. so for 5 it would be [][][][][]. here are the commands:
$x: cmd(nesting number): 2, arg1: x#: cmd: 1}: cmd: 3}: cmd: 5=: cmd: 7(x): cmd: 4, arg1: x(x[y]): cmd: 6, arg1: x, arg2: y!x: cmd: 8, arg1: x*: cmd: 9h: cmd: 11%: cmd: 13
computational class
A Question of Protocol is turing complete since it can simulate a Minsky machine:
- the code must start with
## }to swap between registers!xto decrement. if at 0 will go to x=to increment
ints
ints can be represented like this:
- lets say we have int n
- as a substack with n many lists in it
- now we have a integer
example
$0
or using macros:
#=(3)(3)(3)(3)(3)(3)(3)(3)(3)=(3)(3)(3)(3)(3)(3)(3)%*
which creates macro:
%*