9 research outputs found

    JavaW: Higher Order Programming in Java

    No full text

    Programming Self-Assembly of DNA Tiles

    No full text
    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

    No full text
    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

    No full text
    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

    Get PDF
    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

    No full text
    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
    corecore