Homepage
An Essay on Language Design
Interests in programming language design:
- Concurrency abstractions (actors, channels, joins, STM, ...)
- Distributed computing abstractions (remote references, failure handling, ...)
- Parallel programming abstractions (data parallelism, fork/join, MapReduce, ...)
- Asynchronous and event-driven computations (futures, promises, reactive programming, ...)
- Object models (class-based, prototype-based, ...)
- Object composition (mixins, traits, ...)
- Language "symbiosis" (e.g. interoperation of dynamic languages and the JVM)
- Reflection (mirrors, intercession, meta-objects, ...)
- Meta-programming (macros, quasiquoting, ...)
- Psychology of programming (Green's cognitive dimensions of notations)
Talk to me about: AmbientTalk, Javascript, Erlang, Clojure, Scheme, Self, Ruby, Java, Occam, Fortress, X10, Chapel, ...
--
TomVanCutsem - 12 May 2011