• Publications
  • Influence
Classes and mixins
While class-based object-oriented programming languages provide a flexible mechanism for re-using and managing related pieces of code, they typically lack linguistic facilities for specifying aExpand
  • 494
  • 30
Participatory networking: an API for application control of SDNs
We present the design, implementation, and evaluation of an API for applications to control a software-defined network (SDN). Our API is implemented by an OpenFlow controller that delegates read andExpand
  • 280
  • 25
Embedding Dynamic Dataflow in a Call-by-Value Language
This paper describes FrTime, an extension of Scheme designed for writing interactive applications. Inspired by functional reactive programming, the language embeds dynamic dataflow within aExpand
  • 184
  • 24
The Essence of JavaScript
We reduce JavaScript to a core calculus structured as a small-step operational semantics. We present several peculiarities of the language and show that our calculus models them. We explicate theExpand
  • 209
  • 23
DrScheme: a programming environment for Scheme
DrScheme is a programming environment for Scheme. It fully integrates a graphics-enriched editor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an algebraicExpand
  • 282
  • 21
How to design programs: an introduction to programming and computing
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters aExpand
  • 165
  • 18
Tierless Programming and Reasoning for Software-Defined Networks
We present Flowlog, a tierless language for programming SDN controllers. In contrast to languages with different abstractions for each program tier--the control-plane, data-plane, and controllerExpand
  • 126
  • 18
Semantics and scoping of aspects in higher-order languages
Aspect-oriented software design will need to support languages with first-class and higher-order procedures, such as Ruby, Perl, ML and Scheme. These language features present both challenges andExpand
  • 66
  • 18
Flapjax: a programming language for Ajax applications
This paper presents Flapjax, a language designed for contemporary Web applications. These applications communicate with servers and have rich, interactive interfaces. Flapjax provides two keyExpand
  • 120
  • 17