The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Composing monads using coproducts
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Template meta-programming for Haskell
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Modular monadic semantics and compilation
Modular monadic semantics and compilation
Achieving Information Flow Security through Precise Control of Effects
CSFW '05 Proceedings of the 18th IEEE workshop on Computer Security Foundations
Programming monads operationally with Unimo
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Programming in Haskell
Generic models for computational effects
Theoretical Computer Science - Logic, language, information and computation
Modular and generic programming with interpreterlib
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Journal of Functional Programming
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Monad factory: type-indexed monads
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Hi-index | 0.00 |
Monads as an organizing principle for programming and semantics are notoriously difficult to grasp, yet they are a central and powerful abstraction in Haskell. This paper introduces a domain-specific language, MonadLab, that simplifies the construction of monads, and describes its implementation in Template Haskell. MonadLab makes monad construction truly first class, meaning that arcane theoretical issues with respect to monad transformers are completely hidden from the programmer. The motivation behind the design of MonadLab is to make monadic programming in Haskell simpler while providing a tool for non-Haskell experts that will assist them in understanding this powerful abstraction.