916 papers · page 30 of 46
Haruo Hosoya, Benjamin C. Pierce
We propose regular expression pattern matching as a core feature of programming languages for manipulating XML. We extend conventional pattern-matching facilities (as in ML) with regular expression operators such as repetition (*) , alternation (|) , etc., that can match arbitrar…
Gérard P. Huet
There is both a great unity and a great diversity in presentations of logic. The diversity is staggering indeed – propositional logic, first-order logic, higher-order logic belong to one classification; linear logic, intuitionistic logic, classical logic, modal and temporal logic…
Patricia Johann
Fusion is the process of removing intermediate data structures from modularly constructed functional programs. Short cut fusion is a particular fusion technique which uses a single, local transformation rule to fuse compositions of list-processing functions. Short cut fusion has …
Simon L. Peyton Jones
Contents i Preface vii 1.1 Program Structure 3 1.2 The Haskell Kernel 4 1.3 Values and Types 4 1.4 Namespaces 5
Simon L. Peyton Jones
2.1 Notational Conventions 7 2.2 Lexical Program Structure 8 2.3 Comments 9 2.4 Identifiers and Operators 10 2.5 Numerical Literals 11 2.6 Character and String Literals 12 2.7 Layout 13
Simon L. Peyton Jones
3.1 Errors 19 3.2 Variables, Constructors, Operators, and Literals 20 3.3 Curried Applications and Lambda Abstractions 21 3.4 Operator Applications 21 3.5 Sections 22 3.6 Conditionals 23 3.7 Lists 23 3.8 Tuples 24 3.9 Unit Expressions and Parenthesized Expessions 25 3.10 Arithmet…
Simon L. Peyton Jones
4.1 Overview of Types and Classes 40 4.2 User-Defined datatypes 45 4.3 Type Classes and Overloading 49 4.4 Nested Declarations 55 4.5 Static Semantics of Function and Pattern Bindings 60 4.6 Kind Inference 66
Simon L. Peyton Jones
5.1 Module Structure 68 5.2 Export Lists 69 5.3 Import Declarations 71 5.4 Importing and Exporting Instance Declarations 74 5.5 Name Clashes and Closure 74 5.6 Standard Prelude 77 5.7 Separate Compilation 78 5.8 Abstract Datatypes 78
Simon L. Peyton Jones
6.1 Standard Haskell Types 81 6.2 Strict Evaluation 84 6.3 Standard Haskell Classes 84 6.4 Numbers 91
Simon L. Peyton Jones
7.1 Standard I/O Functions 97 7.2 Sequencing I/O Operations 99 7.3 Exception Handling in the I/O Monad 100
Simon L. Peyton Jones
8.1 Module Prelude 104 8.2 Module PreludeList 114 8.3 Module PreludeText 119 8.4 Module PreludeIO 123
Simon L. Peyton Jones
9.1 Notational Conventions 125 9.2 Lexical Syntax 126 9.3 Layout 128 9.4 Literate Comments 131 9.5 Context-Free Syntax 133
Simon L. Peyton Jones
10.1 Derived Instances of Eq and Ord 140 10.2 Derived Instances of Enum 140 10.3 Derived Instances of Bounded 141 10.4 Derived Instances of Read and Show 142 10.5 An Example 143
Simon L. Peyton Jones
11.1 Inlining 145 11.2 Specialization 145
Simon L. Peyton Jones
12.1 Library Ratio 150
Simon L. Peyton Jones
13.1 Library Complex 154
Simon L. Peyton Jones
14.1 Showing Functions 158 14.2 Reading Functions 159 14.3 Miscellaneous 159 14.4 Library Numeric 160
Simon L. Peyton Jones
15.1 Deriving Instances of Ix 170 15.2 Library Ix 171
Simon L. Peyton Jones
16.1 Array Construction 174 16.2 Incremental Array Updates 175 16.3 Derived Arrays 176 16.4 Library Array 176
Simon L. Peyton Jones
17.1 Indexing Lists 181 17.2 “Set” Operations 181 17.3 List Transformations 182 17.4 unfoldr 182 17.5 Predicates 183 17.6 The “By” Operations 183 17.7 The “generic” Operations 184 17.8 Further “zip” Operations 184 17.9 Library List 184