Muutke küpsiste eelistusi

Trends in Functional Programming Volume 3 [Kõva köide]

Edited by , Edited by
  • Formaat: Hardback, 200 pages, kõrgus x laius: 170x230 mm
  • Sari: Trends in Functional Programming
  • Ilmumisaeg: 05-Jan-2013
  • Kirjastus: Intellect Books
  • ISBN-10: 1841500704
  • ISBN-13: 9781841500706
Teised raamatud teemal:
  • Formaat: Hardback, 200 pages, kõrgus x laius: 170x230 mm
  • Sari: Trends in Functional Programming
  • Ilmumisaeg: 05-Jan-2013
  • Kirjastus: Intellect Books
  • ISBN-10: 1841500704
  • ISBN-13: 9781841500706
Teised raamatud teemal:
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



The Editors introduce a wide-ranging set of articles, arranged by general subject area. Short overviews bring strong thematic links between individual articles, including:









applications implementation techniques parallel systems and programming memory architectures type systems



The articles themselves are drawn from the series of Scottish Functional Programming Workshops. Central Scotland has been highly influential in the development of functional programming with notable contributions that include the design, implementation and use of the SASL, Standard ML and Haskell languages. 





The Workshops provide an international forum, linking a vibrant Scottish core with the wider community. As a product of this forum, the book brings a broad perspective on current research trends and practice in the field.
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