Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur GraphSearch.
Programming with monads can be advantageous even in imperative languages with builtin support for side effects. However, in these languages composing monadic programs is different from composing side effecting imperative programs. This does not need to be the case, as already noticed by Filinski [1994]. We revive the well-known technique of monadic reflection in the context of modern programming languages with support for fibers, generators, or coroutines. In particular, we show how (layered) monadic reflection can be implemented in a stack safe manner and how effect safety can conveniently be approximated by capability passing.
Martin Odersky, Michel Schinz, Vincent Cremet, Burak Emir, Stéphane Micheloud, Nikolay Mihaylov, Matthias Zenger, Philippe Altherr
Martin Odersky, Gilles Dubochet, Michel Schinz, Vincent Cremet, Burak Emir, Iulian Dragos, Stéphane Micheloud, Nikolay Mihaylov, Matthias Zenger, Philippe Altherr