summaryrefslogtreecommitdiff
path: root/html/index.md
blob: 94620f2120510e8da8c4cd44ad6e2db4509b4f52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Zisp: 21st-century Scheme-inspired language

Zisp is my experimental toy language inspired by Scheme.  The idea is
that it's a modern "re-imagining" of what Scheme may have been had it
been invented today, and had it been designed with pragmatic use as a
primary concern in its design.

This language doesn't actually exist yet.  You are merely reading the
ramblings of a madman.  A little bit of code is here already though:

[Source code](https://git.tkammer.de/zisp/)

Some of the following articles are quite insightful.  Others are VERY
rambly; you've been warned.

Some are outdated with regards to the actual implementation of Zisp,
because writing the code often gives you yet another perspective.

* [Compilation is execution](notes/compile.html)
* [Everything can be serialized](notes/serialize.html)
* [Symbols are strings](notes/symbols.html)
* [Stop the "cons" madness!](notes/cons.html)
* [A little bit of syntax sugar never hurt anyone](notes/sugar.html)
* [More immutability](notes/immutable.html)
* [No shadowing, and fewer `let` forms](notes/let.html)
* [Return zero values](notes/zero-values.html)
* [Strict mode: Can't ignore returned values](notes/strict-mode.html)
* [Only Booleans have truthiness](notes/booleans.html)
* [Record types](notes/records.html)
* [Object-oriented programming](notes/oop.html)
* [Equality and equivalence semantics](notes/equal.html)
* [NaN-packing](notes/nan.html)
* [Reader? Decoder? I barely know 'er!](notes/reader.html)
* [Does the decoder implement macros?](notes/macros.html)
* [Better syntax-rules?](notes/sr.html)
* [Cons cell optimization?](notes/fastcons.html)