continue week1 summary, add week2 pages
[lambda.git] / chris_notes
diff --git a/chris_notes b/chris_notes
new file mode 100644 (file)
index 0000000..0f640e1
--- /dev/null
@@ -0,0 +1,87 @@
+
+1. Understanding the meaning(use) of programming languages
+   helps understanding the meaning(use) of natural langauges
+
+      1. Richard Montague. 1970. Universal Grammar. _Theoria_ 34:375--98.
+         "There is in my opinion no important theoretical difference
+         between natural languages and the artificial languages of
+         logicians; indeed, I consider it possible to comprehend the
+         syntax and semantics of both kinds of languages within a
+         single natural and mathematically precise theory."
+
+      2. Similarities: 
+
+         Function/argument structure: 
+             f(x)    
+             kill(it)
+         pronominal binding: 
+             x := x + 1
+             John is his own worst enemy
+         Quantification:
+             foreach x in [1..10] print x
+             Print every number from 1 to 10
+
+      3. Possible differences:
+
+         Parentheses:
+             3 * (4 + 7)
+             ?It was four plus seven that John computed 3 multiplied by
+             (compare: John computed 3 multiplied by four plus seven)
+         Ambiguity:
+             3 * 4 + 7
+             Time flies like and arrow, fruit flies like a banana.
+         Vagueness:
+             3 * 4
+             A cloud near the mountain
+         Unbounded numbers of distinct pronouns:
+             f(x1) + f(x2) + f(x3) + ...
+             He saw her put it in ...
+             [In ASL, dividing up the signing space...]
+         
+         
+2. Standard methods in linguistics are limited.
+
+   1. First-order predicate calculus
+
+        Invented for reasoning about mathematics (Frege's quantification)
+
+        Alethic, order insensitive: phi & psi == psi & phi
+        But: John left and Mary left too /= Mary left too and John left
+
+   2. Simply-typed lambda calculus 
+
+        Can't express the Y combinator
+
+
+3. Meaning is computation.
+
+   1. Semantics is programming 
+
+   2. Good programming is good semantics
+
+      1. Example 
+
+         1. Programming technique
+
+            Exceptions
+              throw (raise)
+              catch (handle)
+
+         2. Application to linguistics
+              presupposition
+              expressives
+
+              Develop application:
+                fn application
+                divide by zero
+                test and repair
+                raise and handle
+
+                fn application
+                presupposition failure
+                build into meaning of innocent predicates?
+                expressives
+                throw
+                handle
+                resume computation