about summary refs log tree commit diff stats
path: root/index.html
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-07-29 15:55:05 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-07-29 15:55:05 -0700
commit9570363aec35e187e2395b1760a4b94e71580ac9 (patch)
tree5b0d9cf65b5d5a403ab29e88535ba158efb276fe /index.html
parentb318b7fb127a2bdf3e394b315a45d339dc738447 (diff)
downloadmu-9570363aec35e187e2395b1760a4b94e71580ac9.tar.gz
1885
Diffstat (limited to 'index.html')
-rw-r--r--index.html45
1 files changed, 30 insertions, 15 deletions
diff --git a/index.html b/index.html
index 40aea7b9..422f3a30 100644
--- a/index.html
+++ b/index.html
@@ -35,7 +35,7 @@ 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>.
+<a href='html/console.mu.html'>console.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.
@@ -109,31 +109,34 @@ synchronization between routines.
 
 <p><b>Part III</b>: transforms to provide 80% of the benefits of high-level
 languages.
-<br/><a href='html/040brace.cc.html'>040brace.cc</a>: how mu provides
+<br/><a href='html/040brace.cc.html'>040brace.cc</a> and
+<a href='html/041jump_label.cc.html'>041jump_label.cc</a>: how mu provides
 structured goto-less programming without introducing the syntax of
 conditionals and loops other languages require.
-<br/><a href='html/041name.cc.html'>041name.cc</a>: how mu transforms variable
+<br/><a href='html/042name.cc.html'>042name.cc</a>: how mu transforms variable
 names to raw memory addresses.
-<br/><a href='html/042new.cc.html'>042new.cc</a>: rudimentary memory
+<br/><a href='html/043new.cc.html'>043new.cc</a>: rudimentary memory
 allocator that is aware of all global types in any mu program.
-<br/><a href='html/043space.cc.html'>043space.cc</a>: how variables in
+<br/><a href='html/044space.cc.html'>044space.cc</a>: how variables in
 different routines are isolated from each other using <em>spaces</em>. Mu
 &lsquo;local variables&rsquo; are allocated on the heap.
-<br/><a href='html/044space_surround.cc.html'>044space_surround.cc</a>:
+<br/><a href='html/045space_surround.cc.html'>045space_surround.cc</a>:
 Chaining spaces together to accomodate variables with varying lifetimes and
 ownership properties.
-<br/><a href='html/045closure_name.cc.html'>045closure_name.cc</a>: how spaces
+<br/><a href='html/046closure_name.cc.html'>046closure_name.cc</a>: how spaces
 can implement lexical scope.
-<br/><a href='html/046tangle.cc.html'>046tangle.cc</a>: support for layers in
+<br/><a href='html/047global.cc.html'>047global.cc</a>: support for 'global'
+variables that are always available inside a single routine. Mu has no
+variables that are available transparently across routines.
+<br/><a href='html/048typecheck.cc.html'>048typecheck.cc</a>: a simple
+transformer to insert missing types in instructions.
+<br/><a href='html/050scenario.cc.html'>050scenario.cc</a>: mu's first syntax
+&mdash; not for code but for tests. (<a href='html/051scenario_test.mu.html'>example</a>)
+<br/><a href='html/052tangle.cc.html'>052tangle.cc</a>: support for layers in
 mu programs. They've been so good to us.
-<br/><a href='html/047jump_label.cc.html'>047jump_label.cc</a>: since we have 
-<br/><a href='html/048call_variable.cc.html'>048call_variable.cc</a>:
-higher-order functions.
-<br/><a href='html/049continuation.cc.html'>049continuation.cc</a>:
+<br/><a href='html/053continuation.cc.html'>053continuation.cc</a>:
 first-class and delimited continuations, primitives for yield, exceptions and
 much else besides.
-<br/><a href='html/050scenario.cc.html'>050scenario.cc</a>: mu's first syntax
-&mdash; not for code but for tests. (<a href='html/051scenario_test.mu.html'>example</a>)
 
 <p><b>Part IV</b>: beginnings of a standard library
 <p/><a href='html/060string.mu.html'>060string.mu</a>: strings in mu are
@@ -142,8 +145,14 @@ bounds-checked rather than null-terminated. They're also unicode-aware.
 only synchronization primitive, queues that can cause the routine reading or
 writing from them to stall without taking up CPU resources.
 <br/><a href='html/062array.mu.html'>062array.mu</a>
-<br/><a href='html/063list.mu.html'>063list.mu</a>
+<br/><a href='html/063list.mu.html'>063list.mu</a>: linked lists where each
+node points to the next, permitting fast insertion/deletion but slow for
+search.
 <br/><a href='html/064random.cc.html'>064random.cc</a>
+<br/><a href='html/065duplex_list.mu'>065duplex_list.mu</a>: doubly linked
+lists that can be traversed both forwards and back.
+<br/><a href='html/066stream.mu'>066stream.mu</a>: data structure to
+efficiently append strings.
 
 <p><b>Part V</b>: Nascent tools for browsing mu codebases, and for teaching
 programming to non-programmers by getting them hooked on the value of tests.
@@ -166,6 +175,12 @@ writing tests for keyboard and mouse using the fakes.
 <br/><a href='html/080trace_browser.cc.html'>080trace_browser.cc</a>: a
 zoomable UI for inspecting traces generated by mu programs. Allows both
 scanning a high-level view and drilling down into selective details.
+<br/><a href='html/081run_interactive.cc.html'>081run_interactive.cc</a>:
+hacky primitives for supporting the mu programming environment in <a
+href='html/edit.mu.html'>edit.mu</a>.
+<br/><a href='html/082persist.cc.html'>082persist.cc</a>: more hacky
+primitives for supporting saving/restoring sessions in the mu programming
+environment.
 
 <p/><a href='html/999spaces.cc.html'>Epilogue</a>: maps summarizing various
 address spaces, and the conventions that regulate their use in previous