15 research outputs found

    Type inference for nested self types (extended abstract)

    Get PDF

    A Mechanism for Extensible Mutual Recursion

    Get PDF
    Abstract This paper summarizes an approach to extensible mutual recursion using what the author calls, "open modules." An open module effectively parameterizes its content so that it can be used both for the current module and future, extending modules. This paper discusses some of the issues with extensible mutual recursion, describes an open module construct and gives encodings and typing rules for open modules

    ETYMA: a framework for modular systems

    Get PDF
    Journal ArticleModularity, i.e. support for the flexible construction, adaptation, and combination of units of software, is an important goal in many systems. In most cases, however, systems achieve only a few aspects of modularity. The problem can be traced to the inflexibility, or the limited view of modularity taken by the underlying architecture of these systems. As a remedy, we show that the notions fundamental to object-oriented programming, i.e. classes and inheritance, can be formulated as a simple meta-level architecture that can be effectively reused in a wide variety of contexts. We have realized such an architecture as an O-O framework, and constructed two significant and distinct completions of it. Systems based on this framework benefit not only from design and code reuse, but also from the flexibility that the architecture offers. In addition, the architecture represents a unification of the fundamental ideas of several similar but subtly different module systems

    A Fully Abstract Denotational Model for Observational Congruence

    Get PDF
    Denotational Model for Observational Congruence Anna Ing olfsd ottir Andrea Schalk BRICS Report Series RS-95-40 ISSN 0909-0878 August 1995 Copyright c fl 1995, BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus Ny Munkegade, building 540 DK - 8000 Aarhus C Denmark Telephone:+45 8942 3360 Telefax: +45 8942 3255 Internet: [email protected] BRICS publications are in general accessible through WWW and anonymous FTP: http://www.brics.aau.dk/BRICS/ ftp ftp.brics.aau.dk (cd pub/BRICS) A Fully Abstract Denotational Model for Observational Congruence Anna Ing'olfsd'ottir BRICS Dep.of Maths and Computer Science ..

    A Concurrent IFDS Dataflow Analysis Algorithm Using Actors

    Get PDF
    There has recently been a resurgence in interest in techniques for effective programming of multi-core computers. Most programmers find general-purpose concurrent programming to be extremely difficult. This difficulty severely limits the number of applications that currently benefit from multi-core computers. There already exist many concurrent solutions for the class of regular applications, which include various algorithms for linear algebra. For the class of irregular applications, which operate on dynamic and pointer- and graph-based structures, efficient concurrent solutions have so far remained elusive. Dataflow analysis applications, which are often found in compilers and program analysis tools, have received particularly little attention with regard to execution on multi-core machines. Operating on the theory that the Actor model, which structures computations as systems of asynchronously-communicating entities, is a more appropriate method for representing irregular algorithms than the shared-memory model, this work presents a concurrent Actor-based formulation of the IFDS, or Interprocedural Finite Distributive Subset, dataflow analysis algorithm. The implementation of this algorithm is done using the Scala language and its Actors library. This algorithm achieves significant speedup on multi-core machines without using any optimistic execution. This work contributes to Actor research by showing how the Actor model can be practically applied to a dataflow analysis problem. This work contributes to static analysis research by showing how a dataflow analysis algorithm can effectively make use of multi-core machines, allowing the possibility of faster and more precise analyses
    corecore