Worgle is a fast and portable tangler for programs written in a limited subset of org.

The source code can be found on github.


I wrote Worgle as a follow-up to my initial experiences with literate programming using org-mode. While org and org-mode have the potential to be great modern-day tools for Knuthian-style literate programming, I found their current implementations to be inferior to CWEB. Tangling org-code with emacs is painfully slow, to the point of being unusable. Tangled C/C++ code does not export line declaration macros, making debugging a terribly impractical experience.

Worgle is written in itself, and is bootstrapped using a minimalist ANSI C org tangler called Orgle.

HTML export

In addition to tangling code, some initially steps have been taken to produce an HTML exporter, a process classically referred to as weaving code. This weaver, called Sorg, is also written in ANSI C using Worgle. While incomplete, it is quite usable. Examples of Sorg being used to generate HTML have been posted for Sorg and Worgle. In order to match the CSS of this website, these pages with sorg via a shell script.

Code maps

Worgle can also present programs in terms of their program block structure, which are known as "Code Maps". Worgle generates a map in org markup, which can then be rendered using Sorg. Example code maps have been generated for both Sorg and Worgle.