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.

Other projects I have been involved with:


Don’t miss to check-out my Blog:

  • Adding call/answer in under 35 lines of Dart code
    28 July 20205:51:59 pm by Lukas Renggli
    This is a follow up to Seaside in under 100 lines of Dart code. Over the past few days, I've added some more examples and a bunch of new features — such as the ability for sessions to expire — to the GitHub Repository. The most interesting change is another key-defining feature of Seaside: the ability to create a flow of components in normal c...
  • Seaside in under 100 lines of Dart code
    26 July 20201:58:43 pm by Lukas Renggli
    The component model of Seaside is great; so are the callbacks and the state handling. Replicating these core features in Dart turns out to be strait forward: * For the web-server I use the shelf package. Request handlers are specified using functions or function object that receive a Request and return a Response. Our application is such a functi...