ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Proofs and types
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Polymorphic type inference and assignment
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of theoretical computer science (vol. B)
Notions of computation and monads
Information and Computation
Compiling with continuations
Action semantics
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-theoretical alternative to ISWIM, CUCH, OWHY
Theoretical Computer Science - A collection of contributions in honour of Corrado Bo¨hm on the occasion of his 70th birthday
Higher-order concurrent programs with finite communication topology (extended abstract)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generic account of continuation-passing styles
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
The type and effect discipline
Information and Computation
A syntactic approach to type soundness
Information and Computation
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structuring depth-first search algorithms in Haskell
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principles of programming with complex objects and collection types
ICDT '92 Selected papers of the fourth international conference on Database theory
Simple imperative polymorphism
Lisp and Symbolic Computation - Special issue on state in programming languages (part I)
Proving congruence of bisimulation in functional programming languages
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
Monadic state: axiomatization and type safety
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Bridging the gulf: a common intermediate language for ML and Haskell
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A functional representation of data structures with a hole
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
The marriage of effects and monads
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Handbook of logic in computer science
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
Principles of Program Analysis
Principles of Program Analysis
Syntactic type soundness results for the region calculus
Information and Computation
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
Compiling Haskell by Program Transformation: A Report from the Trenches
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Modular Denotational Semantics for Compiler Construction
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Region Analysis and a pi-Calculus wiht Groups
MFCS '00 Proceedings of the 25th International Symposium on Mathematical Foundations of Computer Science
Extensible Denotational Language Specifications
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Call-by-Push-Value: A Subsuming Paradigm
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
Polymorphic Subtyping for Effect Analysis: The Algorithm
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
Optimizing ML Using a Hierarchy of Monadic Types
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Operational Semantics and Program Equivalence
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
An Intuitionistic Modal Logic with Applications to the Formal Verification of Hardware
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Region Analysis and the Polymorphic Lambda Calculus
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A judgmental reconstruction of modal logic
Mathematical Structures in Computer Science
Implementing collection classes with monads
Mathematical Structures in Computer Science
Monadic encapsulation of effects: a revised approach (extended version)
Journal of Functional Programming
Journal of Functional Programming
Journal of Functional Programming
Computational types from a logical perspective
Journal of Functional Programming
A Semantics For Evaluation Logic
Fundamenta Informaticae
Notions of Computation Determine Monads
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
A Language Prototyping Tool Based on Semantic Building Blocks
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Journal of Functional Programming
Combining effects: sum and tensor
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
Call-by-push-value: Decomposing call-by-value and call-by-name
Higher-Order and Symbolic Computation
Theoretical Computer Science - Applied semantics: Selected topics
Combining algebraic effects with continuations
Theoretical Computer Science
Relational semantics for effect-based program transformations with dynamic allocation
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Comonadic Notions of Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
A model of cooperative threads
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extensional Universal Types for Call-by-Value
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
The Essence of Form Abstraction
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Coherence of subsumption for monadic types
Journal of Functional Programming
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Gabriel–ulmer duality and lawvere theories enriched over a general base
Journal of Functional Programming
Computational Effects and Operations: An Overview
Electronic Notes in Theoretical Computer Science (ENTCS)
Modules over monads and initial semantics
Information and Computation
Intuitionistic refinement calculus
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Adequacy for infinitary algebraic effects
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
Monad transformers as monoid transformers
Theoretical Computer Science
A bottom-up approach to understand functional programs
Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering
Relating computational effects by ⊤⊤-lifting
ICALP'11 Proceedings of the 38th international conference on Automata, languages and programming - Volume Part II
Just do it: simple monadic equational reasoning
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Monatron: an extensible monad transformer library
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Hennessy-Plotkin-Brookes revisited
FSTTCS'06 Proceedings of the 26th international conference on Foundations of Software Technology and Theoretical Computer Science
The essence of dataflow programming
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Reducibility and ⊤⊤-lifting for computation types
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Combining datatypes and effects
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Reading, writing and relations: towards extensional semantics for effect analyses
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Concurrency and the algebraic theory of effects
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Relating computational effects by ττ-lifting
Information and Computation
The sequential semantics of producer effect systems
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Preorders on monads and coalgebraic simulations
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
A parameterized graph transformation calculus for finite graphs with monadic branches
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Parametric effect monads and semantics of effect systems
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
A tension in language design has been between simple semantics on the one hand, and rich possibilities for side-effects, exception handling and so on on the other. The introduction of monads has made a large step towards reconciling these alternatives. First proposed by Moggi as a way of structuring semantic descriptions, they were adopted by Wadler to structure Haskell programs. Monads have been used to solve long-standing problems such as adding pointers and assignment, inter-language working, and exception handling to Haskell, without compromising its purely functional semantics. The course introduces monads, effects, and exemplifies their applications in programming (Haskell) and in compilation (MLj). The course presents typed metalanguages for monads and related categorical notions, and then describes how they can be further refined by introducing effects.