ABSTRACT
This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Achten, P. and Plasmeijer, R. (1995). The ins and outs of clean I/O. Journal of Functional Programming, 5(1):81--110.
|
| |
3
|
|
 |
4
|
|
| |
5
|
|
 |
6
|
Thomas Arts , John Hughes , Joakim Johansson , Ulf Wiger, Testing telecoms software with quviq QuickCheck, Proceedings of the 2006 ACM SIGPLAN workshop on Erlang, September 16-16, 2006, Portland, Oregon, USA
[doi> 10.1145/1159789.1159792]
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
Barendsen, E. and Smetsers, S. (1996). Uniqueness typing for functional languages with graph rewriting semantics. Mathematical Structures in Computer Science, 6:579--612.
|
| |
16
|
Barron, D., Buxton, J., Hartley, D., Nixon, E., and Strachey, C. (1963). The main features of cpl. The Computer Journal, 6(2): 134--143.
|
| |
17
|
|
| |
18
|
Barton, D. (1995). Advanced modeling features of MHDL. In Proceedings of International Conference on Electronic Hardware Description Languages.
|
| |
19
|
|
| |
20
|
|
 |
21
|
Per Bjesse , Koen Claessen , Mary Sheeran , Satnam Singh, Lava: hardware design in Haskell, Proceedings of the third ACM SIGPLAN international conference on Functional programming, p.174-184, September 26-29, 1998, Baltimore, Maryland, United States
|
| |
22
|
Bloss, A. (1988). Path Analysis: Using Order-of-Evaluation Information to Optimize Lazy Functional Languages. PhD thesis, Yale University, Department of Computer Science.
|
| |
23
|
Bloss, A., Hudak, P., and Young, J. (1988a). Code optimizations for lazy evaluation. Lisp and Symbolic Computation: An International Journal, 1(2): 147--164.
|
| |
24
|
|
| |
25
|
Blott, S. (1991). Type Classes. PhD thesis, Department of Computing Science, Glasgow University.
|
| |
26
|
Robert D. Blumofe , Christopher F. Joerg , Bradley C. Kuszmaul , Charles E. Leiserson , Keith H. Randall , Yuli Zhou, Cilk: an efficient multithreaded runtime system, Journal of Parallel and Distributed Computing, v.37 n.1, p.55-69, Aug. 25, 1996
[doi> 10.1006/jpdc.1996.0107
]
|
| |
27
|
Boquist, U. (1999). Code Optimisation Techniques for Lazy Functional Languages. PhD thesis, Chalmers University of Technology, Sweden.
|
 |
28
|
Gilad Bracha , Martin Odersky , David Stoutamire , Philip Wadler, Making the future safe for the past: adding genericity to the Java programming language, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.183-200, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
29
|
T. H. Brus , C. J. D. van Eekelen , M. O. van Leer , M. J. Plasmeijer, CLEAN: A language for functional graph rewriting, Proc. of a conference on Functional programming languages and computer architecture, p.364-384, October 1987, Portland, Oregon, United States
|
| |
30
|
Burge, W. (1975). Recursive Programming Techniques. Addison Wesley.
|
| |
31
|
Burstall, R. (1969). Proving properties of programs by structural induction. The Computer Journal, pages 41--48.
|
| |
32
|
Burstall, R. (1977). Design considerations for a functional programming language. In The Software Revolution. Infotech.
|
 |
33
|
|
 |
34
|
R. M. Burstall , D. B. MacQueen , D. T. Sannella, HOPE: An experimental applicative language, Proceedings of the 1980 ACM conference on LISP and functional programming, p.136-143, August 25-27, 1980, Stanford University, California, United States
[doi> 10.1145/800087.802799]
|
| |
35
|
Burton, W., Meijer, E., Sansom, P., Thompson, S., and Wadler, P. (1996). Views: An extension to Haskell pattern matching, http://haskell.org/development/views.html.
|
| |
36
|
Callaghan, P. (1998). An Evaluation of LOLITA and Related Natural Language Processing Systems. PhD thesis, Department of Computer Science, University of Durham.
|
| |
37
|
Carlier, S. and Bobbio, J. (2004). hop.
|
| |
38
|
Carlson, W., Hudak, P., and Jones, M. (1993). An experiment using Haskell to prototype "geometric region servers" for Navy command and control. Research Report 1031, Department of Computer Science, Yale University.
|
 |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
Chakravarty, M., editor (2002). Proceedings of the 2002 Haskell Workshop, Pittsburgh.
|
 |
43
|
|
 |
