X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2Fweek1.mdwn;h=ee5478c254692d4054751c437515f06f7e0ddab9;hp=430cc5dd60b0734eb3c7299faf8e60d053b30b55;hb=b057018533a518fea06b637c2a80889c695a1556;hpb=199d99a994e1801b4ef884bda4cce38470ef6fa1 diff --git a/topics/week1.mdwn b/topics/week1.mdwn index 430cc5dd..ee5478c2 100644 --- a/topics/week1.mdwn +++ b/topics/week1.mdwn @@ -626,16 +626,17 @@ Here is the hierarcy of **values** that we've talked about so far. * Booleans (or truth-values) * Functions: these are not literals, but instead have to be generated by evaluating complex expressions * Containers, including: - * the literals `[]` and `{}` - * Non-empty sequences - * Non-empty sets + * the **literal containers** `[]` and `{}` + * 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 λ 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 λ 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`.