summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2023-02-16 14:42:40 -0800
committerKai Stevenson <kai@kaistevenson.com>2023-02-16 14:42:40 -0800
commita2063489b84cbc47bd51aee761b3c5dd35e0195f (patch)
tree22076e3394bb27dd66238286cd9d963c9aae2a27 /README
parent05540fc6038f452f5dc5f18412c918c33ad96027 (diff)
updated readme
Diffstat (limited to 'README')
-rw-r--r--README16
1 files changed, 15 insertions, 1 deletions
diff --git a/README b/README
index 9111412..14fef6d 100644
--- a/README
+++ b/README
@@ -1 +1,15 @@
-Attempt to make a programming language of some sort
+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.