blob: 14fef6d8611b20d600dac4a93272e02a397e7c8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Precedent is an interpreted language that I made without knowing how interpreters work.
As a result, it probably does some really weird and inefficient things! But I wanted to figure it
out for myself.
The basic recursive structure is an evolution of an old idea I had for a boolean logic simulator
I was working on at the time. Essentially, values resolve recursively through functions until hitting literals,
which return themselves.
Everything in precedent is a symbol. Every symbol is either a literal or a key.
A key is either a store()'d symbol, or an internal function. Internal functions
have an implementation defined by eval.c, whereas keys are simply pointers to other
symbols, as stored in a hashtable.
Read the files in doc/ for more specific information, or look at examples/ to see
what the syntax looks like and what's possible.
|