tweak week1
authorJim <jim.pryor@nyu.edu>
Sun, 1 Feb 2015 18:06:57 +0000 (13:06 -0500)
committerJim <jim.pryor@nyu.edu>
Sun, 1 Feb 2015 18:06:57 +0000 (13:06 -0500)
topics/week1.mdwn

index 7f717d9..ee5478c 100644 (file)
@@ -627,15 +627,16 @@ Here is the hierarcy of **values** that we've talked about so far.
         *   Functions: these are not literals, but instead have to be generated by evaluating complex expressions
     *   Containers, including:
         *   the **literal containers** `[]` and `{}`
-        *   Non-empty sequences
-        *   Non-empty sets
+        *   Non-empty sequences, built using `&`
+        *   Non-empty sets, built using `&`
         *   Tuples proper and other containers, to be introduced later
 
 We've also talked about a variety of **expressions** in our language, that evaluate down to various values (if their evaluation doesn't "crash" or otherwise go awry). These include:
 
 *   All of the literal atoms and literal containers
 *   Variables
-*   Various complex expressions, built using `&` or &lambda; or `let` or `letrec` or `case`
+*   Complex expressions that apply `&` or some variable understood to be bound to a function to some arguments
+*   Various other complex expressions involving &lambda; or `let` or `letrec` or `case`
 
 The special syntaxes `[10, 20, 30]` are just shorthand for the more offical syntax using `&` and `[]`, and likewise for `{10, 20, 30}`. The `if ... then ... else ...` syntax is just shorthand for a `case`-construction using the literal patterns `'true` and `'false`.