Datatype-Generic Programming

International Spring School, SSDGP 2006, Nottingham, UK, April 24–27, 2006, Revised Lectures

  • Editors
  • Roland Backhouse
  • Jeremy Gibbons
  • Ralf Hinze
  • Johan Jeuring
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4719)

Table of contents

  1. Front Matter
    Pages I-XI
  2. Jeremy Gibbons
    Pages 1-71
  3. Ralf Hinze, Johan Jeuring, Andres Löh
    Pages 72-149
  4. Ralf Hinze, Andres Löh
    Pages 150-208
  5. Thorsten Altenkirch, Conor McBride, Peter Morris
    Pages 209-257
  6. Tim Sheard
    Pages 258-284
  7. Ralf Lämmel, Erik Meijer
    Pages 285-367
  8. Back Matter
    Pages 369-372

About these proceedings

Introduction

A leitmotif in the evolution of programming paradigms has been the level and extent of parametrisation that is facilitated — the so-called genericity of the paradigm. The sorts of parameters that can be envisaged in a programming language range from simple values, like integers and ?oating-point numbers, through structured values, types and classes, to kinds (the type of types and/or classes).Datatype-generic programming is about parametrising programsby the structure of the data that they manipulate. Toappreciatethe importanceofdatatypegenericity,oneneedlooknofurther than the internet. The internet is a massive repository of structured data, but the structure is rarely exploited. For example, compression of data can be much more e?ective if its structure is known, but most compression algorithms regard the input data as simply a string of bits, and take no account of its internal organisation. Datatype-genericprogrammingisaboutexploitingthestructureofdatawhen it is relevant and ignoring it when it is not. Programming languages most c- monly used at the present time do not provide e?ective mechanisms for do- menting and implementing datatype genericity. This volume is a contribution towards improving the state of the art. The emergence of datatype genericity can be traced back to the late 1980s.

Keywords

Spring Framework applicative programming category theory componnets datatype genericity functional programming functional programming tools generic haskell programming generic programming genericity haskell programming parametric polymorphism program parameteri programming types

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-540-76786-2
  • Copyright Information Springer-Verlag Berlin Heidelberg 2007
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-540-76785-5
  • Online ISBN 978-3-540-76786-2
  • Series Print ISSN 0302-9743
  • Series Online ISSN 1611-3349
  • About this book