Difference between revisions of "WG211/M15Ostermann"
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | ''Variability-Aware Programming'' by Klaus Ostermann | + | ''A Library for Probabilistic and Variability-Aware Programming '' by Klaus Ostermann |
− | I will present a library for variability-aware programming, that is, a library to support programs that deal with variability described by logical (propositional) formulas. The library's key abstraction is a pair of functions | + | I will present a library for probabilistic and variability-aware programming, that is, a library to support programs that deal with variability either described by discrete probability distributions or by logical (propositional) formulas. The library's key abstraction is a pair of functions, "reflect" and "reify", that turn a variable program into an ordinary program and vice versa. I argue that a library like this will be useful to implement probabilistic and variability-aware algorithms, such as type checkers or evaluators for software product lines. The library is written in Racket and uses delimited continuations to reflect over the monadic effects of the variability monad. I will also talk about probabilistic and variability-aware data structures and the role of lazy evaluation. |
Latest revision as of 11:59, 5 November 2015
A Library for Probabilistic and Variability-Aware Programming by Klaus Ostermann
I will present a library for probabilistic and variability-aware programming, that is, a library to support programs that deal with variability either described by discrete probability distributions or by logical (propositional) formulas. The library's key abstraction is a pair of functions, "reflect" and "reify", that turn a variable program into an ordinary program and vice versa. I argue that a library like this will be useful to implement probabilistic and variability-aware algorithms, such as type checkers or evaluators for software product lines. The library is written in Racket and uses delimited continuations to reflect over the monadic effects of the variability monad. I will also talk about probabilistic and variability-aware data structures and the role of lazy evaluation.