Download Advanced Functional Programming: 4th International School, by Richard Bird, Jeremy Gibbons (auth.), Johan Jeuring, Simon PDF

By Richard Bird, Jeremy Gibbons (auth.), Johan Jeuring, Simon L. Peyton Jones (eds.)

This instructional booklet provides seven revised lectures given by means of major researchers on the 4th overseas institution on practical Programming, AFP 2002, in Oxford, united kingdom in August 2002.

The lectures provided introduce instruments, language beneficial properties, domain-specific languages, challenge domain names, and programming tools. All lectures comprise workouts and sensible assignments. The software program accompanying the lectures will be accessed from the AFP 2002 website. This publication is designed to allow contributors, small teams of scholars, and academics to review fresh paintings within the speedily constructing zone of useful programming.

Show description

Read or Download Advanced Functional Programming: 4th International School, AFP 2002, Oxford, UK, August 19-24, 2002. Revised Lectures PDF

Similar international_1 books

Knowledge and Systems Engineering: Proceedings of the Sixth International Conference KSE 2014

This quantity includes papers provided on the 6th overseas convention on wisdom and structures Engineering (KSE 2014), which was once held in Hanoi, Vietnam, in the course of 9–11 October, 2014. The convention was once prepared through the college of Engineering and expertise, Vietnam nationwide collage, Hanoi. along with the most tune of contributed papers, this court cases function the result of 4 targeted periods concentrating on particular subject matters of curiosity and 3 invited keynote speeches.

Topics in Nonparametric Statistics: Proceedings of the First Conference of the International Society for Nonparametric Statistics

This quantity consists of peer-reviewed papers that experience built from the 1st convention of the overseas Society for Non Parametric information (ISNPS). This inaugural convention happened in Chalkidiki, Greece, June 15-19, 2012. It was once equipped with the co-sponsorship of the IMS, the ISI and different companies.

Extra info for Advanced Functional Programming: 4th International School, AFP 2002, Oxford, UK, August 19-24, 2002. Revised Lectures

Example text

T. Chakravarty and G. Keller The big picture. It is worthwhile to reflect some more on the generalisation of PArray that allows us to cover immutable and mutable array representations with a single type mapping. The essential point is the change of the array representation type arr , in the mapping PArray e arr , from being a manifest type of kind to becoming a type constructor of kind → ( → ) → , and hence from being an array representation type to being an array representation constructor. With this change, an element type no longer implies an array representation, but instead a blueprint that enables the construction of an array representation from a type of base arrays.

Chakravarty and G. Keller As a next step, we replace each array comprehension by the lifted version of the body expression of the comprehension, where we bind the array generator expression (ge) to the generator variable (x ): [:be | x ← ge:] let x = ge in L be = [x ] Both the introduction of vectorised functions and the removal of array comprehensions makes use of the lifting transformation L · · , which does most of the actual work of vectorising code. An application L e vs of the lifting transformation lifts the expression e into vector space within the vectorisation context vs.

T. Chakravarty and G. Keller type [:Unit:] = [:ρ:] | ρ ∈ {Int, Float, . } = = [:τ1 :∗: τ2 :] = [:τ1 :+: τ2 :] [:[:τ :]:] = type Sel type Segd Int UArr ρ [:τ1 :] :∗: [:τ2 :] Sel :∗: [:τ1 :] :∗: [:τ2 :] Segd :∗: [:τ :] = [:Bool :] = [:Int:] -- unboxed basic array -- selector -- segment descriptor Figure7. Polytypic definition of parallel arrays choice of representation for a polytypic type naturally affects the implementation of functions operating on that type, too. Such functions, whose concrete implementation depends on a type argument, are called type-index functions or polytypic functions.

Download PDF sample

Rated 4.25 of 5 – based on 8 votes