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 basic primitives. This monograph, written for graduate scholars and researchers, exposes the call-by-push-value constitution underlying a outstanding 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

Similar compilers books

Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity

Joel Spolsky started his mythical net log, www. joelonsoftware. com, in March 2000, so that it will supply insights for making improvements to the realm of programming. Spolsky established those observations on years of private adventure. the outcome only a handful of years later? Spolsky's technical wisdom, caustic wit, and remarkable writing talents have earned him prestige as a programming guru!

From Linear Operators to Computational Biology Essays in Memory of Jacob T. Schwartz

Foreword. - advent. - Nature as Quantum machine. - Jack Schwartz Meets Karl Marx. - SETL and the Evolution of Programming. - choice approach for straightforward Sublanguages of Set thought XVII: in most cases taking place Decidable Extensions of Multi-level Syllogistic. - Jack Schwartz and Robotics: The Roaring Eighties.

Principles of Compilers: A New Approach to Compilers Including the Algebraic Method

"Principles of Compilers: a brand new method of Compilers together with the Algebraic strategy" introduces the guidelines of the compilation from the common intelligence of people via evaluating similarities and transformations among the compilations of traditional languages and programming languages. The notation is created to checklist the resource language, aim languages, and compiler language, vividly illustrating the multilevel method of the compilation within the technique.

Formal Techniques for Safety-Critical Systems: Third International Workshop, FTSCS 2014, Luxembourg, November 6-7, 2014. Revised Selected Papers

This booklet constitutes the refereed complaints of the 3rd overseas Workshop on Formal innovations for Safety-Critical platforms, FTSCS 2014, held in Luxembourg, in November 2014. The 14 revised complete papers provided including invited talks have been rigorously reviewed and chosen from forty submissions.

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

Example text

For exa mple, the term pr int "hello". t rue when evaluated, prints hello and then returns t r ue . We write A for the set of characters that can be print ed , A * for the set of finite strings of characters, * for concate nat ion of strings and " " for the empty string. Formally, we add to the term syntax the following ru le, for every character c E A: rl-M:B I' I- print c. g. in CBV we could let commands have type 1, as in ML. But we prefer commands to be prefixes. This is for the sake of consistency between CE N, CBV, CBPV and the Jump-With-Argument language discussed in Chap.

Proposition 2 (soundness) If M -lJ. m , V then [Mr et = (m, [v]val) D Corollary 3 (by Prop. e, returner of ground type) M , we have M -lJ. m , return n iff [M] = (m, n). 3 Scott Semantics The reader may be familiar with Scott semantics for CBV . This has appeared in two forms. 1 In the older form, types denote pointed cpos, returners denote strict functions and values denote strict, bottom-reflecting functions. 2 In the more recent form, due to Plotkin [Plotkin, 1985], types denote (unpointed) cpos , values denote total functions and returners denote partial functions.

4. Again , t his sect ion may be omitted by read ers unfamiliar with category t heory. The two denotational models of CB N t hat we have seen ar e both cartesian closed categories: CALL-BY-PUSH- VALUE 24 • The printing semantics for CBN is the cartesian closed category in which an object is an A-set (X, *) and a morphism from (X, *) to (Y, *) is a function from X to Y . • The cpo semantics for CBN is the cartesian closed category of cppos and continuous functions. In fact, every model for CBN must be a cartesian closed category, as it must validate the {3- and 1]-laws for funct ions.

Download PDF sample

Call-By-Push-Value: A Functional/Imperative Synthesis by Paul Blain Levy (auth.)
Rated 4.12 of 5 – based on 33 votes