From b84ed4f563b3536365f7d3cc4d068407e98685b3 Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Sat, 20 Jun 2026 22:53:50 +0200 Subject: It's a revolution baby. --- doc/0/index.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 doc/0/index.md (limited to 'doc/0/index.md') 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. -- cgit v1.2.3