diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-07-29 15:55:05 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-07-29 15:55:05 -0700 |
commit | 9570363aec35e187e2395b1760a4b94e71580ac9 (patch) | |
tree | 5b0d9cf65b5d5a403ab29e88535ba158efb276fe /index.html | |
parent | b318b7fb127a2bdf3e394b315a45d339dc738447 (diff) | |
download | mu-9570363aec35e187e2395b1760a4b94e71580ac9.tar.gz |
1885
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 45 |
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 ‘local variables’ 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 +— 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 -— 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 |