Trends in Functional Programming Volume 3 (Book)
This book brings together leading researchers and practitioners in the field of functional programming. The work presented here covers many aspects of the field, including:
- language design
- proof and transformation
- semantics and models
- implementation
- type systems
- parallelism and distribution
- performance modelling and profiling
- programming methodologies
Edition
1 Haskell: Language for Business Systems 1
Dan Russell, Dominic Steinitz and Chris Reade
1.1 Introduction 1
1.2 Background and Related Work 2
1.3 LDAP 3
1.4 The LDAP Client 5
1.5 Using the LDAP API 9
1.6 Conclusions and Further Work 11
2 Infinite Pretty-printing in eXene 13
Allen Stoughton
2.1 Pretty-printing with Elision 13
2.2 Infinite Pretty-printing in eXene 15
2.3 Flexible Text Values 15
2.4 Pretty-printing Trees 16
2.5 The eXene Flexible Text Widget 20
2.6 Pretty-Printing Examples 21
2.7 Conclusion
3 Extending Higher-Order Deforestation: Transforming Programs to
Eliminate Even More Trees 25
Geoffrey Hamilton
3.1 Introduction 25
3.2 Language 27
3.3 Extended Higher-Order Treeless Form 28
3.4 The Extended Higher-Order Deforestation Algorithm 32
3.5 The Extended Higher-Order Deforestation Theorem 34
3.6 Conclusion 35
4 BSP in a Lazy Functional Context 37
Quentin Miller
4.1 Introduction 37
4.2 BSP Computation 38
4.3 A Vector Calculus 39
4.4 The Structure of BSP-Haskell 40
4.5 Broadcast Functions 41
4.6 Implementations 42
4.7 Cost Predictions and Measurements 46
4.8 Summary and Further Research 47
5 Deriving Non-Hierarchical Process Topologies 51
Ricardo Peña, Fernando Rubio, Clara Segura
5.1 Introduction 51
5.2 Eden 52
5.3 Methodology to Derive Non-Hierarchical Topologies 54
5.4 Examples of Non-Hierarchical Topologies 56
5.5 Conclusion 61
6 Load Balancing in a Parallel Graph Reducer 63
Hans-Wolfgang Loidl
6.1 Introduction 63
6.2 GUM: A Parallel Graph Reducer 64
6.3 Accessing the Load Distributer in GUM 66
6.4 Related Work 72
6.5 Conclusions 73
7 Paging in a Distributed Virtual Memory 75
Marco T. Morazán, Douglas R. Troeger, Myles Nash
7.1 Introduction 75
7.2 Related Work 76
7.3 The MT System 78
7.4 Virtual Memory Performance of the MT Heap 81
7.5 Explaining the Competitiveness of FIFO 83
7.6 Concluding Remarks 84
8 How to Repair Type Errors Automatically 87
Bruce McAdam
8.1 Introduction- Error Messages 87
8.2 The Theory Behind this System 89
8.3 Implementing the Theory 90
8.4 Performance and Testing 95
8.5 Conclusions 97
9 The Dual of Substitution is Redecoration 99
Tarmo Uustalu, Varmo Vene
9.1 Introduction 99
9.2 Monads 101
9.3 Comonads 101
9.4 Monads of Trees and Cotrees 102
9.5 Comonads of (Co)trees 105
9.6 Conclusion and Future Work 109
10 Function Types in Complete Type Inference 111
Manfred Widera, Christoph Beierle
10.1 Introduction to Complete Type Checking 111
10.2 The Type Language 115
10.3 The Inappropriateness of Function Types 115
10.4 The New Function Type Constructor 116
10.5 Conclusion 121