cleopatra: An Extensible Toolchain


We introduce cleopatra, a generic, extensible toolchain with facilities for literate programming projects using Org mode and more.

You can download an archive of cleopatra source tree here.

The present document presents the source code of cleopatra 1.0.0-dev.

1 — The cleopatra Build Process
In this chapter, we introduce how the so-called cleopatra build process works, in order for users interested in using cleopatra for their projects to better understand how to write their generation processes.
2 – The cleopatra Crate
Users interact with cleopatra through a command-line tool implemented in Rust. This chapter describes its implementation.
3 — cleopatra’s Elisp Package
Under the hood, Cleopatra relies on Emacs to tangle the Org documents which specify user-defined generation processes. This chapter describes the Elisp configuration code used to that end.
4 — cleopatra by Examble
cleopatra is a literate programming project itself, and is actually bootstrapped. This chapter describes the generation processes used to build both cleopatra and its documentation.
5 — cleopatra’s Library of Babel
Cleopatra is implemented using the literate programming paradigm. In particular, we use the noweb feature of Babel. This chapter introduces several source block that can be evaluated by Emacs at tangling and exporting time to generate part of the project.

Author: Thomas Letan

Created: 2020-12-20 Sun 12:59