Call-By-Push-Value: A Functional/Imperative Synthesis by Paul Blain Levy (auth.)

By Paul Blain Levy (auth.)

Call-by-push-value is a programming language paradigm that, strangely, breaks down the call-by-value and call-by-name paradigms into uncomplicated primitives. This monograph, written for graduate scholars and researchers, exposes the call-by-push-value constitution underlying a impressive diversity of semantics, together with operational semantics, domain names, attainable worlds, continuations and video games.

Show description

Read Online or Download Call-By-Push-Value: A Functional/Imperative Synthesis PDF

Best compilers books

Ada 95 Rationale: The Language The Standard Libraries

Ada ninety five, the improved model of the Ada programming language, is now in position and has attracted a lot realization locally because the overseas ordinary ISO/IEC 8652:1995(E) for the language was once authorized in 1995. The Ada ninety five reason is available in 4 components. The introductory half is a common dialogue of the scope and ambitions of Ada ninety five and its significant technical good points.

Pattern Calculus: Computing with Functions and Structures

Over the years, simple study has a tendency to steer to specialization – more and more slender t- ics are addressed through more and more focussed groups, publishing in more and more con ned workshops and meetings, discussing more and more incremental contri- tions. Already the neighborhood of programming languages is divided into quite a few s- groups addressing various facets and paradigms (functional, vital, relational, and object-oriented).

Automated Deduction - Cade-22: 22nd International Conference on Automated Deduction, Montreal, Canada, August 2-7, 2009. Proceedings

This e-book constitutes the refereed court cases of the twenty second overseas convention on computerized Deduction, CADE-22, held in Montreal, Canada, in August 2009. The 27 revised complete papers and five method descriptions provided have been rigorously reviewed and chosen from seventy seven submissions. additionally, 3 invited lectures by way of special specialists within the sector have been integrated.

Extra info for Call-By-Push-Value: A Functional/Imperative Synthesis

Example text

A closed t erm of ty pe bool den otes either true or false; there is an easy decision procedure to find whi ch. We ca ll bool the ground type. 2 Product Types Suppose we want to add product types A x A'to A booI-l-. It is clear what the introduction rule should be: r f- M r :A r f- M ' : A' f- (M , M ') : A x A' But we have a choice as to t he form of the eliminat ion rule. N : B :B Call-B y- Value and Call-By-Name 5 f l-- M: A r , x: A , r ' I-- x : A I' I-- true: bool I-- let M be x. 1. f l--M :A fl--N:A -+B f l--M'N: B Terms of A bool+ At first sight , t he cho ice b etween projections and pat tern-mat chi ng seems unim portant , b ecause t hese two forms of elimination r ule are equivalent: 7fM pm M a s (x, y).

This kind of informati on about cont rol flow is mu ch less explicit in CBV and CBN . For t his reason , as we shall see in Ch ap. 7 and Chap. 8, it is beneficial to use CBPV when studying semant ics that des cribes interaction between different parts of a program, such as continuation semant ics or game semant ics. Although force and return both ca use jumps, t here is an important difference between t he two. A force instruction will specify where cont rol moves to: in the example pro gram, to y.

Xli INTRO DUCTION C hap . 10 ~"-" C hap . 8 /1 . C hap . 11 C h a p. 1. 1 Introduction T here is a certain tension in t he presentati on of CBPV: how mu ch attent ion shall we devote to CBN and CBV? On t he one hand, we are claiming t hat CBPV "subsumes" CBN and CB V, and to see how t hat is achieved we have to discuss CB N and CBV, at least to some exte nt . On the ot her hand, a t horough st udy of CBN and CBV would be a waste of effort, since a primary pur pose of CB PV is to relieve us of t hat t ask.

Download PDF sample

Rated 4.32 of 5 – based on 6 votes