diff --git a/README.md b/README.md index 2b419ca5..f926d820 100644 --- a/README.md +++ b/README.md @@ -58,16 +58,16 @@ Example Programs Cyclone provides several example programs, including: -- [Game of Life](examples/game-of-life) - The [game of life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) example program and libraries from R7RS. +- [Tail Call Optimization](examples/tail-call-optimization.scm) - A simple example of Scheme tail call optimization; this program runs forever, calling into two mutually recursive functions. + +- [Threading](examples/threading) - Various examples of multi-threaded programs. + +- [Game of Life](examples/game-of-life) - The [Conway's game of life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) example program and libraries from R7RS. - [Game of Life - PNG Image Generator](examples/game-of-life-png) - A modified version of game of life that uses libpng to create an image of each iteration instead of writing it to console. This example also demonstrates basic usage of the C Foreign Function Interface (FFI): -- [Threading](examples/threading) - Various examples of multi-threaded programs. - -- [Tail Call Optimization](examples/tail-call-optimization.scm) - A simple example of Scheme tail call optimization; this program runs forever, calling into two mutually recursive functions. - - Finally, the largest program is the compiler itself. Most of the code is contained in a series of libraries which are used by [`cyclone.scm`](cyclone.scm) and [`icyc.scm`](icyc.scm) to create executables for Cyclone's compiler and interpreter. License