15-212: Principles of Programming
Combinators are functions of functions, that is, higher-order
functions used to combine functions. One example is ML's compositon
The basic idea is to think at the level of functions, rather than at the level of values returned by those functions. Combinators are defined using the pointwise principle. Currying makes this easy in ML.
We first discuss combinators of functions of type
int. Then we discuss rewriting our regular expression matcher
using combinators. We using staging. The regular expression pattern
matching is in one stage, the character functions are in another.
[ CS 15-212 Home page | schedule | language | assignments | handouts ]