113 research outputs found
Online partial evaluation of sheet-defined functions
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
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
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
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
- …