; Analysis of "Everyone_i thinks he_i left" @@ -41,23 +36,22 @@ Several things to notice: First, pronouns denote identity functions. As Jeremy Kuhn has pointed out, this is related to the fact that in the mapping from the lambda calculus into combinatory logic that we discussed earlier in the course, bound variables translated to I, the -identity combinator. This is a point we'll return to in later -discussions. +identity combinator (see additional comments below). We'll return to +the idea of pronouns as identity functions in later discussions. Second, *g* plays the role of transmitting a binding dependency for an -embedded constituent to a containing constituent. If the sentence had -been *Everyone_i thinks Bill said he_i left*, there would be an -occurrence of *g* in the most deeply embedded clause (*he left*), and -another occurrence of *g* in the next most deeply -embedded constituent (*said he left*), and so on (see below). - -Third, binding is accomplished by applying *z* not to the element that -will (in some pre-theoretic sense) bind the pronoun, here, *everyone*, -but by applying *z* instead to the predicate that will take *everyone* -as an argument, here, *thinks*. The basic recipe in Jacobson's system -is that you transmit the dependence of a pronoun upwards through the -tree using *g* until just before you are about to combine with the -binder, when you finish off with *z*. +embedded constituent to a containing constituent. + +Third, one of the peculiar aspects of Jacobson's system is that +binding is accomplished not by applying *z* to the element that will +(in some pre-theoretic sense) bind the pronoun, here, *everyone*, but +rather by applying *z* instead to the predicate that will take +*everyone* as an argument, here, *thinks*. + +The basic recipe in Jacobson's system, then, is that you transmit the +dependence of a pronoun upwards through the tree using *g* until just +before you are about to combine with the binder, when you finish off +with *z*. (There are examples with longer chains of *g*'s below.) Last week we saw a reader monad for tracking variable assignments: @@ -72,10 +66,10 @@ let shift (c : char) (v : int reader) (u : 'a reader) = let lookup (c : char) : int reader = fun (e : env) -> List.assoc c e;;-(We've used a simplified term for the bind function in order to +(We've used a simplified term for the bind function here in order to emphasize its similarities with Jacboson's geach combinator.) -This monad boxed up a value along with an assignment function, where +This monad boxes up a value along with an assignment function, where an assignemnt function was implemented as a list of `char * int`. The idea is that a list like `[('a', 2); ('b',5)]` associates the variable `'a'` with the value 2, and the variable `'b'` with the value 5. @@ -104,18 +98,10 @@ kind of value that can be linked into a structure is an individual of type `e`. It is easy to make the monad polymorphic in the type of the linked value, which will be necessary to handle, e.g., paycheck pronouns. -Note that in addition to `unit` being Curry's K combinator, this `ap` -is the S combinator. Not coincidentally, recall that the rule for -converting an arbitrary application `M N` into Combinatory Logic is `S -[M] [N]`, where `[M]` is the CL translation of `M` and `[N]` is the CL -translation of `N`. There, as here, the job of `ap` is to take an -argument and make it available for any pronouns (variables) in the two -components of the application. - In the standard reader monad, the environment is an assignment function. Here, instead this monad provides a single value. The idea -is that this is the value that will replace the pronouns linked to it -by the monad. +is that this is the value that will be used to replace the pronoun +linked to it by the monad. Jacobson's *g* combinator is exactly our `lift` operator: it takes a functor and lifts it into the monad. Surely this is more than a coincidence. @@ -248,6 +234,6 @@ the lambda calculus into Combinatory Logic that we studied earlier up translating to I, the identity combinator, just like Jacobson's identity functions for pronouns; abstracts (\a.M) whose body M did not contain any occurrences of the pronoun to be bound translated as KM, -just like our unit, K; and abstracts of the form (\a.MN) translated to -S[\aM][\aN], just like our ap rule. - +just like our unit, which you will recognize as an instance of K; and +abstracts of the form (\a.MN) translated to S[\aM][\aN], just like our +ap rule. -- 2.11.0