9 research outputs found
Programming Self-Assembly of DNA Tiles
SKI# is a Turing complete, language for programming in the
aTAM model. A compilation technique provides a mapping from SKI#
into finite sets of DNA Tiles that self-assemble in the aTAM model.
Though such sets are always finite, the number of Tiles may be relevant,
the construction of the Tiles may be heavy and the self-assembly can produce
wrong molecular growth. In this paper we discuss the construction
of a DNA Universal Machine as an aTAM interpreter for the entire Combinatory
Logic, comparing it with the compiler based approach. Finally,
Consensus is considered as a case study in distributed programming in
the aTAM model and a further step in the design of SKI# and in the
expressivity of aTAM (Wang Tiling) compared to Combinatory Logic
and π-calculus.
and π-calculus
Methods as Parameters: A Preprocessing Approach to Higher Order in Java
Abstract. The paper investigates the use of preprocessing in adding higher order functionalities
to Java, that is in passing methods to other methods. The approach is based on a
mechanism which offers a restricted, disciplined, form of abstraction that is suitable to the
integration of high order and object oriented programming. We show how this integration
can be exploited in programming through the development of an example. Then, we discuss
how the expressive power of the language is improved. A new syntax is introduced for
formal and actual parameters, hence the paper defines a translation that, at preprocessing
time, maps programs of the extended language into programs of ordinary Java
Properties of Java Simple Closures
Abstract: In the last years, the Java community has been arguing about adding closures to Java in order to improve expressivity. The debate has not yet terminated but all proposals seem to converge towards a notion of Simple Closures which contain only the essential features of anonymous functions. This paper addresses the problem of defining a rigorous semantics for Simple Closures. The technique adopted is well known and has already been used to prove interesting properties of other extensions of Java. A minimal calculus is defined: Featherweight Java extended with Simple Closures. Syntax and semantics of such a calculus are defined and type safety, backward compatibility, and the abstraction property are prove
Lazy Linear Combinatorial Unification
Abstract: In this paper we define a two-rule reduction system for the lazy computation of unification on first-order terms. The computation consists of a sequence of reductions which is almost linear with the size of the input. Every reduction transforms the problem into an equivalent one which is a better approximation of the solution. The approach is based on a combinatorial system which provides abstractions for terms and term unification, and does not resort to any specific reduction control strategy. The abstraction on both data and control makes our system suitable in any applicative context where unification is required. (C) 1999 Academic Press
Proving Translation and Reduction Semantics Equivalent for Java Simple Closures
FGCJ is a minimal core calculus that extends Featherweight (generic) Java, FGJ,
with lambda expressions. It has been used to study properties of Simple Closure in
Java, including type safety and the abstraction property. Its formalization is based on
a reduction semantics and a typing system that extend those of FGJ. F is a source-tosource,
translation rule system from Java 1.5 extended with lambda expressions back to
ordinary Java 1.5. It has been introduced to study implementation features of closures
in Java, including assignment of non local variables and relations with anonymous class
objects. In this paper we prove that the two semantics commute