diff options
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/index.html b/index.html index e4909263..66788595 100644 --- a/index.html +++ b/index.html @@ -93,12 +93,13 @@ and <a href='html/025compare.cc.html'>comparing values</a>. operations to help with testing and debugging. <p/><a href='html/030container.cc.html'>030container.cc</a>: Mu supports -compound types akin to records, structs or classes. +compound types called<em>containers</em> akin to records, structs or classes. <br/><a href='html/031address.cc.html'>031address.cc</a>: adding and removing layers of indirection to Mu data. <br/><a href='html/032array.cc.html'>032array.cc</a>: all Mu data structures are bounds-checked. -<br/><a href='html/033exclusive_container.cc.html'>033exclusive_container.cc</a>: tagged unions or sum types. +<br/><a href='html/033exclusive_container.cc.html'>033exclusive_container.cc</a>: +tagged unions or sum types. <br/><a href='html/034call.cc.html'>034call.cc</a>: calls to recipes look just like primitive operations. <br/><a href='html/035call_ingredient.cc.html'>035call_ingredient.cc</a>: how @@ -145,16 +146,16 @@ previous instructions in the same recipe. <br/><a href='html/052tangle.cc.html'>052tangle.cc</a>: support for layers in Mu programs. They've been so good to us. <br/>Support for <em>shape-shifting</em> or generic data structures that can -contain <em>type ingredients</em>: <a href='html/054dilated_reagent.cc.html'>054dilated_reagent.cc</a>, -a new syntax for allowing whitespace in types; <a href='html/055parse_tree.cc.html'>055parse_tree.cc</a>, +contain <em>type ingredients</em>: <a href='html/053dilated_reagent.cc.html'>053dilated_reagent.cc</a>, +a new syntax for allowing whitespace in types; <a href='html/054parse_tree.cc.html'>054parse_tree.cc</a>, a new syntax for representing complex types as trees using whitespace and -parentheses (s-expressions); <a href='html/056recipe_header.cc.html'>056recipe_header.cc</a>, +parentheses (s-expressions); <a href='html/055recipe_header.cc.html'>055recipe_header.cc</a>, a new syntax for introducing ingredients and products with the name of a reagent; -<a href='html/057static_dispatch.cc.html'>057static_dispatch.cc</a>, allowing +<a href='html/056static_dispatch.cc.html'>056static_dispatch.cc</a>, allowing multiple variants of a recipe to coexist with support for different headers; -<a href='html/058shape_shifting_container.cc.html'>058shape_shifting_container.cc</a>, +<a href='html/057shape_shifting_container.cc.html'>057shape_shifting_container.cc</a>, a new syntax for wildcard <em>type ingredients</em> in containers; and finally -<a href='html/059shape_shifting_recipe.cc.html'>059shape_shifting_recipe.cc</a>, +<a href='html/058shape_shifting_recipe.cc.html'>058shape_shifting_recipe.cc</a>, support for type ingredients in recipes. Everytime you call a shape-shifting recipe with a new set of types for its type ingredients, it creates a new variant of the recipe for you matching those types. @@ -173,17 +174,24 @@ use in previous layers. <p/><a href='html/070text.mu.html'>070text.mu</a>: strings in Mu are bounds-checked rather than null-terminated. They're also unicode-aware (code points only; no control characters, no combining characters, no normalization). -<br/><a href='html/071channel.mu.html'>071channel.mu</a>: channels are Mu's +<br/><a href='html/071rewrite_stash.cc.html'>071rewrite_stash.cc</a>: a +convenience when debugging is the ability to add variables to the trace using +the <span style='font-family:courier,fixed'>stash</span> command. By default +<span style='font-family:courier,fixed'>stash</span> just prints out the +locations in memory, one by one. To extend its display format specific types, +define a function called <span style='font-family:courier,fixed'>to-text</span> +with the appropriate ingredient type, returning a Mu string. +<br/><a href='html/072channel.mu.html'>072channel.mu</a>: channels are Mu's 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/072array.mu.html'>072array.mu</a> -<br/><a href='html/073list.mu.html'>073list.mu</a>: linked lists where each +<br/><a href='html/073array.mu.html'>073array.mu</a> +<br/><a href='html/074list.mu.html'>074list.mu</a>: linked lists where each node points to the next, permitting fast insertion/deletion but slow for search. -<br/><a href='html/074random.cc.html'>074random.cc</a> -<br/><a href='html/075duplex_list.mu.html'>075duplex_list.mu</a>: doubly +<br/><a href='html/075random.cc.html'>075random.cc</a> +<br/><a href='html/076duplex_list.mu.html'>076duplex_list.mu</a>: doubly linked lists that can be traversed both forwards and back. -<br/><a href='html/076stream.mu.html'>076stream.mu</a>: data structure to +<br/><a href='html/077stream.mu.html'>077stream.mu</a>: data structure to efficiently append strings. <p><b>Part V</b>: Nascent tools for browsing Mu codebases, and for teaching |