Temporal Higher Order Contracts
by Tim Disney
Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface... more
Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface violations, and help identify faulty modules (packages, classes, functions, etc). This paper extends prior higher-order contract systems to also ex- press and enforce temporal properties, which are common in software systems with imperative state, but which are mostly left implicit or are at best informally specified. The paper presents both a programmatic contract API as well as a temporal contract language, and reports on experience and performance results from implementing these contracts in Racket.
Our development formalizes module behavior as a trace of events such as function calls and returns. Our contract system provides both non-interference (where contracts cannot influence correct executions) and also a notion of completeness (where contracts can enforce any decidable, prefix-closed predicate on event traces)
Virtual Values for Language Extension
by Tim Disney
This paper focuses on extensibility, the ability of a programmer using a particular language to extend the... more
This paper focuses on extensibility, the ability of a programmer using a particular language to extend the expressiveness of that language. This paper explores how to provide an interesting notion of extensibility by virtualizing the interface between code and data. A virtual value is a special value that supports behavioral intercession. When a primitive operation is applied to a virtual value, it invokes a trap on that virtual value. A virtual value contains multiple traps, each of which is a user-defined function that describes how that operation should behave on that value.
This paper formalizes the semantics of virtual values, and shows how they enable the definition of a variety of language extensions, including additional numeric types; delayed evaluation; taint tracking; contracts; revokable membranes; and units of measure. We report on our experience implementing virtual values for Javascript within an extension for the Firefox browser.
Categories and Types for Axiomatic Domain Theory
PhD Thesis
Domain Theory provides a denotational semantics for programming languages and calculi containing fixed point... more
Domain Theory provides a denotational semantics for programming languages and calculi containing fixed point combinators and other so-called paradoxical combinators. This dissertation presents results in the category theory and type theory of Axiomatic Domain Theory.
Prompted by the adjunctions of Domain Theory, we extend Benton's linear/nonlinear dual-sequent calculus to include recursive linear types. and define a class of models by adding Freyd's notion of algebraic compactness to the monoidal adjunctions that model Benton's calculus.
We observe that algebraic compactness is better behaved in the context of categories with structural actions than in the usual context of enriched categories. We establish a theory of structural algebraic compactness that allows us to describe our models without reference to enrichment. We develop a 2-categorical perspective on structural actions, including a presentation of monoidal categories that leads directly to Kelly's reduced coherence conditions.
We observe that Benton's adjoint type constructors can be treated individually, semantically as well as syntactically, using free representations of distributors.
We type various of fixed point combinators using recursive types and function types, which we consider the core types of such calculi, together with the adjoint types. We use the idioms of these typings, which include oblique function spaces, to give a translation of the core of Levy's Call-By-Push-Value. The translation induces call-by-value and call-by-name translations of the core of Plotkin's Fixed Point Calculus.
Following Freyd, we construct a canonical fixed point operation from the algebras provided by the algebraic compactness of our models. Our analysis of Freyd's construction exposes a remarkable property of morphisms from coalgebras to algebras: morphisms from Gp to s correspond one-for-one to morphisms from p to Hs, where p is a coalgebra for HG and s an algebra for GH. We give an application of this property to the transposition of recursive coalgebras in Taylor's categorical theory of recursion where G is not left adjoint to H.
We develop a theory of parametric transformations corresponding to the uniformity property characterizing canonical fixed points and use this to derive abstract conditions on categories of domains which ensure that the interpretation of fixed point combinators coincides with the canonical fixed point operation.
13 views
Seen by:UNDERSTANDING PROGRAMMING LANGUAGES
Minds and Machines
Volume 17, Number 2, 203-216, DOI: 10.1007/s11023-007-9062-6
Abstract
We document the influence on programming language semantics of the Platonism/formalism divide in the... more
Abstract
We document the influence on programming language semantics of the Platonism/formalism divide in the philosophy of mathematics.
18 views
Seen by:Towards Syntax and Semantics of Hierarchical Contexts In Multimedia Processing Applications Using MARFL
http://portal.acm.org/citation.cfm?id=1444455.1446110
We focus on defining context expressions in terms of initial syntax and semantics for an intensional MARF language,... more We focus on defining context expressions in terms of initial syntax and semantics for an intensional MARF language, MARFL. It is there to allow scripting Modular Audio Recognition Framework (MARF)-based applications as context-aware, where the notion of context represents coarse-grained and fine-grained configuration details of a given MARF instance and a set of overloaded context operators borrowed from the Generic Intensional Programming Language (GIPL) @ and # to help with the task. This is a preliminary research on MARFL that has considerable practical implications on the usability of MARF's resourcesand beyond. In this paper we focus exclusively on the context specification for multimedia pattern recognition tasks and available MARF resources for its applications.

