Skip to content

Commit

Permalink
Merge pull request #43 from billhails/docs-readme
Browse files Browse the repository at this point in the history
README in docs as index
  • Loading branch information
billhails authored Jan 22, 2024
2 parents 1b7a100 + 24cae5b commit 5282001
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ variables local to a function are directly accessible on the stack, and
closures and continuations are snapshots of stack frames. It additionally
makes use of fast lexical addressing (an implementation of
[De Bruijn Indexing](https://en.wikipedia.org/wiki/De_Bruijn_index)) for
added efficiency gains. It also sports an implementation of Hindley-Milner
added efficiency gains and an implementation of Hindley-Milner
Algorithm W for strict implicit type checking.

I'm hoping that I can reproduce [the F♮ language I once implemented
in Python](https://github.com/billhails/PyScheme), but as a standalone
binary with reasonable performance.

If you want to stick around, maybe start by reading [the wiki]([wiki](https://github.com/billhails/CEKF/wiki)), then maybe [the math](docs/MATH.md)
If you want to stick around, maybe start by reading
[the wiki]([wiki](https://github.com/billhails/CEKF/wiki)),
then maybe [the math](docs/MATH.md)
and comparing that with its implementation in [`step.c`](src/step.c), or
start at [`main.c`](src/main.c) where you can see it currently constructs
some expressions manually, then gives them to the machine to evaluate.
Expand Down
12 changes: 12 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Random bits of documentation

* [ANF](ANF.md) A-Normalization
* [LEXICAL ADDRESSING](LEXICAL_ADDRESSING.md) De-Bruijn indexing for fast variable look up.
* [MACROS](MACROS.md) initial thoughts on a simple macro system.
* [MATCH](MATCH.md) initial notes on the `match` and `cond` internal (lambda) constructs.
* [MATH](MATH.md) description of the CEKF runtime.
* [PRINT](PRINT.md) notes on the print system.
* [TODO](TODO.md) TODO list.
* [TYPES](TYPES.md) extensive notes on Algorithm W.
* [V2](V2.md) description of the switch from tree-walker to bytecode interpreter.
* [lambda conversion](lambda-conversion.md) initial thoughts on what became the TPMC.

0 comments on commit 5282001

Please sign in to comment.