Incremental Compilers

In Winter 2013 I had been working on my personal large research project based on Scala programming language.

Papa Carlo is a constructor of PEG parsers for custom programming languages utilises incremental approach. An incremental parser is one that can recompile only those portions of a program that have been modified. Ordinary parsers must process entire source code file.

Click to open Demo web application

My goal was deep learning of one of the most complicated applied computer-science problem, practicing with some new technologies such as Scala, SBT, Scala.JS and practicing with cutting-edge architecture approaches came from functional programming.

As a result I have implemented ready-to-use OSS solution. Now it is one of the best-known projects in Scala community, mentioning by a number of top Scala developers: Martin Odersky and Paul Phillips, and was demonstrated in Scala Days conference in 2014 by Sébastien Doeraene, developer of the Scala.JS.

Another interesting outcome was a Java Incremental Parser implemented by a third-party developers that was based on my Scala library.

I also will be glad to provide you with my services in implementation of the parsers and web-crawlers based on the experience I gained in this research.

Links: Demo in action Project's page papa-carlo@github Related blog post