From 0428419c267e47cfff76c7024e2964b2c6448ac6 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 27 Mar 2016 17:51:35 -0700 Subject: 2814 --- index.html | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'index.html') diff --git a/index.html b/index.html index 22b1f99c..1f72e0d6 100644 --- a/index.html +++ b/index.html @@ -38,8 +38,8 @@ single function or 'recipe'. print primitives that inject a screen dependency which can be faked for testing.
  • static_dispatch.mu: example -program showing mu's ability to define recipes with headers, and allow recipes -with the same name but different headers to coexist. +program showing mu's ability to define functions with headers, and allow +functions with the same name but different headers to coexist.
  • chessboard.mu: a little program for 2 people to play chess, with thorough tests of its behavior including both screen and keyboard handling. @@ -67,21 +67,21 @@ facts about our program, and for 010vm.cc: core data structures: recipes -(functions), instructions and reagents (operands). +

    010vm.cc: core data structures: +functions, instructions and reagents (operands).
    011load.cc: the textual representation -of recipes and how it's turned into the data structures. +of functions and how it's turned into the data structures.
    012transform.cc: after Mu programs are loaded but before they are run they can be transformed in an extensible manner akin to lisp macros. Think of this as the core of Mu's ‘compiler’ for providing high-level features atop the core.
    013update_operation.cc: -our first transform: check for unknown recipes before the program runs. +our first transform: check for unknown functions before the program runs.
    014literal_string.cc: extend the loader to support literal strings in various instructions.
    015literal_noninteger.cc: extend the loader to support non-integer numbers. -
    020run.cc: executing Mu recipes by +
    020run.cc: executing Mu functions by executing the list of instructions they contain. Future layers will define more primitive operations that can be used in instructions.
    021check_instruction.cc: @@ -100,20 +100,20 @@ layers of indirection to Mu data. are bounds-checked.
    033exclusive_container.cc: tagged unions or sum types. -
    034call.cc: calls to recipes look +
    034call.cc: calls to functions look just like primitive operations.
    035call_ingredient.cc: how -recipes pass arguments or 'ingredients' without introducing any syntax and -breaking the metaphor of recipes as lists of instructions. -
    036call_reply.cc: recipes can +functions pass arguments or 'ingredients' without introducing any syntax and +breaking the metaphor of functions as lists of instructions. +
    036call_reply.cc: functions can return arbitrary numbers of values to their callers.
    037new.cc: rudimentary memory allocator that is aware of all global types in any Mu program. -
    061recipe.cc: passing recipes around -as first-class values in higher-order functions. +
    061recipe.cc: passing functions +around as first-class values in higher-order functions.
    062scheduler.cc: running multiple -recipes concurrently using routines that might execute in interleaved -fashion. +functions concurrently using routines that might execute in +interleaved fashion.
    063wait.cc: primitives for synchronization between routines. @@ -140,7 +140,7 @@ might go away as well. Global variables are currently not checked as rigorously as the rest of the type system.
    047check_type_by_name.cc: a simple transform to deduce missing types in instructions on the basis of -previous instructions in the same recipe. +previous instructions in the same function.
    050scenario.cc: Mu's first syntax — not for code but for tests. (example)
    052tangle.cc: support for layers in @@ -152,15 +152,15 @@ a new syntax for representing complex types as trees using whitespace and parentheses (s-expressions); 055recipe_header.cc, a new syntax for introducing ingredients and products with the name of a reagent; 056static_dispatch.cc, allowing -multiple variants of a recipe to coexist with support for different headers; +multiple variants of a function to coexist with support for different headers; 057shape_shifting_container.cc, a new syntax for wildcard type ingredients in containers; and finally 058shape_shifting_recipe.cc, -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. +support for type ingredients in functions. Everytime you call a shape-shifting +function with a new set of types for its type ingredients, it creates a new +variant of the function for you matching those types.
    060immutable.cc, a static analysis to -ensure that recipes never modify anything but their products. +ensure that functions never modify anything but their products.

    998check_type_pointers.cc.html: After all our messing about with types, a final pass to make sure we didn't introduce any invalid types. @@ -256,7 +256,7 @@ golden/expected. Any future changes to the output will then be flagged in red. click on code in a sandbox to open up a drawer containing its trace. The trace can be added to using the stash command, which renders arbitrary data structures using to-text -with the appropriate recipe header. +with the appropriate function header.
    edit/010-errors.mu: support for rendering errors on both the left and in each sandbox.
    edit/011-editor-undo.mu: -- cgit 1.4.1-2-gfad0