70 research outputs found
From Macros to DSLs: The Evolution of Racket
The Racket language promotes a language-oriented style of programming. Developers create many domain-specific languages, write programs in them, and compose these programs via Racket code. This style of programming can work only if creating and composing little languages is simple and effective. While Racket\u27s Lisp heritage might suggest that macros suffice, its design team discovered significant shortcomings and had to improve them in many ways. This paper presents the evolution of Racket\u27s macro system, including a false start, and assesses its current state
‘The economy is rigged’: inequality narratives, fairness, and support for redistribution in six countries
Do narratives about the causes of inequality influence support for redistribution? Scholarship
suggests that information about levels of inequality does not easily shift redistributive
attitudes. We embed information about inequality within a commentary article depicting the
economy as being rigged to advantage elites, a common populist narrative of both the left and
right. Drawing on the media effects and political economy literatures, we expect articles
employing narratives that portray inequality as the consequence of systemic unfairness to
increase demands for redistribution. We test this proposition via an online survey experiment
with 7,426 respondents in Australia, France, Germany, Switzerland, the United Kingdom,
and the United States. Our narrative treatment significantly increases attitudes favoring
redistribution in five of the countries. In the US the treatment has no effect. We consider
several reasons for the non-result in the US – highlighting beliefs about government
inefficiency – and conclude by discussing general implications of our findings
Three Year Aging of Prototype Flight Laser at 10 Khz and 1 Ns Pulses with External Frequency Doubler for the Icesat-2 Mission
We present the results of three year life-aging of a specially designed prototype flight source laser operating at 1064 nm, 10 kHz, 1ns, 15W average power and external frequency doubler. The Fibertek-designed, slightly pressurized air, enclosed-container source laser operated at 1064 nm in active Q-switching mode. The external frequency doubler was set in a clean room at a normal air pressure. The goal of the experiment was to measure degradation modes at 1064 and 532 nm discreetly. The external frequency doubler consisted of a Lithium triborate, LiB3O5, crystal operated at non-critical phase-matching. Due to 1064 nm diagnostic needs, the amount of fundamental frequency power available for doubling was 13.7W. The power generated at 532 nm was between 8.5W and 10W, depending on the level of stress and degradation. The life-aging consisted of double stress-step operation for doubler crystal, at 0.35 J/cm2 for almost 1 year, corresponding to normal conditions, and then at 0.93 J/cm2 for the rest of the experiment, corresponding to accelerated testing. We observed no degradation at the first step and linear degradation at the second step. The linear degradation at the second stress-step was related to doubler crystal output surface changes and linked to laser-assisted contamination. We discuss degradation model and estimate the expected lifetime for the flight laser at 532 nm. This work was done within the laser testing for NASA's Ice, Cloud, and land Elevation Satellite-2 (ICESat-2) LIDAR at Goddard Space Flight Center in Greenbelt, MD with the goal of 1 trillion shots lifetime
Poaching and firm-sponsored training: first clean evidence
A series of seminal theoretical papers argues that poaching of employees may hamper company-sponsored general training. However, the extent of poaching, its determinants and consequences, remains an open empirical question. We provide a novel empirical identification strategy for poaching and investigate its causes and consequences. We find that only a small number of training firms in Germany are poaching victims. Firms are more likely to poach employees during an economic downturn. Training firms respond to poaching by lowering the share of new apprentice intakes in the following years
Poaching and Firm-Sponsored Training
A series of seminal theoretical papers argues that poaching of employees may hamper company-sponsored general training like apprenticeship training in Germany. Empirically
however, the existence, extent and consequences of poaching still remain an open question. We provide a novel empirical strategy to identify poaching and investigate its causes and
consequences. We find that only a few apprenticeship training firms in Germany are poaching victims or raiders. Poaching victim firms are more likely to be in a temporary downturn and raiding firms are more likely to increase their workforce. Poaching victims hardly change their training strategy after poaching. Thus, poaching is a transitory event and not a general threat to apprenticeship training. This is an important result for countries that intend to introduce apprenticeship type of training and need to convince firms to participate in their endeavour
Post-crisis reforms in banking: Regulators at the interface between domestic and international governance
Post-crisis international standards have been agreed on in certain areas of banking regulation, namely capital, liquidity, and resolution, but not others, namely bank structure – why? We articulate a two-step analytical framework that links the domestic and international levels of governance. In particular, we focus on the role of domestic regulators at the interface between the two levels. At the domestic level, regulators evaluate externalities and adjustment costs before engaging in cooperation at the international level. This analysis explains why regulators in the United States and the European Union act as pacesetters, foot-draggers, or fence-sitters in international standard setting; that is to say, why they promote, resist, or are neutral toward international financial standards. At the international level, we explain the outcome of international standard setting by considering the interaction of pacesetters and foot-draggers
Taming macros
Scheme includes a simple yet powerful macro mechanism. Using macros, programmers can easily extend the language with new kinds of expressions and definitions, thus abstracting over recurring syntactic patterns. As with every other powerful language mechanism, programmers can also easily misuse macros and, to this day, broken macro definitions or macro uses pose complex debugging problems to programmers at all levels of experience. In this paper, we present a type system for taming Scheme-like macros. Specifically, we formulate a small model that captures the essential properties of Scheme-style macros. For this model, we formulate a novel type system to eliminate some of these problems, prove its soundness, and validate its pragmatic usefulness
- …