113 research outputs found

    Online partial evaluation of sheet-defined functions

    Get PDF
    We present a spreadsheet implementation, extended with sheet-defined functions, that allows users to define functions using only standard spreadsheet concepts such as cells, formulas and references, requiring no new syntax. This implements an idea proposed by Peyton-Jones and others. As the main contribution of this paper, we then show how to add an online partial evaluator for such sheet-defined functions. The result is a higher-order functional language that is dynamically typed, in keeping with spreadsheet traditions, and an interactive platform for function definition and function specialization. We describe an implementation of these ideas, present some performance data from microbenchmarks, and outline desirable improvements and extensions.Comment: In Proceedings Festschrift for Dave Schmidt, arXiv:1309.455

    Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models

    Get PDF
    The upcoming many-core architectures require software developers to exploit concurrency to utilize available computational power. Today's high-level language virtual machines (VMs), which are a cornerstone of software development, do not provide sufficient abstraction for concurrency concepts. We analyze concrete and abstract concurrency models and identify the challenges they impose for VMs. To provide sufficient concurrency support in VMs, we propose to integrate concurrency operations into VM instruction sets. Since there will always be VMs optimized for special purposes, our goal is to develop a methodology to design instruction sets with concurrency support. Therefore, we also propose a list of trade-offs that have to be investigated to advise the design of such instruction sets. As a first experiment, we implemented one instruction set extension for shared memory and one for non-shared memory concurrency. From our experimental results, we derived a list of requirements for a full-grown experimental environment for further research

    Brief History

    No full text
    ECMA/TC35 was set-up in 1990 to develop an architectural reference model for the user system interface. The main purpose was to use the developed model to identify the standards required for this interface and also to improve the communication on user interfaces in generally providing a common framework and terminology. Work started by examining the currently available user system interfaces and the relevant work already in progress in other standardisation bodies. A number of meetings were dedicated to the consideration of user interfaces either commercially available or under development, and liaison was maintained with other standardisation bodies, in particular with ISO/IEC JTC1/SC18 WG9 and is ISO/TC159/SC4 WG5. In addition to the ECMA user interface reference model, this ECMA Technical Report contains a set of forms (see annex A), permitting the classification of a user interface according to the ECMA taxonomy. This annex contains examples of completed forms. The work of NIST was considered, and annex B describes the relationship between the interface in this Technical Report and the one described in FIPS 158. Annex C describes a set of input, output and input/output devices

    Ecma/tc39/tg3/2000/01

    No full text
    this document, and collected together in a single section (see Collected CLS Rules), there are specific rules that must be followed in order to conform to the CLS. These rules apply only to items that are exposed for use by other programming languages. In particular, they apply to types that are visible in assemblies other those in which they are defined, and to the members (fields, methods, properties, events, and nested types) that are accessible outside the assembly (i.e. those that have an accessibility of public, family,orfamily or assembly
    • …
    corecore