Zed Language
Zed is a language consisting of a total of 32 distinct symbols. A program consists of commands, as well as nested loops, scopes, threads, variables, and functions. Each scope has a single stack of which infinite signed long numbers may be added to. A memory value is also present.
Labels may be used for definitions or calls.
Symbol |
Action
|
+ |
Increment Memory By 1
|
- |
Decrement Memory By 1
|
? |
Pop From Stack
|
! |
Push To Stack
|
% |
Get Stack Size
|
. |
Output Unicode Character
|
, |
Input Unicode Character
|
: |
Restart Execution
|
; |
Complete Execution
|
* |
Delay Milliseconds
|
< |
Initiate New Thread
|
> |
End Thread
|
( |
Repeat Equal to Value or Variable
|
) |
End Repeat or Variable
|
[ |
Repeat Until 0 or Function
|
] |
End Repeat or Function
|
{ |
New Scope Block
|
} |
End Scope Block
|
# |
Export Memory To Child Scope
|
& |
Import Memory From Parent Scope
|
/ |
Max Long Value
|
\ |
Reset Memory Value
|
= |
Modify Execution Position
|
" |
Get Execution Position
|
' |
Set Execution Position
|
~ |
Opposite of Value
|
` |
Exit Program
|
$ |
Toggle Debug Mode
|
@ |
Get Scope Depth
|
| |
Get Milliseconds Since
|
^ |
Access Parent Scope
|
_ |
Access Child Scope
|
Variables, scopes, and threads are computed immediately. Functions are saved. A function call runs that bit on the current scope. A scope call becomes the current scope. Variable calls replace the value.
This language is a work in progress, but here are some of the very programs that work on the fully functional Java interpreter.
Program |
Description
|
++++((+))+.+.+. |
Print ABC
|
+[,!]?%(?.) |
Reverse Input
|
dbl[(+)] ++++dbl dbl dbl dbl+.+.+. |
Function Example
|