Compositional semantics for new paradigms: probabilistic, hybrid and beyond
Emerging computational paradigms, such as probabilistic and hybrid programming, introduce new primitive operations that often need to be combined with classic programming constructs. However, it still remains a challenge to provide a semantics to these features and their combination in a systematic manner. For this reason, we introduce a generic, monadic framework that allows us to investigate not only which programming features a given paradigm supports, but also on how it can be extended with new constructs. By applying our method to the probabilistic and hybrid case, we list for example all binary program operations they possess, and show precisely when and if important axioms such as commutativity and idempotency hold. Using this framework, we also study the possibility of incorporating notions of failure and non-determinism, and obtain new results on this topic for hybrid and probabilistic programming.
READ FULL TEXT