about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-05-26 01:36:13 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-05-26 01:36:18 -0700
commitaf571dd844d9067b029b9dab15c28b3f1cb77b7b (patch)
tree5750471be9c18f07b78451816428cc2d544985cf
parentf6b443065beea62ba9ee1c993560f5dbb7da9273 (diff)
downloadmu-af571dd844d9067b029b9dab15c28b3f1cb77b7b.tar.gz
1462 - blurbs for example programs
-rw-r--r--index.html29
1 files changed, 28 insertions, 1 deletions
diff --git a/index.html b/index.html
index 9a1fa2b6..a02ebadf 100644
--- a/index.html
+++ b/index.html
@@ -13,12 +13,39 @@ Mu's code is structured in an unconventional manner, requiring editors to be
 specially configured to colorize it in a sane manner. Here's how it currently
 looks in my <a href='https://github.com/akkartik/mu/blob/master/mu.vim'>custom setup</a>.
 
+<p>Whetting your appetite: some example programs.
+
+<ul>
+<li><a href='html/x.mu.html'>x.mu</a>: a simple program to add two numbers
+together. Shows that at bottom mu is a simple VM bytecode designed to convert
+directly to machine code.
+<li><a href='html/factorial.mu.html'>factorial.mu</a>: everyone's favorite
+example, showing how mu supports conditionals and loops without any special
+syntax, using the special labels '{' and '}'.
+<li><a href='html/tangle.mu.html'>tangle.mu</a>: another (contrived) version
+of factorial showing mu's ability to 'tangle' code from multiple places into a
+single function or 'recipe'.
+<li><a href='html/counters.mu.html'>counters.mu</a>: lexical scope
+<li><a href='html/callcc.mu.html'>callcc.mu</a>: first-class continuations. Mu
+also supports first-class functions and delimited continuations.
+<li>simple examples showing off support for concurrency: <a href='html/fork.mu.html'>fork.mu</a>,
+<a href='html/channel.mu.html'>channel.mu</a>
+<li>simple examples showing off hardware control: <a href='html/display.mu.html'>display.mu</a>,
+<a href='html/keyboard.mu.html'>keyboard.mu</a>.
+<li><a href='html/screen.mu.html'>screen.mu</a>: example program showing
+print primitives that inject a screen <em>dependency</em> which can be faked
+for testing.
+<li><a href='html/chessboard.mu.html'>chessboard.mu</a>: putting it all
+together, the big kahuna: a complete console program along with thorough tests
+of its behavior including both screen and keyboard handling.
+</ul>
+
 <p><b>Part I</b>: basic infrastructure
 <p/><a href='html/000organization.cc.html'>000organization.cc</a>: the basic
 skeleton program. Compiles and runs but doesn't do much. Later <em>layers</em>
 hook into this skeleton to add functionality. Mu's guarantee: you can <a href='http://youtube.com/watch?v=c8N72t7aScY'>load
 features</a> up until any layer, and it will compile and pass all tests until
-that point.
+that point. <a href='http://akkartik.name/post/wart-layers'>More details &rarr;</a>
 <br/><a href='html/001help.cc.html'>001help.cc</a>: just a simple test layer
 to show how to hook into the skeleton. Also summarizes how to invoke mu,
 behaviors that later layers will be providing.