From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/2025 Path: news.gmane.org!not-for-mail From: Paul Levy Newsgroups: gmane.science.mathematics.categories Subject: Call-By-Push-Value thesis available Date: Tue, 26 Jun 2001 13:03:01 -0400 (EDT) Message-ID: <200106261703.f5QH31l07617@csb.bu.edu> NNTP-Posting-Host: main.gmane.org X-Trace: ger.gmane.org 1241018292 1791 80.91.229.2 (29 Apr 2009 15:18:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Apr 2009 15:18:12 +0000 (UTC) To: categories@mta.ca Original-X-From: rrosebru@mta.ca Thu Jun 28 20:07:39 2001 -0300 Return-Path: Original-Received: (from Majordom@localhost) by mailserv.mta.ca (8.11.1/8.11.1) id f5SMEOk21133 for categories-list; Thu, 28 Jun 2001 19:14:24 -0300 (ADT) X-Authentication-Warning: mailserv.mta.ca: Majordom set sender to cat-dist@mta.ca using -f Original-Sender: cat-dist@mta.ca Precedence: bulk X-Keywords: X-UID: 36 Original-Lines: 66 Xref: news.gmane.org gmane.science.mathematics.categories:2025 Archived-At: Dear colleagues, My PhD thesis "Call-By-Push-Value" is available at http://cs-people.bu.edu/pbl/papers/thesisqmwphd.ps.gz The call-by-push-value paradigm is based to a large extent on the theory of adjunctions. Part 3 of the thesis explains this connection, so I hope it will be of especial interest to category theorists. Regards Paul Blain Levy, Boston University http://cs-people.bu.edu/pbl/ ------------------------------------------------------------------------ Call-By-Push-Value PhD thesis, Queen Mary, University of London, March 2001 Abstract Call-by-push-value (CBPV) is a new programming language paradigm, based on the slogan ``a value is, a computation does''. We claim that CBPV provides the semantic primitives from which the call-by-value and call-by-name paradigms are built. The primary goal of the thesis is to present the evidence for this claim, which is found in a remarkably wide range of semantics: from operational semantics, in big-step form and in machine form, to denotational models using domains, possible worlds, continuations and games. In the first part of the thesis, we come to CBPV and its equational theory by looking critically at the call-by-value and call-by-name paradigms in the presence of general computational effects. We give a Felleisen/Friedman-style CK-machine semantics, which explains how CBPV can be understood in terms of push/pop instructions. In the second part we give simple CBPV models for printing, divergence, global store, errors, erratic choice and control effects, as well as for various combinations of these effects. We develop the store model into a possible world model for cell generation, and (following Steele) we develop the control model into a ``jumping implementation'' using a continuation language called Jump-With-Argument (JWA). We present a pointer game model for CBPV, in the style of Hyland and Ong. We see that the game concepts of questioning and answering correspond to the CBPV concepts of forcing and producing respectively. We observe that this game semantics is closely related to the jumping implementation. In the third part of the thesis, we study the categorical semantics for the CBPV equational theory. We present and compare 3 approaches: \begin{itemize} \item models using \emph{strong monads}, in the style of Moggi; \item models using \emph{value/producer structures}, in the style of Power and Robinson; \item models using (strong) adjunctions. \end{itemize} All the concrete models in the thesis are seen to be adjunction models.