Surprisingly, we can write non-deterministic programs in an ML-like language just as naturally and elegantly as in the functional-logic language Curry – ML’s call-by-value and the lack of support for monads notwithstanding. The key idea is to forget about (the popular conception of) monads and to write non-deterministic computations in a small, tagless-final embedded DSL, with ML playing the role of the `preprocessor’. The DSL turns out surprisingly small, essentially first-order – compensated by the richness of the Meta Language.
Thu 7 Sep Times are displayed in time zone: (GMT+01:00) Greenwich Mean Time : Belfast change
|16:50 - 17:15|
|17:15 - 17:40|