I work on the design and implementation of programming languages. I led the implementation of the first real-time Java virtual machine to be flight-tested. With Noble and Potter, I proposed what became known as Ownership Types. I tried to understand JavaScript by dynamic analysis and am now looking at supporting scalable data analysis in R.
I work on R language implementation (AST/byte-code interpreter, runtime). I worked on Java and real-time Java implementations (garbage collector, ahead-of-time compiler, interrupt control), on benchmarks and on benchmarking methodology (modeling non-determinism with random effects).
I work on the design, implementation, and semantics of programming languages, especially languages with powerful syntactic abstraction and extension capabilities. Much of my work in that area involves tools and libraries for the Racket macro system. I have also worked on the semantics of probabilistic programming languages.
Coming from software engineering and domain-specific modeling. I’m interested in various aspects of programming languages in particular in static and dynamic program analysis. Most recently I have been working on dynamic tracing in R.
I currently work on Lambdulus. I like functional programming languages and various type systems. I hope to create one in the future.
I am the first point of contact for any issues or discrepancies arising from anywhere. My work is to prepare, coordinate, control such matters as budget, reports and various issues linked to the project. My goal is to give others as much space as possible to concentrate on their research work.