Koog is a mixed-code generation tool. It supports C-like comment syntax, and assumes that code-generation directives are written in Racket / PLT Scheme. It provides a Scheme API, a command-line interface, and editor integration for Emacs and Vim. The one novel feature it has (compared to existing mixed-code generators) is the option of only (re)generating individual code regions, which provides more control when used interactively in an editor.

The tool was originally developed for use in the ContextLogger2 project at HIIT, motivated by the fact that native Symbian C++ is notoriously verbose. Nokia claims a “70 percent reduction in the number of lines of code” when using Qt as opposed to Symbian APIs in C++.

Tero Hasu