+
+Montague's PTQ treatment of DPs as generalized quantifiers
+----------------------------------------------------------
+
+We've hinted that Montague's treatment of DPs as generalized
+quantifiers embodies the spirit of continuations (see de Groote 2001,
+Barker 2002 for lengthy discussion). Let's see why.
+
+First, we'll need a type constructor. As we've said,
+Montague replaced individual-denoting determiner phrases (with type `e`)
+with generalized quantifiers (with [extensional] type `(e -> t) -> t`.
+In particular, the denotation of a proper name like *John*, which
+might originally denote a object `j` of type `e`, came to denote a
+generalized quantifier `fun pred -> pred j` of type `(e -> t) -> t`.
+Let's write a general function that will map individuals into their
+corresponding generalized quantifier:
+
+ gqize (a : e) = fun (p : e -> t) -> p a
+
+This function is what Partee 1987 calls LIFT, and it would be
+reasonable to use it here, but we will avoid that name, given that we
+use that word to refer to other functions.
+
+This function wraps up an individual in a box. That is to say,
+we are in the presence of a monad. The type constructor, the unit and
+the bind follow naturally. We've done this enough times that we won't
+belabor the construction of the bind function, the derivation is
+highly similar to the List monad just given:
+
+ type 'a continuation = ('a -> 'b) -> 'b
+ c_unit (a : 'a) = fun (p : 'a -> 'b) -> p a
+ c_bind (u : ('a -> 'b) -> 'b) (f : 'a -> ('c -> 'd) -> 'd) : ('c -> 'd) -> 'd =
+ fun (k : 'a -> 'b) -> u (fun (a : 'a) -> f a k)
+
+Note that `c_unit` is exactly the `gqize` function that Montague used
+to lift individuals into the continuation monad.
+
+That last bit in `c_bind` looks familiar---we just saw something like
+it in the List monad. How similar is it to the List monad? Let's
+examine the type constructor and the terms from the list monad derived
+above:
+
+ type ('a, 'b) list' = ('a -> 'b -> 'b) -> 'b -> 'b
+ let l'_unit a = fun k z -> k a z
+
+This can be eta-reduced to:
+
+ let l'_unit a = fun k -> k a
+
+and:
+
+ let l'_bind u f =
+ (* we mentioned three versions of this, the fully eta-expanded: *)
+ fun k z -> u (fun a b -> f a k b) z
+ (* an intermediate version, and the fully eta-reduced: *)
+ fun k -> u (fun a -> f a k)
+
+Consider the most eta-reduced versions of `l'_unit` and `l'_bind`. They're the same as the unit and bind for the Montague continuation monad! In other words, the behavior of our v3-list monad and the behavior of the continuations monad are
+parallel in a deep sense.
+
+Have we really discovered that lists are secretly continuations? Or
+have we merely found a way of simulating lists using list
+continuations? Well, strictly speaking, what we have done is shown
+that one particular implementation of lists---the right fold
+implementation---gives rise to a continuation monad fairly naturally,
+and that this monad can reproduce the behavior of the standard list
+monad. But what about other list implementations? Do they give rise
+to monads that can be understood in terms of continuations?
+
+