The Haskell 1.4 Report
top
|
function index
Haskell 1.4 Report: Index
1
Introduction
1.1
Program Structure
1.2
The Haskell Kernel
1.3
Values and Types
1.4
Namespaces
1.5
Layout
2
Lexical Structure
2.1
Notational Conventions
2.2
Lexical Program Structure
2.3
Identifiers and Operators
2.4
Numeric Literals
2.5
Character and String Literals
3
Expressions
3.1
Errors
3.2
Variables, Constructors, and Operators
3.3
Curried Applications and Lambda Abstractions
3.4
Operator Applications
3.5
Sections
3.6
Conditionals
3.7
Lists
3.8
Tuples
3.9
Unit Expressions and Parenthesized Expressions
3.10
Arithmetic Sequences
3.11
List Comprehensions
3.12
Let Expressions
3.13
Case Expressions
3.14
Do Expressions
3.15
Datatypes with Field Labels
3.15.1
Field Selection
3.15.2
Construction Using Field Labels
3.15.3
Updates Using Field Labels
3.16
Expression Type-Signatures
3.17
Pattern Matching
3.17.1
Patterns
3.17.2
Informal Semantics of Pattern Matching
3.17.3
Formal Semantics of Pattern Matching
4
Declarations and Bindings
4.1
Overview of Types and Classes
4.1.1
Syntax of Types
4.1.2
Syntax of Class Assertions and Contexts
4.1.3
Semantics of Types and Classes
4.2
User-Defined Datatypes
4.2.1
Algebraic Datatype Declarations
4.2.2
Type Synonym Declarations
4.2.3
Datatype Renamings
4.3
Type Classes and Overloading
4.3.1
Class Declarations
4.3.2
Instance Declarations
4.3.3
Derived Instances
4.3.4
Defaults for Overloaded Numeric Operations
4.4
Nested Declarations
4.4.1
Type Signatures
4.4.2
Function and Pattern Bindings
4.5
Static Semantics of Function and Pattern Bindings
4.5.1
Dependency Analysis
4.5.2
Generalization
4.5.3
Context Reduction Errors
4.5.4
Monomorphism
4.5.5
The Monomorphism Restriction
4.6
Kind Inference
5
Modules
5.1
Module Structure
5.1.1
Export Lists
5.1.2
Import Declarations
5.1.3
Importing and Exporting Instance Declarations
5.2
Closure
5.3
Standard Prelude
5.3.1
The
Prelude
Module
5.3.2
Shadowing Prelude Names
5.4
Separate Compilation
5.5
Abstract Datatypes
5.6
Fixity Declarations
6
Predefined Types and Classes
6.1
Standard Haskell Types
6.1.1
Booleans
6.1.2
Characters and Strings
6.1.3
Lists
6.1.4
Tuples
6.1.5
The Unit Datatype
6.1.6
The Void Datatype
6.1.7
Function Types
6.1.8
The IO and IOError Types
6.1.9
Other Types
6.2
Standard Haskell Classes
6.2.1
The Eq Class
6.2.2
The Ord Class
6.2.3
The Read and Show Classes
6.2.4
The Enum Class
6.2.5
Monadic Classes
6.2.6
The Bounded Class
6.2.7
The Eval Class
6.3
Numbers
6.3.1
Numeric Literals
6.3.2
Arithmetic and Number-Theoretic Operations
6.3.3
Exponentiation and Logarithms
6.3.4
Magnitude and Sign
6.3.5
Trigonometric Functions
6.3.6
Coercions and Component Extraction
7
Basic Input/Output
7.1
Standard I/O Functions
7.2
Sequencing I/O Operations
7.3
Exception Handling in the I/O Monad
A
Standard Prelude
A.1
Prelude
PreludeList
A.2
Prelude
PreludeText
A.3
Prelude
PreludeIO
B
Syntax
B.1
Notational Conventions
B.2
Lexical Syntax
B.3
Layout
B.4
Context-Free Syntax
C
Literate comments
D
Specification of Derived Instances
D.1
An example
E
Compiler Pragmas
E.1
Inlining
E.2
Specialization
E.3
Optimization