How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Introduction to higher order categorical logic
Introduction to higher order categorical logic
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Continuation-passing, closure-passing style
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The definition of Standard ML
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
A functional theory of exceptions
Science of Computer Programming
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Typing first-class continuations in ML
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An introduction to functional programming
An introduction to functional programming
ML for the working programmer
Is there a use for linear logic?
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Research topics in functional programming
Assignments for applicative languages
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
The Coherence of Languages with Intersection Types
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Syntactic Control of Inference, Part 2
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Using category theory to design implicit conversions and generic operators
Semantics-Directed Compiler Generation, Proceedings of a Workshop
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Lambda: The Ultimate Imperative
Lambda: The Ultimate Imperative
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Call by name, assignment, and the lambda calculus
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A system of constructor classes: overloading and implicit higher-order polymorphism
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Delimiting the scope of effects
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
FUDGETS: a graphical user interface in a lazy functional language
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
A functional theory of local names
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Building interpreters by composing monads
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Isolating side effects in sequential languages
POPL '95 Proceedings of the 22nd 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
First-class schedules and virtual maps
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Interprocedural register allocation for lazy functional languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integration of functional and logic programming
ACM Computing Surveys (CSUR)
Imperative functional programming
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Using parameterized signatures to express modular structure
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tools for functional simulation
WSC '93 Proceedings of the 25th conference on Winter simulation
Compositional references for stateful functional programming
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Implementing bit-addressing with specialization
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Structuring graphical paradigms in TkGofer
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
ACM Computing Surveys (CSUR)
Rolling your own mutable ADT—a connection between linear types and monads
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
First-class polymorphism with type inference
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Correctness of monadic state: an imperative call-by-need calculus
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A systematic study of functional language implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Foundations for partial evaluation of functional programs with computational effects
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Taming effects with monadic typing
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The marriage of effects and monads
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Programming with variable functions
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Imperative streams—a monadic combinator library for synchronous programming
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A compositional account of the Java virtual machine
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation
IEEE Transactions on Software Engineering
Optimizing Queries with Object Updates
Journal of Intelligent Information Systems - Special issue on functional approach to intelligent information systems
DSL implementation using staging and monads
Proceedings of the 2nd conference on Domain-specific languages
Proceedings of the 2nd conference on Domain-specific languages
Deriving backtracking monad transformers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Continuations for parallel logic programming
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Stochastic lambda calculus and monads of probability distributions
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
A semantical approach to method-call interception
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
A framework for flexible evolution in distributed heterogeneous systems
Proceedings of the International Workshop on Principles of Software Evolution
Search-based binding time analysis using type-directed pruning
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
Monads for incremental computing
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
From program languages to software languages
Journal of Systems and Software - Special issue on artificial and computational intelligence for decisions, control, and automation in engineering and industrial applications
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
Enhancing Functional and Irregular Parallelism: Stateful Functions and their Semantics
International Journal of Parallel Programming
The dual of substitution is redecoration
Trends in functional programming
Safe and Principled Language Interoperation
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
An Operational Investigation of the CPS Hierarchy
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
From Macros to Reusable Generative Programming
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Practical Aspects for a Working Compile Time Garbage Collection System for Mercury
Proceedings of the 17th International Conference on Logic Programming
Typed Combinators for Generic Traversal
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Object Protocols as Functional Parsers
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
A Formal Approach to Probabilistic Termination
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Calculating Functional Programs
Revised Lectures from the International Summer School and Workshop on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
Parallel Programming by Transformation
Euro-Par '99 Proceedings of the 5th International Euro-Par Conference on Parallel Processing
Directions in Functional Programming for Real(-Time) Applications
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Extensions: A Technique for Structuring Functional-Logic Programs
PSI '99 Proceedings of the Third International Andrei Ershov Memorial Conference on Perspectives of System Informatics
From Hilbert Spaces to Dilbert Spaces: Context Semantics Made Simple
FST TCS '02 Proceedings of the 22nd Conference Kanpur on Foundations of Software Technology and Theoretical Computer Science
A Language Prototyping Tool Based on Semantic Building Blocks
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
A Module Based Analysis for Memory Reuse in Mercury
CL '00 Proceedings of the First International Conference on Computational Logic
Interactive Programs in Dependent Type Theory
Proceedings of the 14th Annual Conference of the EACSL on Computer Science Logic
Concurrent Monadic Interfacing
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
Fine Control of Demand in Haskell
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Calculating functional programs
Algebraic and coalgebraic methods in the mathematics of program construction
Recursion schemes from comonads
Nordic Journal of Computing
Modular development of interpreters from semantic building blocks
Nordic Journal of Computing
Functional programming concepts and straight-line programs in computer algebra
Mathematics and Computers in Simulation
Modularity in the new millenium: a panel summary
Proceedings of the 25th International Conference on Software Engineering
A functional correspondence between evaluators and abstract machines
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
From dynamic binding to state via modal possibility
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
A computational formalization for partial evaluation
Mathematical Structures in Computer Science
Type checking dependent (record) types and subtyping
Journal of Functional Programming
A study of evaluation order semantics in expressions with side effects
Journal of Functional Programming
Monadic encapsulation of effects: a revised approach (extended version)
Journal of Functional Programming
A tutorial on the universality and expressiveness of fold
Journal of Functional Programming
Transparent optimisation of rewriting combinators
Journal of Functional Programming
Efficient graph algorithms using lazy monolithic arrays
Journal of Functional Programming
Journal of Functional Programming
Computational types from a logical perspective
Journal of Functional Programming
Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function?
Journal of Functional Programming
A new method for functional arrays
Journal of Functional Programming
Syntactic composition of top-down tree transducers is short cut fusion
Mathematical Structures in Computer Science
Logic programming in the context of multiparadigm programming: the Oz experience
Theory and Practice of Logic Programming
Correctness of data representations involving heap data structures
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular Monadic Program Slicing
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Monadification of functional programs
Science of Computer Programming - Special issue on program transformation
ACM SIGPLAN Notices
Shared memory multiprocessor support for functional array processing in SAC
Journal of Functional Programming
Monadic concurrent linear logic programming
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Journal of Functional Programming
Monadic augment and generalised short cut fusion
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
The logic of demand in Haskell
Journal of Functional Programming
Subtext: uncovering the simplicity of programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A monadic approach for avoiding code duplication when staging memoized functions
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Continuations and transducer composition
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
ACM SIGPLAN Notices
Modelling deterministic concurrent I/O
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Eliminating distinctions of class: using prototypes to model virtual classes
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
SAC: a functional array language for efficient multi-threaded execution
International Journal of Parallel Programming
Theoretical Computer Science - Applied semantics: Selected topics
Higher order Programming in Java: Introspection, Subsumption and Extraction
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P 2004)
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
On the relations between monadic semantics
Theoretical Computer Science
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Lowering: a static optimization technique for transparent functional reactivity
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Creating a portable programming language using open source software
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Constructive Membership Predicates as Index Types
Electronic Notes in Theoretical Computer Science (ENTCS)
DSL implementation using staging and monads
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
Practical generic programming in OCaml
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Compound monads in specification languages
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
A Rewriting Logic Approach to Operational Semantics (Extended Abstract)
Electronic Notes in Theoretical Computer Science (ENTCS)
The "art" of programming gossip-based systems
ACM SIGOPS Operating Systems Review - Gossip-based computer networking
Declarative Debugging Meets the World
Electronic Notes in Theoretical Computer Science (ENTCS)
Verified Safety and Information Flow of a Block Device
Electronic Notes in Theoretical Computer Science (ENTCS)
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Functional translation of a calculus of capabilities
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Making monads first-class with template haskell
Proceedings of the first ACM SIGPLAN symposium on Haskell
Asynchronous Exceptions as an Effect
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Asymptotic Improvement of Computations over Free Monads
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Verifiable functional purity in java
Proceedings of the 15th ACM conference on Computer and communications security
Bidirectionalization for free! (Pearl)
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Designing aspects for side-effect localization
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
A rewriting logic approach to operational semantics
Information and Computation
Methods as Parameters: A Preprocessing Approach to Higher Order in Java
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Term transformers: A new approach to state
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular development of certified program verifiers with a proof assistant1,2
Journal of Functional Programming
The worker/wrapper transformation
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
Functional metamodels for systems and software
Journal of Systems and Software
Writing Composable Software with InterpreterLib
SC '09 Proceedings of the 8th International Conference on Software Composition
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Embedded Probabilistic Programming
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Free theorems involving type constructor classes: functional pearl
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
A Hoare Logic for the State Monad
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Directing JavaScript with arrows
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Achieving information flow security through monadic control of effects
Journal of Computer Security - 18th IEEE Computer Security Foundations Symposium (CSF 18)
Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality
Electronic Notes in Theoretical Computer Science (ENTCS)
ML Module Mania: A Type-Safe, Separately Compiled, Extensible Interpreter
Electronic Notes in Theoretical Computer Science (ENTCS)
EffectiveAdvice: disciplined advice with explicit effects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
A new one-pass transformation into monadic normal form
CC'03 Proceedings of the 12th international conference on Compiler construction
Dynamically adaptable software with metacomputations in a staged language
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Formalising generalised substitutions
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
HOL2P - a system of classical higher order logic with second order polymorphism
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Type-directed weaving of aspects for polymorphically typed functional languages
Science of Computer Programming
Dartmouth internet security testbed (DIST: building a campus-wide wireless testbed
CSET'09 Proceedings of the 2nd conference on Cyber security experimentation and test
An agenda for concern-oriented software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
Monad transformers as monoid transformers
Theoretical Computer Science
Cartesian effect categories are Freyd-categories
Journal of Symbolic Computation
The rewriting logic semantics project: a progress report
FCT'11 Proceedings of the 18th international conference on Fundamentals of computation theory
Lightweight monadic programming in ML
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Monads, zippers and views: virtualizing the monad stack
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Monad factory: type-indexed monads
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Monatron: an extensible monad transformer library
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
The essence of dataflow programming
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Towards frabjous: a two-level system for functional reactive agent-based epidemic simulation
Proceedings of the 2nd ACM SIGHIT International Health Informatics Symposium
Explicitly typed exceptions for haskell
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
Type-safe two-level data transformation
FM'06 Proceedings of the 14th international conference on Formal Methods
Probabilistic compositional reasoning for guaranteeing fault tolerance properties
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
FP'95 Proceedings of the 1995 international conference on Functional Programming
An algebraic basis for specifying and enforcing access control in security systems
IW-FM'00 Proceedings of the 4th Irish conference on Formal Methods
Facilitating modular property-preserving extensions of programming languages
IW-FM'98 Proceedings of the 2nd Irish conference on Formal Methods
Modular composition of language features through extensions of semantic language models
IW-FM'99 Proceedings of the 3rd Irish conference on Formal Methods
Reagents: expressing and composing fine-grained concurrency
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Side-effect localization for lazy, purely functional languages via aspects
Higher-Order and Symbolic Computation
A pattern for almost homomorphic functions
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming
Wormholes: introducing effects to FRP
Proceedings of the 2012 Haskell Symposium
Functional programming with structured graphs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Operational semantics using the partiality monad
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Automatic amortised analysis of dynamic memory allocation for lazy functional programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Methods as Parameters: A Preprocessing Approach to Higher Order in Java
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Higher order Programming in Java: Introspection, Subsumption and Extraction
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P 2004)
Tor: extensible search with hookable disjunction
Proceedings of the 14th symposium on Principles and practice of declarative programming
Socio-PLT: principles for programming language adoption
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Abstract syntax graphs for domain specific languages
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
The sequential semantics of producer effect systems
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Understanding privacy policies
Empirical Software Engineering
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Causality of optimized Haskell: what is burning our cycles?
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Extensible effects: an alternative to monad transformers
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Object-oriented programming: Some history, and challenges for the next fifty years
Information and Computation
The rewriting logic semantics project: A progress report
Information and Computation
Hi-index | 0.00 |
This paper explores the use monads to structure functionalprograms. No prior knowledge of monads or category theory isrequired.Monads increase the ease with which programs may be modified.They can mimic the effect of impure features such as exceptions,state, and continuations; and also provide effects not easilyachieved with such features. The types of a program reflect whicheffects occur.The first section is an extended example of the use of monads. Asimple interpreter is modified to support various extra features:error messages, state, output, and non-deterministic choice. Thesecond section describes the relation between monads and thecontinuation-passing style. The third section sketches how monadsare used in a compiler for Haskell that is written in Haskell.