summaryrefslogtreecommitdiff
path: root/doc/0/index.md
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2026-06-20 22:53:50 +0200
committerTaylan Kammer <taylan.kammer@gmail.com>2026-06-20 22:53:50 +0200
commitb84ed4f563b3536365f7d3cc4d068407e98685b3 (patch)
tree9ab7b18d712db1329b6230cb45520e7c85dc46fd /doc/0/index.md
parentbfaa74b19fc81dbe071d55566a78a8e329237eff (diff)
It's a revolution baby.HEADmaster
Diffstat (limited to 'doc/0/index.md')
-rw-r--r--doc/0/index.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/doc/0/index.md b/doc/0/index.md
new file mode 100644
index 0000000..f0da216
--- /dev/null
+++ b/doc/0/index.md
@@ -0,0 +1,34 @@
+# Chapter 0: Genesis
+
+This chapter explains the core value representation of Zisp, and goes
+through the processes of parsing, decoding, running, and optionally
+compiling code.
+
+0. [Value](0-value.html)
+
+ Zisp uses a uniform 64-bit representation for all values, densely
+ packed into signaling or non-canonical NaN values.
+
+1. [Parse](1-parse.html) (see also [grammar](grammar/))
+
+ The parser receives a stream of bytes and transforms them into a
+ minimal set of data types with very little processing.
+
+2. [Decode](2-decode.html)
+
+ The decoder runs configurable and extensible pre-processing steps
+ over data received from the parser, enriching it with more complex
+ value types, and handling primitive source code transforms.
+
+3. [Eval](3-eval.html)
+
+ Code is evaluated within a mutable module context, on which it can
+ have side effects such as creating new definitions or establishing
+ links to other modules.
+
+4. [Compile](4-compile.html)
+
+ Procedures from within the compiler module can be used to demand
+ the compilation of other modules, with various options, yielding
+ static or dynamic object files. These may be loaded immediately,
+ replacing the previously uncompiled module code in memory.