Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.
You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.
After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.
Aims at doctoral students, researchers, and practitioners in programming languages and related areas
Covers various aspects of generic and indexed programming
Generic programming is about making programs more widely applicable via exotic kinds of parametrization---not just along the dimensions of values or of types, but also of things such as the shape of data, algebraic structures, strategies, computational paradigms, and so on. Indexed programming is a lightweight form of dependently typed programming, constraining flexibility by allowing one to state and check relationships between parameters: that the shapes of two arguments agree, that an encoded value matches some type, that values transmitted along a channel conform to the stated protocol, and so on.
The two forces of genericity and indexing balance each other nicely, simultaneously promoting and controlling generality. The 5 lectures included in this book stem from the Spring School on Generic and Indexed Programming, held in Oxford, UK, in March 2010 as a closing activity of the generic and indexed programming project at Oxford which took place in the years 2006-2010.
Content Level »Research
Keywords »bidirectional programming - category theory - functional programming - parametric polymorphism - type theory
Three Complementary Approaches to Bidirectional Programming.-Generic Programming with Adjunctions.-Typed Tagless Final Interpreters.-The C++0x “Concepts” Effort.-Generic Programming with Dependent Types.
Generic Programming with Adjunctions.-Typed Tagless Final Interpreters.-The C++0x “Concepts” Effort.-Generic Programming with Dependent Types.