summaryrefslogtreecommitdiff
path: root/examples/gfcc
diff options
context:
space:
mode:
authoraarne <unknown>2004-09-26 16:36:13 +0000
committeraarne <unknown>2004-09-26 16:36:13 +0000
commit901a62e0618de1d3c3c5182dab4336b23414480d (patch)
treee795a415c1126a635bfc7f2075fd39842d428888 /examples/gfcc
parentee213edb8849a985b61f4ef735ce06e6a01aad70 (diff)
hoas
Diffstat (limited to 'examples/gfcc')
-rw-r--r--examples/gfcc/complin.tex11
1 files changed, 11 insertions, 0 deletions
diff --git a/examples/gfcc/complin.tex b/examples/gfcc/complin.tex
index 324c97e11..accad0bda 100644
--- a/examples/gfcc/complin.tex
+++ b/examples/gfcc/complin.tex
@@ -304,6 +304,17 @@ Here is an example of a piece of code and its abstract syntax.
The details of expression and type
syntax will be explained in the next section.
+Our binding syntax is more liberal than C's in two ways.
+First,
+lambda calculus permits overshadowing previous bindings
+by new ones, e.g. to write \verb6\x -> (\x -> f x)6.
+The corresponding overshadowing of declarations is not
+legal in C, within one and the same block.
+Secondly, we allow declarations anywhere in a block,
+not just in the beginning.
+The second deviation would be easy to mend, whereas
+the first one is inherent to the method of \HOAS.
+
\subsection{Types and expressions}