I am working as a Software Engineer at Google. I received a PhD in Computer Science from the Software Composition Group of the University of Bern. I am an active open-source developer.


I am the author of various open-source frameworks for Dart and Flutter:

  • PetitParser, dynamic parser combinators.
  • Xml, a lightweight library for parsing, traversing, and transforming XML.
  • More, more Dart: collections, caches, iterables, ordering, and formatting.
  • Data, a fast and space efficient library to deal with data.
  • State Machine, a simple, but generic state machine framework.

Also, I am the author of PetitParser for Java:

  • PetitParser, a dynamic parser combinators framework for Java.

In the past, was involved in Seaside, a framework for developing sophisticated web applications in Smalltalk. I maintained the OmniBrowser framework, the Refactoring Engine and various other Smalltalk development tools. My Smalltalk Code Archive is still available. Some projects I am the author of are:

  • PetitParser, a dynamic parser framework for Smalltalk.
  • Builder, build and test Smalltalk images from the command line.
  • Helvetia, language embedding without breaking tools.
  • Gofer, work with groups of package in Monticello.
  • Magritte, a generic self-described meta-model.
  • Pier, an extensible object-oriented content management system.
  • jQuery and jQueryUI for Seaside, change the way you program Javascript.
  • Scriptaculous, let Seaside applications fly Web 2.0 style.
  • Comet, HTTP server push extension for Seaside.
  • SqueakSource, a Smalltalk source code repository.


Don’t miss to check-out my blog and my micro blog:

  • PetitParser for Smalltalk, Java and Dart
    10 June 20126:11:43 pm by Lukas Renggli
    I am happy to announce initial ports of PetitParser to Java and Dart. The repositories contain complete and usable ports of the original Smalltalk implementation, unit tests and example grammars. The three implementations are very similar in their API and the supported features. If possible, I tried to adapt common practices and features of the ta...
  • Composite Grammars with PetitParser
    27 November 20103:14:51 pm by Lukas Renggli
    In a previous post I described the basic principles of PetitParser and gave some introductory examples. In this blog post I am going to present a way to define more complicated grammars. We continue where we left off the last time, with the expression grammar. Writing parsers as a script as we did in the previous post can be cumbersome, especially...