Haskell 98 language and libraries : the revised report
@inproceedings{Jones2003Haskell9L, title={Haskell 98 language and libraries : the revised report}, author={P. Jones and Lindsey Simon}, year={2003} }
Part I. The Haskell 98 Language: 1 Introduction 2 Lexical structure 3 Expressions 4 Declarations and bindings 5 Modules 6 Predefined types and classes 7 Basic input/output 8 Standard prelude 9 Syntax reference 10 Specification of derived instances 11 Compiler pragmas Part II The Haskell 98 Libraries: 12 Rational numbers 13 Complex numbers 14 Numeric functions 15 Indexing operations 16 Arrays 17 List utilities 18 Maybe utilities 19 Character utilities 20 Monad utilities 21 Input/output 22…
1,467 Citations
Typing Haskell with an Attribute Grammar
- Computer ScienceAdvanced Functional Programming
- 2004
This paper describes the implementation of a series of compilers for a simplified variant of Haskell by using an attribute grammar system, which allows aspects of a compiler implementation to be described separately and added in a sequence of steps, thereby giving aseries of increasingly complex compilers.
Haskell type constraints unleashed: Companion report
- Computer Science
- 2010
This paper introduces constraint synonyms and constraint families, and illustrates their increased expressivity for improving the utility of polymorphic EDSLs in Haskell, amongst other examples.
Generic Selections of Subexpressions Martijn van Steenbergen
- Computer Science
- 2010
This paper describes how to automatically extend datatypes with position information using datatype-generic programming techniques and shows examples of how to use this position information: parsers that automatically construct trees annotated with positions, catamorphisms that deal with failure by reporting error locations, and zippers that efficiently navigate annotated trees.
An Embedded Haskell Subset Implementation
- Computer ScienceSoftware Engineering Research and Practice
- 2006
We provide an implementation of a Haskell subset embedded within the Java programming language. The subset provides type inference, polymorphism, first-class functions, currying, and mixing of…
MIL, a Monadic Intermediate Language for Implementing Functional Languages
- Computer ScienceIFL
- 2018
This paper describes MIL, a "monadic intermediate language" that is designed for use in optimizing compilers for strict, strongly typed functional languages. By using a notation that exposes the…
Haskell Boards the Ferry - Database-Supported Program Execution for Haskell
- Computer ScienceIFL
- 2010
A Haskell library for database-supported program execution that avoids unnecessary data transfer and context switching between the database coprocessor and the programming language runtime by ensuring that the number of generated relational queries is only determined by the program fragment’s type and not by the database size.
Classes for the Masses (Extended Abstract)
- Computer Science
- 2017
This work has extended the open source C# compiler and language service, Roslyn, with pervasive support for type classes and has prototyped a more minimalist design for F#.
A generic deriving mechanism for Haskell
- Computer ScienceHaskell '10
- 2010
This work proposes a new approach to Haskell's deriving mechanism, which allows users to specify how to derive arbitrary class instances using standard datatype-generic programming techniques, and implemented it together with many new derivable classes in the Utrecht Haskell Compiler.
Comparing Datatype Generic Libraries in Haskell
- Computer Science
- 2009
This paper develops a generic programming benchmark: a set of characteristic examples testing various facets of datatype-generic programming, and implements the benchmark for ten existing Haskell generic programming libraries and presents the evaluation of the libraries.
References
SHOWING 1-10 OF 16 REFERENCES
Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs
- Computer ScienceCACM
- 1978
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.
How to make ad-hoc polymorphism less ad hoc
- MathematicsPOPL '89
- 1989
Type classes extend the Hindley/Milner polymorphic type system, and provide a new approach to issues that arise in object-oriented programming, bounded type quantification, and abstract data types.
The Principal Type-Scheme of an Object in Combinatory Logic
- Philosophy
- 1969
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 there…
Principal type-schemes for functional programs
- GeologyPOPL '82
- 1982
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of…
Literate Programming
- Computer ScienceComput. J.
- 1984
This anthology of essays from the inventor of literate programming also contains excerpts from the programs for TEX and METAFONT and CWEB, a system for Literate programming in C and related languages.
Distributed random number generation
- Computer ScienceJournal of Functional Programming
- 1992
A new approach is proposed in which a random number sequence can be split at a random point to produce a pair of random number sequences that can be used independently at different points in the computation.
Principal values and branch cuts in complex APL
- Computer ScienceAPL '81
- 1981
The results apply to APL, other languages, applications packages, and VLSI hardware for complex calculations, and it is recommended that comparison tolerance be used in the selection of principal values.
A gentle introduction to Haskell
- LinguisticsSIGP
- 1992
Permission is granted to any person obtaining a copy of “A Gentle Introduction to Haskell” to deal in the Text without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Text.
Don't trust parallel Monte Carlo!
- Computer ScienceProceedings. Twelfth Workshop on Parallel and Distributed Simulation PADS '98 (Cat. No.98TB100233)
- 1998
This work presents a review of the main concepts to produce random numbers on parallel processors and illustrates some phenomena that occur with parallelization.