44
|
Manuel M. T. Chakravarty , Gabriele Keller , Simon Peyton Jones , Simon Marlow, Associated types with class, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-13, January 12-14, 2005, Long Beach, California, USA
|
 |
45
|
Kung Chen , Paul Hudak , Martin Odersky, Parametric type classes, Proceedings of the 1992 ACM conference on LISP and functional programming, p.170-181, June 22-24, 1992, San Francisco, California, United States
|
| |
46
|
Cheney, J. and Hinze, R. (2003). First-class phantom types. CUCIS TR2003--1901, Cornell University.
|
| |
47
|
Cheong, M. H. (2005). Functional Programming and 3D Games. Undergraduate thesis, University of New South Wales.
|
| |
48
|
|
| |
49
|
|
 |
50
|
|
| |
51
|
Claessen, K. and Hughes, J. (2002). Testing monadic code with QuickCheck. In (Chakravarty, 2002).
|
| |
52
|
|
| |
53
|
Cooper, G. and Krishnamurthi, S. (2006). Embedding dynamic dataflow in a call-by-value language. In 15th European Symposium on Programming, volume 3924 of LNCS. Springer-Verlag.
|
| |
54
|
|
| |
55
|
Courtney, A. and Elliott, C. (2001). Genuinely functional user interfaces. In Proc. of the 2001 Haskell Workshop, pages 41--69.
|
| |
56
|
Curry, H. and Feys, R. (1958). Combinatory Logic, Vol. 1. North-Holland, Amsterdam.
|
 |
57
|
|
 |
58
|
|
| |
59
|
|
 |
60
|
|
| |
61
|
Davis, A. (1977). The architecture of ddm 1: a recursively structured data driven machine. Technical Report UUCS-77-113, University of Utah.
|
| |
62
|
|
 |
63
|
|
| |
64
|
Dijkstra, E. (1981). Trip report E. W Dijkstra, Newcastle, 19--25 July 1981. Dijkstra working note EWD798.
|
| |
65
|
|
| |
66
|
Dybvig, K., Peyton Jones, S., and Sabry, A. (2005). A monadic framework for delimited continuations. To appear in the Journal of Functional Programming.
|
| |
67
|
Elliott, C. (1996). A brief introduction to activevrml. Technical Report MSR-TR-96-05, Microsoft Research.
|
| |
68
|
|
 |
69
|
|
 |
70
|
|
 |
71
|
|
 |
72
|
|
| |
73
|
Fairbairn, J. (1982). Ponder and its type system. Technical Report TR-31, Cambridge University Computer Lab.
|
| |
74
|
Fairbairn, J. (1985). Design and implementation of a simple typed language based on the lambda-calculus. Technical Report 75, University of Cambridge Computer Laboratory.
|
| |
75
|
|
| |
76
|
Field, A., Hunt, L., and While, R. (1992). The semantics and implementation of various best-fit pattern matching schemes for functional languages. Technical Report Doc 92/13, Dept of Computing, Imperial College.
|
 |
77
|
Sigbjorn Finne , Daan Leijen , Erik Meijer , Simon Peyton Jones, H/Direct: a binary foreign language interface for Haskell, Proceedings of the third ACM SIGPLAN international conference on Functional programming, p.153-162, September 26-29, 1998, Baltimore, Maryland, United States
|
| |
78
|
Finne, S. and Peyton Jones, S. (1995). Composing Haggis. In Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht.
|
 |
