Report on the programming language Haskell: a non-strict, purely functional language version 1.2

@article{Hudak1992ReportOT,
  title={Report on the programming language Haskell: a non-strict, purely functional language version 1.2},
  author={P. Hudak and S. Jones and P. Wadler and Brian Boutel and J. Fairbairn and J. Fasel and Mar{\'i}a M. Guzm{\'a}n and K. Hammond and John Hughes and Thomas Johnsson and R. Kieburtz and R. Nikhil and Will Partain and J. Peterson},
  journal={ACM SIGPLAN Notices},
  year={1992},
  volume={27},
  pages={1-}
}
"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous. Since some of our fellow sinners are among the most careful and competent logicians on the contemporary scene, we regard this as evidence that the subject is refractory. Thus fullness of exposition is necessory for accurary; and excessive condensation would be false economy here, even more than it is ordinarily." 
Lenient evaluation and parallelism
TLDR
This paper presents parallel models of three evaluation strategies (strict, lenient, and lazy), along with an examination of the impact of these evaluation strategies on the implicit parallelism that can be extracted from programs. Expand
TIP in Haskell - another Exercise in Functional Programming
TLDR
Results were positive so far as the expressive power of functional programming was concerned — laziness and higher-order functions both proved valuable — but he bemoaned SASL’s lack of type-checking, abstract data types and modules, and also the difficulties of correcting errors and optimising performance in the presence of lazy evaluation. Expand
Linearity and Laziness
TLDR
Wadler's proposal involves the use of a type system based on the linear logic of Girard that allows the programmer to specify the “natural” imperative operations without at the same time sacrificing the crucial property of referential transparency. Expand
Cheap Deforestation in Practice: An Optimizer for Haskell
We present a simple, automatic transformation — the foldr/build transformation — which successfully removes many intermediate lists from programs written in non-strict functional programmingExpand
The lazy functional side of logic programming
TLDR
It is shown that logical structures such as di erence lists have a natural counterpart in lazy functional programs; i.e. that most programs using di erences lists are functional in nature, and well-modedness is thus not a necessary attribute of those logic programs behaving functionally. Expand
Bags: a Parallel Adt for Functional Languages
It is impossible to express non-deterministic algorithms in conventional functional languages; even if such algorithms' results are deterministic. This paper considers the introduction of bagsExpand
A static semantics for Haskell
TLDR
The semantics formally specifies nearly all the details of the Haskell 98 type system, including the resolution of overloading, kind inference and polymorphic recursion, the only major omission being a proper treatment of ambiguous overloading and its resolution. Expand
Multiparadigm Programming in Oz
TLDR
Oz naturally encompasses multiple styles of programming, including (constraint) logic, functional, and concurrent object-oriented programming, by providing a common underlying foundation for these styles through a simple formal model in the concurrent constraint paradigm. Expand
Tracing Lazy Functional Languages
We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's axiomatization of the call-by-need lambda calculus forms a suitable formal basis for tracing evaluation in lazy functionalExpand
A Type Specialisation Tutorial
TLDR
The essence of partial evaluation is beautifully simple: the authors just take a program, together with values of some of its inputs; they perform the operations that depend only on known inputs; and finally obtain a residual program which solves the same problem as the original for a subclass of the cases. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 30 REFERENCES
Revised4 report on the algorithmic language scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy LewisExpand
Revised3 report on the algorithmic language scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy LewisExpand
The Implementation of Functional Programming Languages
My 1987 book is now out of print, but it is available here in its entirety in PDF form, in one of two formats: single-page portrait double-page landscape Both are fully searchable, thanks to OCR andExpand
The next 700 programming languages
A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework. This framework dictates the rules about the uses ofExpand
On the Expressiveness of Purely Functional I/O Systems
TLDR
A series of surprisingly simple translations between the three models of I/O are given, demonstrating that they are not as diierent as their programming styles suggest, and implying that the styles could be mixed within a single program. Expand
Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs
TLDR
A new class of computing systems uses the functional programming style both in its programming language and in its state transition rules; these systems have semantics loosely coupled to states—only one state transition occurs per major computation. Expand
HOPE: An experimental applicative language
TLDR
An applicative language called HOPE is described and discussed, to produce a very simple programming language which encourages the construction of clear and manipulable programs. Expand
Common Lisp the Language
TLDR
This greatly expanded edition of the defacto standard is written by the Vice- Chairman of X3J13 (the ANSI committee responsible for the standardization of Common Lisp) and contains the entire text of the first edition plus six completely new chapters. Expand
Miranda: A Non-Strict Functional language with Polymorphic Types
data types Many of the data types which in other languages would have to be expressed as abstract data types can be represented in Miranda as algebraic data types with associated laws. NeverthelessExpand
The Principal Type-Scheme of an Object in Combinatory Logic
One of the aims of combinatory logic is to study the most basic properties of functions and other concepts, with as few restrictions as possible; hence in the simplest form of combinatory logic thereExpand
...
1
2
3
...