From 00b6e7be50487a25a1d96ec239f04271f0be53a6 Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Wed, 15 Sep 2010 22:40:51 -0400 Subject: [PATCH] week1: fix markup processing? Signed-off-by: Jim Pryor --- week1.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/week1.mdwn b/week1.mdwn index 5ae3e65f..36ebdfcc 100644 --- a/week1.mdwn +++ b/week1.mdwn @@ -39,6 +39,24 @@ Basics of Lambda Calculus The lambda calculus we'll be focusing on for the first part of the course has no types. (Some prefer to say it instead has a single type---but if you say that, you have to say that functions from this type to this type also belong to this type. Which is weird.) +Here is its syntax: + +
+Variables: x, y, z... +
+ +Each variable is an expression. For any expressions M and N and variable a, the following are also expressions: + +
+Abstract: (λa M) +
+ +We'll tend to write (λa M) as just `(\a M)`, so we don't have to write out the markup code for the λ. You can yourself write (λa M) or `(\a M)` or `(lambda a M)`. + +
+Application: (M N) +
+ Some authors reserve the term "term" for just variables and abstracts. We'll probably just say "term" and "expression" indiscriminately for expressions of any of these three forms. Examples of expressions: -- 2.11.0