Koog

Introduction

Koog is a mixed-code generation tool. It supports a choice of comment styles (C-style block comments by default), and assumes that code-generation directives are written in Racket. Koog provides a Racket 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