[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using continuations to model quantifiers, focus, and coordination



In computer science, the "continuation" of some computation (say, a
function call deep within the bowels of some program) is whatever the
rest of the system is going to do with the results of that computation.
  (The Wikipedia article http://en.wikipedia.org/wiki/Continuation has
an overview and some links.)  One thing you can do with continuations is
rewrite a program in "continuation-passing style": every time you have a
function of n arguments that returns a value to its caller, you can
replace it with a function of n+1 arguments that passes a value to its
last argument.

There is a theory of grammar that maps sentences onto logical functions,
but this theory has trouble handling quantifiers like "everyone",
"someone", and "only".  If I want to parse "Matt spoke", I can treat
"Matt" as an individual and treat "spoke" as a function that maps an
individual onto a truth value (given X, did X speak?).  But if I use the
same system to parse "Everyone spoke", "everyone" is not an individual
but a function in itself (given an individual X and an action Y, did X
do Y?).  Furthermore, if we turn to the sentence "Matt spoke to
everyone", it seems like we need to interpret "everyone" as a function
of another type.

A recent paper by Chris Barker at UCSD has an elegant solution to this
problem: translate this theory of grammar into continuation-passing
style, so that "Matt", too, is a function (given an action Y, did Matt
do Y?).

Some folks on this list might be interested in the paper, for obvious
reasons.

http://www.cs.bham.ac.uk/~hxt/cw04/barker.pdf