Results 1 
7 of
7
Models of Sharing Graphs: A Categorical Semantics of let and letrec
, 1997
"... To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sha ..."
Abstract

Cited by 62 (10 self)
 Add to MetaCart
To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sharing graphs. The simplest is firstorder acyclic sharing graphs represented by letsyntax, and others are extensions with higherorder constructs (lambda calculi) and/or cyclic sharing (recursive letrec binding). For each of four settings, we provide the equational theory for representing the sharing graphs, and identify the class of categorical models which are shown to be sound and complete for the theory. The emphasis is put on the algebraic nature of sharing graphs, which leads us to the semantic account of them. We describe the models in terms of the notions of symmetric monoidal categories and functors, additionally with symmetric monoidal adjunctions and traced
CPS Transformation after Strictness Analysis
 ACM Letters on Programming Languages and Systems
, 1993
"... syntax of the source language ` c : ' f:::; x : ø ; :::g ` x : ø ß ` e : ø !ø ß ` fix e : ø ß [ fx : ø 1 g ` e : ø 2 ß ` x : ø 1 : e : ø 1 !ø 2 ß ` e 0 : ø 1 !ø 2 ß ` e 1 : ø 1 ß ` @ e 0 e 1 : ø 2 ß ` e 1 : ' ß ` e 2 : ø ß ` e 3 : ø ß ` if e 1 then e 2 else e 3 : ø ß ` e 0 : ø 0 ß [ fx : ø 0 g ` ..."
Abstract

Cited by 26 (10 self)
 Add to MetaCart
syntax of the source language ` c : ' f:::; x : ø ; :::g ` x : ø ß ` e : ø !ø ß ` fix e : ø ß [ fx : ø 1 g ` e : ø 2 ß ` x : ø 1 : e : ø 1 !ø 2 ß ` e 0 : ø 1 !ø 2 ß ` e 1 : ø 1 ß ` @ e 0 e 1 : ø 2 ß ` e 1 : ' ß ` e 2 : ø ß ` e 3 : ø ß ` if e 1 then e 2 else e 3 : ø ß ` e 0 : ø 0 ß [ fx : ø 0 g ` e 1 : ø 1 ß ` let x = e 0 in e 1 : ø 1 ß ` e 1 : ø 1 ß ` e 2 : ø 2 ß ` pair e 1 e 2 : ø 1 \Theta ø 2 ß ` e : ø 1 \Theta ø 2 ß ` fst e : ø 1 ß ` e : ø 1 \Theta ø 2 ß ` snd e : ø 2 Fig. 2. Typechecking rules for the source language approach is used by Kesley and Hudak [11] and by Fradet and Le M'etayer [9]. Both include a CPS transformation. Fradet and Le M'etayer compile both CBN and CBV programs by using the CBN and the CBV CPStransformation. Recently, Burn and Le M'etayer have combined this technique with a global programanalysis [2], which is comparable to our goal here. 1.4 Overview Section 2 presents the syntax of the source language and the strictnessannotated language. We c...
Varieties of effects
 In Foundations of Software Science and Computation Structures, volume 2303 of LNCS
, 2002
"... Abstract. We introduce the notion of effectoid as a way of axiomatising the notion of “computational effect”. Guided by classical algebra, we define several effectoids equationally and explore their relationship with each other. We demonstrate their computational relevance by applying them to global ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Abstract. We introduce the notion of effectoid as a way of axiomatising the notion of “computational effect”. Guided by classical algebra, we define several effectoids equationally and explore their relationship with each other. We demonstrate their computational relevance by applying them to global exceptions, partiality, continuations, and global state. 1
Axioms for Recursion in CallbyValue
 HIGHERORDER AND SYMBOLIC COMPUT
, 2001
"... We propose an axiomatization of fixpoint operators in typed callbyvalue programming languages, and give its justifications in two ways. First, it is shown to be sound and complete for the notion of uniform Tfixpoint operators of Simpson and Plotkin. Second, the axioms precisely account for Filins ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
We propose an axiomatization of fixpoint operators in typed callbyvalue programming languages, and give its justifications in two ways. First, it is shown to be sound and complete for the notion of uniform Tfixpoint operators of Simpson and Plotkin. Second, the axioms precisely account for Filinski's fixpoint operator derived from an iterator (infinite loop constructor) in the presence of firstclass continuations, provided that we define the uniformity principle on such an iterator via a notion of effectfreeness (centrality). We then explain how these two results are related in terms of the underlying categorical structures.
Duality between CallbyName Recursion and CallbyValue Iteration
 In Proc. Computer Science Logic, Springer Lecture Notes in Comput. Sci
, 2001
"... We investigate the duality between callbyname recursion and callbyvalue iteration on the calculi. The duality between callbyname and callbyvalue was first studied by Filinski, and Selinger has studied the categorytheoretic duality on the models of the callbyname calculus and the callby ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
We investigate the duality between callbyname recursion and callbyvalue iteration on the calculi. The duality between callbyname and callbyvalue was first studied by Filinski, and Selinger has studied the categorytheoretic duality on the models of the callbyname calculus and the callbyvalue one. We extend the callbyname calculus and the callbyvalue one with a fixedpoint operator and an iteration operator, respectively. We show that the dual translations constructed by Selinger can be expanded into our extended calculi, and we also discuss their implications to practical applications.
On the callbyvalue CPS transform and its semantics
, 2004
"... We investigate continuations in the context of idealized callbyvalue programming languages. On the semantic side, we analyze the categorical structures that arise from continuation models of callbyvalue languages. On the syntactic side, we study the callbyvalue continuationpassing transformat ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We investigate continuations in the context of idealized callbyvalue programming languages. On the semantic side, we analyze the categorical structures that arise from continuation models of callbyvalue languages. On the syntactic side, we study the callbyvalue continuationpassing transformation as a translation between equational theories. Among the novelties are an unusually simple axiomatization of control operators and a strengthened completeness result with a proof based on a delaying transform.