Nothing Special   »   [go: up one dir, main page]

skip to main content
Volume 52, Issue 2February 2017DLS '16
Reflects downloads up to 23 Nov 2024Bibliometrics
Skip Table Of Content Section
SESSION: Papers
article
Type safety analysis for Dart

Optional typing is traditionally viewed as a compromise between static and dynamic type checking, where code without type annotations is not checked until runtime. We demonstrate that optional type annotations in Dart programs can be integrated into a ...

article
Type unsoundness in practice: an empirical study of Dart

The type system in the Dart programming language is deliberately designed to be unsound: for a number of reasons, it may happen that a program encounters type errors at runtime although the static type checker reports no warnings. According to the ...

article
Precise and scalable static analysis of jQuery using a regular expression domain

jQuery is the most popular JavaScript library but the state-of-the-art static analyzers for JavaScript applications fail to analyze simple programs that use jQuery. In this paper, we present a novel abstract string domain whose elements are simple ...

article
Just-in-time inheritance: a dynamic and implicit multiple inheritance mechanism

Multiple inheritance is often criticised for the ambiguity that arises when multiple parents want to pass on a feature with the same name to their offspring. A survey of programming languages reveals that no programming language has an inherently ...

article
Parallel virtual machines with RPython

The RPython framework takes an interpreter for a dynamic language as its input and produces a Virtual Machine (VM) for that language. RPython is being used to develop PyPy, a high-performance Python interpreter. However, the produced VM does not support ...

article
Building efficient and highly run-time adaptable virtual machines

Programming language virtual machines (VMs) realize language semantics, enforce security properties, and execute applications efficiently. Fully Reflective Execution Environments (EEs) are VMs that additionally expose their whole structure and behavior ...

article
Efficiently implementing the copy semantics of MATLAB's arrays in JavaScript

Compiling MATLAB---a dynamic, array-based language---to JavaScript is an attractive proposal: the output code can be deployed on a platform used by billions and can leverage the countless hours that have gone into making JavaScript JIT engines fast. ...

article
Optimizing R language execution via aggressive speculation

The R language, from the point of view of language design and implementation, is a unique combination of various programming language concepts. It has functional characteristics like lazy evaluation of arguments, but also allows expressions to have ...

article
A small embedding of logic programming with a simple complete search

We present a straightforward, call-by-value embedding of a small logic programming language with a simple complete search. We construct the entire language in 54 lines of Racket---half of which implement unification. We then layer over it, in 43 lines, ...

article
Modular semantic actions

Parser generators give programmers a convenient and declarative way to write parsers and other language-processing applications, but their mechanisms for extension and code reuse often leave something to be desired. We introduce Ohm, a parser generator ...

article
Cross-language compiler benchmarking: are we fast yet?

Comparing the performance of programming languages is difficult because they differ in many aspects including preferred programming abstractions, available frameworks, and their runtime systems. Nonetheless, the question about relative performance ...

Subjects

Comments

Please enable JavaScript to view thecomments powered by Disqus.