11,893 research outputs found
Venture mania in Europe: Its causes and consequences
Over the course of the past twenty years, venture capital has fuelled an entrepreneurial revolution - first in the United States and now in Europe's common market -, which has opened new opportunities for technological innovation, capital investment and employment growth. Some of the most promising opportunities are in science-based industries, like software and biotechnology, which are often seen as driving the transformation to an increasingly knowledge- based economy. Indeed, this transformation would hardly be conceivable without the innovative contributions of business start-ups that rely on venture capital to finance their early stages of growth. So what, if anything, should governments do to support venture capital and help this transformation along? This paper will argue that governments must understand that venture capital is necessarily linked to specialization and therefore cannot be expected to play the same role in any two economies whose place, and contribution, within the international division of labour differ. --
Speculative Staging for Interpreter Optimization
Interpreters have a bad reputation for having lower performance than
just-in-time compilers. We present a new way of building high performance
interpreters that is particularly effective for executing dynamically typed
programming languages. The key idea is to combine speculative staging of
optimized interpreter instructions with a novel technique of incrementally and
iteratively concerting them at run-time.
This paper introduces the concepts behind deriving optimized instructions
from existing interpreter instructions---incrementally peeling off layers of
complexity. When compiling the interpreter, these optimized derivatives will be
compiled along with the original interpreter instructions. Therefore, our
technique is portable by construction since it leverages the existing
compiler's backend. At run-time we use instruction substitution from the
interpreter's original and expensive instructions to optimized instruction
derivatives to speed up execution.
Our technique unites high performance with the simplicity and portability of
interpreters---we report that our optimization makes the CPython interpreter up
to more than four times faster, where our interpreter closes the gap between
and sometimes even outperforms PyPy's just-in-time compiler.Comment: 16 pages, 4 figures, 3 tables. Uses CPython 3.2.3 and PyPy 1.
Staging Transformations for Multimodal Web Interaction Management
Multimodal interfaces are becoming increasingly ubiquitous with the advent of
mobile devices, accessibility considerations, and novel software technologies
that combine diverse interaction media. In addition to improving access and
delivery capabilities, such interfaces enable flexible and personalized dialogs
with websites, much like a conversation between humans. In this paper, we
present a software framework for multimodal web interaction management that
supports mixed-initiative dialogs between users and websites. A
mixed-initiative dialog is one where the user and the website take turns
changing the flow of interaction. The framework supports the functional
specification and realization of such dialogs using staging transformations --
a theory for representing and reasoning about dialogs based on partial input.
It supports multiple interaction interfaces, and offers sessioning, caching,
and co-ordination functions through the use of an interaction manager. Two case
studies are presented to illustrate the promise of this approach.Comment: Describes framework and software architecture for multimodal web
interaction managemen
Recommended from our members
Collapsing towers of interpreters
Given a tower of interpreters, i.e., a sequence of multiple interpreters interpreting one another as input programs, we aim to collapse this tower into a compiler that removes all interpretive overhead and runs in a single pass. In the real world, a use case might be Python code executed by an x86 runtime, on a CPU emulated in a JavaScript VM, running on an ARM CPU. Collapsing such a tower can not only exponentially improve runtime performance, but also enable the use of base-language tools for interpreted programs, e.g., for analysis and verification. In this paper, we lay the foundations in an idealized but realistic setting.
We present a multi-level lambda calculus that features staging constructs and stage polymorphism: based on runtime parameters, an evaluator either executes source code (thereby acting as an interpreter) or generates code (thereby acting as a compiler). We identify stage polymorphism, a programming model from the domain of high-performance program generators, as the key mechanism to make such interpreters compose in a collapsible way.
We present Pink, a meta-circular Lisp-like evaluator on top of this calculus, and demonstrate that we can collapse arbitrarily many levels of self-interpretation, including levels with semantic modifications. We discuss several examples: compiling regular expressions through an interpreter to base code, building program transformers from modi ed interpreters, and others. We develop these ideas further to include reflection and reification, culminating in Purple, a reflective language inspired by Brown, Blond, and Black, which realizes a conceptually infinite tower, where every aspect of the semantics can change dynamically. Addressing an open challenge, we show how user programs can be compiled and recompiled under user-modified semantics.Parts of this research were supported by ERC grant 321217, NSF awards 1553471 and 1564207, and DOE award DE-SC0018050
The role of embryo movement in the development of the furcula
The pectoral girdle is a complex structure which varies in its morphology between species. A major component in birds is the furcula, which can be considered equivalent to a fusion of the paired clavicles found in many mammals, and the single interclavicle found in many reptiles. These elements are a remnant of the dermal skeleton and the only intramembranous bones in the trunk. Postnatally, the furcula plays important mechanical roles by stabilising the shoulder joint and acting as a mechanical spring during flight. In line with its mechanical role, previous studies indicate that, unlike many other intramembranous bones, furcula growth during development can be influenced by mechanical stimuli. This study investigated the response of individual aspects of furcula growth to both embryo immobilisation and hypermotility in the embryonic chicken. The impact of altered incubation temperature, which influences embryo motility, on crocodilian interclavicle development was also explored. We employed whole‐mount bone and cartilage staining and 3D imaging by microCT to quantify the impact of rigid paralysis, flaccid paralysis and hypermobility on furcula growth in the chicken, and 3D microCT imaging to quantify the impact of reduced temperature (32–28 °C) and motility on interclavicle growth in the crocodile. This revealed that the growth rates of the clavicular and interclavicular components of the furcula differ during normal development. Total furcula area was reduced by total unloading produced by flaccid paralysis, but not by rigid paralysis which maintains static loading of embryonic bones. This suggests that dynamic loading, which is required for postnatal bone adaptation, is not a requirement for prenatal furcula growth. Embryo hypermotility also had no impact on furcula area or arm length. Furcula 3D shape did, however, differ between groups; this was marked in the interclavicular component of the furcula, the hypocleideum. Hypocleideum length was reduced by both methods of immobilisation, and interclavicle area was reduced in crocodile embryos incubated at 28 °C, which are less motile than embryos incubated at 32 °C. These data suggest that the clavicular and interclavicle components of the avian furcula respond differently to alterations in embryo movement, with the interclavicle requiring both the static and dynamic components of movement‐related loading for normal growth, while static loading preserved most aspects of clavicle growth. Our data suggest that embryo movement, and the mechanical loading this produces, is important in shaping these structures during development to suit their postnatal mechanical roles
- …