Hi, I'm Lennart Kats, and I work on the programming language infrastructure at Cloud9 IDE. Before, I was a researcher at the Department of Software Technology, Delft University of Technology. Now I'm applying the techniques we developed there in the cloud.
Lennart C. L. Kats, Richard Vogelij, Karl T. Kalleberg, Eelco Visser. Software Development Environments on the Web: A Research Agenda. In Onward! 2012, in proceedings of the ACM international conference on object oriented programming systems languages and applications (OOPSLA 2012), ACM, 2012. [pdf] [bib] [abstract]
Abstract. Software is rapidly moving from the desktop to the Web. The Web provides a generic user interface that allows ubiquitous access, instant collaboration, integration with other online services, and avoids installation and configuration on desktop computers. For software development, the Web presents a shift away from developer workstations as a silo, and has the promise of closer collaboration and improved feedback through innovations in Web-based interactive development environments (IDEs). Moving IDEs to the Web is not just a matter of "porting" desktop IDEs; a fundamental reconsideration of the IDE architecture is necessary in order to realize the full potential that the combination of modern IDEs and the Web can offer. This paper discusses research challenges and opportunities in this area, guided by a pilot study of a web IDE implementation.
Maartje de Jonge, Lennart C. L. Kats, Emma Soderberg, Eelco Visser. Natural and Flexible Error Recovery for Generated Modular Language Environments. ACM Transactions on Programming Languages and Systems (TOPLAS), 2013. [draft] [bib] [abstract]
Abstract. Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse languages composed from separate grammar modules. To apply this algorithm in an interactive environment, this paper introduces a novel error recovery mechanism. Our approach is language-independent, and relies on automatic derivation of recovery rules from grammars. By taking layout information into consideration it can efficiently suggest natural recovery suggestions.