I am the developer of FrTime, an extension of Racket with first-class events and behaviors, which allow programs to react to events without the use of callbacks or imperative operations. Instead, the program expresses dataflow relationships between events and behaviors (known generally as signals), and the language keeps their values up-to-date as the environment changes. FrTime is inspired and informed by work on functional reactive programming.
A key design goal in FrTime is to make it feel like Racket, rather than a completely new language. FrTime is distributed with the Racket programming environment. The core ideas have also been adapted to JavaScript, to create Flapjax, a language for interactive Web applications.
SIGCSE 2013 — Cooper, Guha, Krishnamurthi,
McCarthy, Findler
Teaching Garbage Collection without Implementing Compilers or
Interpreters
SOSP 2011
— Adya, Cooper, Myers, and Piatek.
Thialfi:
A Client Notification Service for Internet-Scale Applications
OOPSLA 2009
— Meyerovich, Guha, Baskin, Cooper, Greenberg, Bromfield, and Krishnamurthi.
Flapjax: A Programming Language for Ajax Applications
My thesis (2008).
PEPM 2007 — Burchett, Cooper,
and Krishnamurthi.
Lowering: A
Static Optimization for Transparent Functional Reactivity
FLOPS 2006 — Ignatoff, Cooper, and
Krishnamurthi.
Adapting Object-Oriented Frameworks to Functional Reactive Languages
ASE Journal 2006 — Marceau, Cooper, Spiro, Krishnamurthi, and Reiss.
The Design and Implementation of a Dataflow Language for Scriptable Debugging
ESOP
2006 — Cooper and Krishnamurthi.
Embedding Dynamic Dataflow in a Call-by-Value
Language
ASE 2004 —
Marceau, Cooper, Krishnamurthi, and Reiss.
A Dataflow Language for Scriptable Debugging
Real-Time Systems vol. 20, no. 2 (March 2001) — DiPippo, Fay-Wolfe,
Esibov, Cooper, Bethmangalkar, Johnston, Thuraisingham, and Mauer.
Scheduling and Priority-Mapping for Static Real-Time
Middleware
TPDS vol. 11, no. 10 (October 2000) — Fay-Wolfe,
DiPippo, Cooper, Johnston, Kortmann, and Thuraisingham.
Real-Time CORBA
ISORC 1998 — Squadrito,
Esibov, DiPippo, Fay-Wolfe, Cooper, Thuraisingham, Krupp, Milligan,
and Johnston.
Concurrency Control in Real-Time Object-Oriented Systems: the
Affected Set Priority Ceiling Protocols