(Enter summary)
Abstract: How can we integrate interaction into a purely declarative language? This tutorial describes a solution to this problem based on a monad. The solution has been implemented in the functional language Haskell and the declarative language Escher. Comparisons are given to other approaches to interaction based on synchronous streams, continuations, linear logic, and side effects. (Update)
Cited by: More
Unknown - (2000)
(Correct)
Functional Programming Languages for Verification.. - Leucker, Noll.. (2001)
(Correct)
A Logical Framework for the Specification of Transactions - Extended Version..
(Correct)
Active bibliography (related documents): More All
0.6: Graphical Application and Visualization of Lazy Functional.. - Foubister (1995)
(Correct)
0.4: An Operational Semantics for I/O in a Lazy Functional Language - Gordon (1993)
(Correct)
0.4: Value Recursion in Monadic Computations - Erkok (2002)
(Correct)
Similar documents based on text: More All
0.1: Functional Pearls: A Poor Man's Concurrency Monad - Claessen (1999)
(Correct)
0.1: Monadic Parser Combinators - Hutton, Meijer (1996)
(Correct)
0.1: Rational Mechanics and Natural Mathematics - Pratt (1995)
(Correct)
Related documents from co-citation: More All
16: Monads for functional programming
- Wadler - 1993
16: The essence of functional programming
- Wadler - 1992
12: Curry: An Integrated Functional Logic Language (context) - Hanus - 1999
BibTeX entry: (Update)
P. Wadler. How to declare an imperative (invited talk). In International Logic Programming Symposium, Portland, Oregon, December 1995. MIT Press. http://citeseer.ist.psu.edu/wadler95how.html More
@article{ wadler97how,
author = "Philip Wadler",
title = "How to declare an imperative",
journal = "ACM Computing Surveys",
volume = "29",
number = "3",
pages = "240--263",
year = "1997",
url = "citeseer.ist.psu.edu/wadler95how.html" }
Citations (may not include all citations):
1074
The Definition of Standard ML (context) - Milner, Tofte et al. - 1997
1074
The Definition of Standard ML (context) - Milner, Tofte et al. - 1990
982
Theoretical Computer Science (context) - Girard, logic - 1987
562
Categories for the Working Mathematician (context) - Lane - 1971
419
A formulation of the simple theory of types (context) - Church - 1940 DBLP
369
Information and Computation (context) - Moggi, computation - 1991 DBLP
362
ML for the Working Programmer (context) - Paulson - 1991 ACM
333
Introduction to Functional Programming (context) - Bird, Wadler - 1987
293
The essence of functional programming
- Wadler - 1992 ACM DBLP
291
Computational lambda-calculus and monads
- Moggi - 1989
291
Theoretical Computer Science (context) - Lafont, abstract - 1988 ACM
283
Theoretical Computer Science (context) - Plotkin, call-by-value et al. - 1975 ACM
254
Comprehending monads
- Wadler - 1990 ACM DBLP
244
Imperative functional programming
- Jones, Wadler - 1993 ACM DBLP
233
Computational interpretations of linear logic
- Abramsky - 1993 ACM DBLP
184
Linear types can change the world
- Wadler - 1990
129
A system of constructor classes: overloading and implicit hi..
- Jones - 1993 DBLP
120
Monad transformers and modular interpreters
- Liang, Hudak et al. - 1995 ACM DBLP
101
Lazy functional state threads
- Launchbury, Jones - 1994
87
Concurrent Haskell
- Jones, Gordon et al. - 1996
86
A correspondence between ALGOL 60 and Church's lambda notati.. (context) - Landin - 1965
84
Consciousness Explained (context) - Dennett - 1991
69
Higher-order extensions to Prolog --- are they needed (context) - Warren - 1981
67
Representing monads
- Filinski - 1994 ACM DBLP
65
How to replace failure by a list of successes (context) - Wadler - 1985 ACM
62
How to declare an imperative
- Wadler - 1995 ACM DBLP
61
Conventional and uniqueness typing in graph rewrite systems
- Barendsen, Smetsers - 1993 ACM DBLP
61
Detecting global variables in denotational specifications (context) - Schmidt - 1985 ACM DBLP
54
Building interpreters by composing monads
- Steele - 1994 ACM DBLP
48
Merging monads and folds for functional programming
- Meijer, Jeuring - 1995 ACM DBLP
45
Declarative programming in Escher
- Lloyd - 1995 ACM
43
A taste of linear logic
- Wadler - 1993 ACM DBLP
41
The design of a pretty-printing library
- Hughes - 1995 ACM DBLP
38
Functional programming with overloading and higher-order pol..
- Jones - 1995 ACM DBLP
38
and the lambda calculus (context) - Odersky, Rabin et al. - 1993
37
A generic account of continuation-passing styles
- Hatcliff, Danvy - 1994 ACM DBLP
32
Single-threaded polymorphic lambda calculus (context) - Guzman, Hudak - 1990 DBLP
30
Distinguished dissertations in computer science (context) - Gordon, programming et al. - 1993
28
Functional parsers
- Fokker - 1995 ACM DBLP
26
Science of Computer Programming (context) - Spivey, theory et al. - 1990
25
Higher-order functions considered unnecessary for higher-ord..
- Goguen - 1990 ACM
24
Lisp and Symbolic Computation (context) - Reynolds, of - 1993
23
A reflection on call-by-value
- Sabry, Wadler - 1996 ACM DBLP
23
Lazy imperative programming
- Launchbury - 1993
22
Monadic State: Axiomatization and Type Safety
- Launchbury, Sabry - 1997
21
A linear functional language (context) - Holmstrom - 1988
21
Combining monads
- King, Wadler - 1992 ACM DBLP
19
The ins and outs of Clean I/O
- Achten, Plasmeijer - 1995 DBLP
16
Structuring depth-first search algorithms in Haskell
- King, Launchbury - 1995 ACM DBLP
15
Message-based functional operating systems (context) - Stoye - 1986 ACM DBLP
15
Springer Verlag (context) - Barr, Wells et al. - 1985
14
the expressiveness of purely functional I/O systems
- Hudak, Sundaresh - 1989
11
a non-strict purely-functional programming language (context) - Peterson, Hammond et al. - 1996
10
Lisp and Symbolic Computation (context) - Wadler, composable - 1994
8
a non-strict purely-functional programming language (context) - Hudak, Jones et al. - 1992
7
Graph algorithms with a functional flavour (context) - Launchbury - 1995
6
Rolling your own mutable ADT --- a connection between linear..
- Chen, Hudak - 1997
6
The Glasgow Haskell compiler: a retrospective (context) - Hall, Hammond et al. - 1992 DBLP
3
A brief walk through KAOS (context) - Cupitt - 1989
2
and Inter-language Calling for Functional Languages (context) - Perry - 1989
1
Experiences with Clean I/O (context) - Jones - 1995 DBLP
1
Available by ftp from ftp (context) - Jones, implementation - 1994
1
Research report YALE/DCS/RR (context) - Jones, Duponcheel et al. - 1993
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www.cs.chalmers.se/~rjmh/AFP/overview.html): More
The Design of a Pretty-printing Library - Hughes (1995)
(Correct)
Modular Domain Specific Languages and Tools - Hudak (1998)
(Correct)
Heap Profiling of Lazy Functional Programs - Runciman, Wakeling (1993)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC