Datatype-Generic Programming: International Spring School, by Jeremy Gibbons (auth.), Roland Backhouse, Jeremy Gibbons,

By Jeremy Gibbons (auth.), Roland Backhouse, Jeremy Gibbons, Ralf Hinze, Johan Jeuring (eds.)

A leitmotif within the evolution of programming paradigms has been the extent and quantity of parametrisation that's facilitated — the so-called genericity of the paradigm. the types of parameters that may be envisaged in a programming language diversity from uncomplicated values, like integers and ?oating-point numbers, via dependent values, forms and sessions, to types (the kind of kinds and/or classes).Datatype-generic programming is set parametrising programsby the constitution of the knowledge that they manage. Toappreciatethe importanceofdatatypegenericity,oneneedlooknofurther than the web. the web is a tremendous repository of based facts, however the constitution isn't exploited. for instance, compression of information will be even more e?ective if its constitution is understood, yet so much compression algorithms regard the enter facts as easily a string of bits, and take no account of its inner service provider. Datatype-genericprogrammingisaboutexploitingthestructureofdatawhen it really is suitable and ignoring it while it's not. Programming languages so much c- monly used today don't offer e?ective mechanisms for do- menting and imposing datatype genericity. This quantity is a contribution in the direction of enhancing the cutting-edge. The emergence of datatype genericity may be traced again to the past due 1980s.

Show description

Read Online or Download Datatype-Generic Programming: International Spring School, SSDGP 2006, Nottingham, UK, April 24-27, 2006, Revised Lectures PDF

Best international books

Algebraic Informatics: Third International Conference, CAI 2009, Thessaloniki, Greece, May 19-22, 2009, Proceedings

This booklet constitutes the refereed complaints of the 3rd foreign convention on Algebraic Informatics, CAI 2009, held in Thessaloniki, Greece, in may possibly 2009. The sixteen complete papers have been rigorously reviewed and chosen from 25 submissions. The papers hide themes comparable to algebraic semantics on graph and timber, formal energy sequence, syntactic gadgets, algebraic photo processing, finite and endless computations, acceptors and transducers for strings, bushes, graphs arrays, and so on.

4th Kuala Lumpur International Conference on Biomedical Engineering 2008: BIOMED 2008 25–28 June 2008 Kuala Lumpur, Malaysia

The Biomed 2008 is a brilliant occasion bringing jointly academicians and practitioners in engineering and medication during this ever progressing box. This quantity offers the lawsuits of this overseas convention, together geared up by means of the dep. of Biomedical Engineering, college of Malaya, Malaysia; division of Biomedical Engineering, Inje collage, Korea; and Malaysian Society of clinical and organic Engineering.

Additional resources for Datatype-Generic Programming: International Spring School, SSDGP 2006, Nottingham, UK, April 24-27, 2006, Revised Lectures

Sample text

A collection (implements a Factory Method [35] to return a separate subobject that) implements the Iterator interface to accept an Action, apply it to each element in turn, and replace the original elements with the possibly new ones returned. Internal Iterators are less flexible than external — for example, it is more difficult to have two linked iterations over the same collection, and to terminate an iteration early — but they are correspondingly simpler to use. Visitor. In the normal object-oriented paradigm, the definition of each traversal operation is spread across the whole class hierarchy of the structure being traversed — typically but not necessarily a Composite.

When the producer is an unfold, the composition of producer and consumer is (under certain mild strictness conditions) a hylomorphism. hylo :: Bifunctor s ⇒ (b → s a b) → (s a c → c) → b → c hylo f g = g ◦ bimap id (hylo f g) ◦ f More generally, but harder to reason with, the producer is a build, and the composition replaces the constructors in the builder by the body of the fold. 36 J. Gibbons foldBuild :: Bifunctor s ⇒ (∀b. ) Once again, both of these definitions are datatype-generic; both take as arguments a producer f and a consumer g, both with types parametrized by the shape s of the product to be built.

Finally, the Builder pattern ‘separates the construction of a complex object from its representation, so that the same construction process can create different representations’. As Figure 9 shows, this is done by delegating responsibility for the construction to a separate Builder object — in fact, an instance of the Strategy pattern [35], encapsulating a strategy for performing the construction. Director Builder 1 +addPart():void Product ConcreteBuilder +addPart():void +getProduct():Product Fig.

Download PDF sample

Rated 4.58 of 5 – based on 46 votes