79
|
Bryan Ford, Packrat parsing:: simple, powerful, lazy, linear time, functional pearl, Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, p.36-47, October 04-06, 2002, Pittsburgh, PA, USA
|
| |
80
|
FPCA93 (1993). ACM Conference on Functional Programming and Computer Architecture (FPCA'93), Cophenhagen. ACM.
|
| |
81
|
FPCA95 (1995). ACM Conference on Functional Programming and Computer Architecture (FPCA'95), La Jolla, California. ACM.
|
| |
82
|
Friedman, D. and Wise, D. (1976). CONS should not evaluate its arguments. Automata, Languages, and Programming, pages 257--281.
|
 |
83
|
|
| |
84
|
Gaster, B. (1998). Records, Variants, and Qualified Types. PhD thesis, Department of Computer Science, University of Nottingham.
|
| |
85
|
Gaster, B. R. and Jones, M. P. (1996). A polymorphic type system for extensible records and variants. Technical Report TR-96-3, Department of Computer Science, University of Nottingham.
|
| |
86
|
Gill, A. (2000). Debugging Haskell by observing intermediate data structures. In Haskell Workshop. ACM SIGPLAN.
|
 |
87
|
|
| |
88
|
|
| |
89
|
Glynn, K., Stuckey, P., and Sulzmann, M. (2000). Type classes and constraint handling rules. In First Workshop on Rule-Based Constraint Reasoning and Programming.
|
| |
90
|
Gödel, K. (1931). Über formal unentscheidbare sätze der principia mathematica und verwandter Systeme I. Monatshefte für Mathematik und Physik, 38:173--198. Pages 596--616 of (van Heijenoort, 1967).
|
| |
91
|
Gordon, M., Milner, R., and Wadsworth, C. (1979). Edinburgh LCF. Springer Verlag LNCS 78.
|
| |
92
|
Graham, P. (2004). Beating the averages. In Hackers and Painters. O'Reilly.
|
| |
93
|
|
 |
94
|
|
| |
95
|
Hallgren, T. (2001). Fun with functional dependencies. In Proc Joint CS/CE Winter Meeting, Chalmers Univerity, Varberg, Sweden.
|
 |
96
|
|
| |
97
|
Hanus, M., Kuchen, H., and Moreno-Navarro, J. (1995). Curry: A truly functional logic language. In Proceedings of the ILPS '95 Postconference Workshop on Visions for the Future of Logic Programming.
|
 |
98
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
[doi> 10.1145/1065944.1065952]
|
| |
99
|
|
| |
100
|
Hartel, P., Feeley, M., Alt, M., Augustsson, L., Bauman, P., Weis, P., and Wentworth, P. (1996). Pseudoknot: a float-intensive benchmark for functional compilers. Journal of Functional Programming, 6(4).
|
| |
101
|
Haskell01 (2001). Proceedings of the 2001 Haskell Workshop, Florence.
|
| |
102
|
Haskell04 (2004). Proceedings of ACM Workshop on Haskell, Snowbird, Snowbird, Utah. ACM.
|
 |
103
|
|
 |
104
|
Bastiaan Heeren , Daan Leijen , Arjan van IJzendoorn, Helium, for learning Haskell, Proceedings of the 2003 ACM SIGPLAN workshop on Haskell, p.62-71, August 28-28, 2003, Uppsala, Sweden
[doi> 10.1145/871895.871902]
|
 |
105
|
|
 |
106
|
|
| |
107
|
Herington, D. (2002). Hunit home page. http://hunit.sourceforge.net.
|
 |
108
|
|
| |
109
|
|
| |
110
|
Hinze, R. (2003). Fun with phantom types. In Gibbons, J. and de Moor, O., editors, The Fun of Programming, pages 245--262. Palgrave.
|
 |
111
|
|
| |
112
|
Hinze, R., Jeuring, J., and Lh, A. (2006). Comparing approaches to generic programming in Haskell. In Generic Programming, Advanced Lectures, LNCS. Springer-Verlag.
|
| |
113
|
Hinze, R. and Peyton Jones, S. (2000). Derivable type classes. In Hutton, G., editor, Proceedings of the 2000 Haskell Workshop, Montreal. Nottingham University Department of Computer Science Technical Report NOTTCS-TR-00-1.
|
| |
114
|
Hudak, P. (1984a). ALFL Reference Manual and Programmer's Guide. Research Report YALEU/DCS/RR-322, Second Edition, Yale University, Dept. of Computer Science.
|
| |
115
|
Hudak, P. (1984b). Distributed applicative processing systems - project goals, motivation and status report. Research Report YALEU/DCS/RR-317, Yale University, Dept. of Computer Science.
|
 |
116
|
|
 |
117
|
|
| |
118
|
|
| |
119
|
|
| |
120
|
|
| |
121
|
Hudak, P. (2003). Describing and interpreting music in Haskell. In Gibbons, J. and de Moor, O., editors, The Fun of Programming, chapter 4. Palgrave.
|
| |
122
|
Hudak, P. (2004). Polymorphic temporal media. In Proceedings of PADL'04: 6th International Workshop on Practical Aspects of Declarative Languages. Springer Verlag LNCS.
|
| |
123
|
Hudak, P., Courtney, A., Nilsson, H., and Peterson, J. (2003). Arrows, robots, and functional reactive programming. In Jeuring, J. and Jones, S. P., editors, Advanced Functional Programming, 4th International School, volume 2638 of Lecture Notes in Computer Science. Springer-Verlag.
|
| |
124
|
Hudak, P., Makucevich, T., Gadde, S., and Whong, B. (1996). Haskore music notation - an algebra of music. Journal of Functional Programming, 6(3):465--483.
|
| |
125
|
Hudak, P. and Sundaresh, R. (1989). On the expressiveness of purely-functional I/O systems. Research Report YALEU/DCS/RR-665, Department of Computer Science, Yale University.
|
 |
126
|
|
| |
127
|
Huet, G. (1975). A unification algorithm for typed lambda-calculus. Theoretical Computer Science, 1:22--58.
|
| |
128
|
Huet, G. and Levy, J. (1979). Call by need computations in non-ambiguous linear term-rewriting systems. Report 359, INRIA.
|
| |
129
|
|
| |
130
|
|
| |
131
|
|
| |
132
|
Hughes, R. (1983). The Design and Implementation of Programming Languages. Ph.D. thesis, Programming Research Group, Oxford University.
|
| |
133
|
|
| |
134
|
ICFP00 (2000). ACM SIGPLAN International Conference on Functional Programming (ICFP'00), Montreal. ACM.
|
| |
135
|
ICFP02 (2002). ACM SIGPLAN International Conference on Functional Programming (ICFP'02), Pittsburgh. ACM.
|
| |
136
|
ICFP03 (2003). ACM SIGPLAN International Conference on Functional Programming (ICFP'03) Uppsala, Sweden. ACM.
|
| |
137
|
ICFP97 (1997). ACM SIGPLAN International Conference on Functional Programming (ICFP'97), Amsterdam. ACM.
|
| |
138
|
ICFP98 (1998). ACM SIGPLAN International Conference on Functional Programming (ICFP'98), volume 34(1) of ACM SIGPLAN Notices, Baltimore. ACM.
|
| |
139
|
ICFP99 (1999). ACM SIGPLAN International Conference on Functional Programming (ICFP'99), Paris. ACM.
|
 |
140
|
|
| |
141
|
|
 |
142
|
|
| |
143
|
|
 |
144
|
|
| |
145
|
Jones, M. (1991). Type inference for qualified types. PRG-TR-10-91, Programming Research Group, Oxford, Oxford University.
|
| |
146
|
|
 |
147
|
|
| |
148
|
|
 |
149
|
|
| |
150
|
Jones, M. (1999). Typing Haskell in Haskell. In (Meijer, 1999). Available at ftp://ftp.cs.uu.nl/pub/RUU/CS/techreps/CS-1999/1999-28.pdf.
|
| |
151
|
|
| |
152
|
Jones, M. and Duponcheel, L. (1994). Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University.
|
| |
153
|
|
| |
154
|
|
| |
155
|
Keller, R., Lindstrom, G., and Patil, S. (1979). A loosely coupled applicative multiprocessing system. In AFIPS Conference Proceedings, pages 613--622.
|
 |
156
|
N. I. Adams, IV , D. H. Bartley , G. Brooks , R. K. Dybvig , D. P. Friedman , R. Halstead , C. Hanson , C. T. Haynes , E. Kohlbecker , D. Oxley , K. M. Pitman , G. J. Rozas , G. L. Steele, Jr. , G. J. Sussman , M. Wand , H. Abelson, Revised5 report on the algorithmic language scheme, ACM SIGPLAN Notices, v.33 n.9, p.26-76, Sept. 1, 1998
[doi> 10.1145/290229.290234]
|
 |
157
|
|
 |
158
|
|
| |
159
|
|
 |
160
|
David Kranz , Norman Adams , Richard Kelsey , Jonathan Rees , Paul Hudak , James Philbin, ORBIT: an optimizing compiler for scheme, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.219-233, June 25-27, 1986, Palo Alto, California, United States
|
 |
161
|
|
 |
162
|
|
 |
163
|
|
 |
164
|
|
| |
165
|
Landin, P. J. (1964). The mechanical evaluation of expressions. Computer Journal, 6(4):308--320.
|
| |
166
|
Läufer, K. (1996). Type classes with existential types. Journal of Functional Programming, 6(3):485--517.
|
 |
167
|
|
| |
168
|
Launchbury, J. (1993). Lazy imperative programming. In Proc ACMSigplan Workshop on State in Programming Languages, Copenhagen (available as YALEU/DCS/RR-968, Yale University), pages pp46--56.
|
| |
169
|
|
 |
170
|
|
| |
171
|
|
 |
172
|
|
 |
173
|
Jeffrey R. Lewis , John Launchbury , Erik Meijer , Mark B. Shields, Implicit parameters: dynamic scoping with static types, Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.108-118, January 19-21, 2000, Boston, MA, USA
[doi> 10.1145/325694.325708]
|
| |
174
|
LFP84 (1984). ACM Symposium on Lisp and Functional Programming (LFP'84). ACM.
|
 |
175
|
|
 |
176
|
| |