👨‍💻 about me home CV/Resume 🖊️ Contact Github LinkedIn I’m a Haskeller 📝 Blog Freedom, privacy, tutorials… 🏆 Best of panda upp Haskell abp pp hCalc bl todo pwd TPG Nextcloud Git BitTorrent

💣 Kick GAFAMs out (✔️ ǝlƃooפ, ✔️ ʞooqǝɔɐℲ, ✔️ uozɐɯ∀): Stop giving our soul and money to evils, be free and respectful!
📰 Friday 2. April 2021: upp is a panda companion. It’s a Lua-scriptable lightweight text preprocessor.
🆕 since December 2020: Playing with the actor model in an embedded multicore context. C imperative components become C stream pure functions with no side effect ➡️ C low level programming with high level pure functional programming properties 🏆
📰 Saturday 30. January 2021: Playing with Pandoc Lua filters in Lua. panda is a lightweight alternative to abp providing a consistent set of Pandoc filters (text substitution, file inclusion, diagragrams, scripts, …).
🆕 Sunday 24. May 2020: Working at EasyMile for more than 4 years. Critical real-time software in C, simulation and monitoring in Haskell ➡️ perfect combo! It’s efficient and funny ;-)
🚌 And we are recruiting! Contact if you are interested in Haskell or embedded softwares (or both).

PP - Download archive

Christophe Delord - https://cdelord.fr/pp


The recommended way to get PP binaries is to compile them from the sources. Anyway if you have no Haskell compiler, you can try some precompiled binaries.


The Linux binaries have been compiled on Fedora and may or may not work on your Linux distribution.

A PP Linux docker made by Joshua Dotson is available here:


The Windows binaries have been compiled on Fedora with Wine and GHC for Windows. They may or may not work on your Windows version.

Latest binaries

Linux (x86_64) Windows
pp-linux-x86_64.txz pp-win.7z

All versions

Version Linux (x86_64) Windows
2.14.1 pp-linux-x86_64-2.14.1.txz pp-win-
2.14.0 pp-linux-x86_64-2.14.0.txz pp-win-
2.13.2 pp-linux-x86_64-2.13.2.txz pp-win-
2.13.1 pp-linux-x86_64-2.13.1.txz pp-win-
2.13 pp-linux-x86_64-2.13.txz pp-win-2.13.7z
2.12 pp-linux-x86_64-2.12.txz pp-win-2.12.7z
2.11 pp-linux-x86_64-2.11.txz pp-win-2.11.7z
2.10 pp-linux-x86_64-2.10.txz pp-win-2.10.7z
2.9 pp-linux-x86_64-2.9.txz pp-win-2.9.7z
2.8 pp-linux-x86_64-2.8.txz pp-win-2.8.7z
2.7.4 pp-linux-x86_64-2.7.4.txz pp-win-
2.7.3 pp-linux-x86_64-2.7.3.txz pp-win-
2.7.2 pp-linux-x86_64-2.7.2.txz pp-win-
2.7.1 pp-linux-x86_64-2.7.1.txz pp-win-
2.7 pp-linux-x86_64-2.7.txz pp-win-2.7.7z
2.6 pp-linux-x86_64-2.6.txz pp-win-2.6.7z
2.5 pp-linux-x86_64-2.5.txz pp-win-2.5.7z
2.4 pp-linux-x86_64-2.4.txz pp-win-2.4.7z
2.3.6 pp-linux-x86_64-2.3.6.txz pp-win-
2.3.5 pp-linux-x86_64-2.3.5.txz pp-win-
2.3.4 pp-linux-x86_64-2.3.4.txz pp-win-
2.3.3 pp-linux-x86_64-2.3.3.txz pp-win-
2.3.2 pp-linux-x86_64-2.3.2.txz pp-win-
2.3.1 pp-linux-x86_64-2.3.1.txz pp-win-
2.3 pp-linux-x86_64-2.3.txz pp-win-2.3.7z
2.2.2 pp-linux-x86_64-2.2.2.txz pp-win-
2.2.1 pp-linux-x86_64-2.2.1.txz pp-win-
2.2 pp-linux-x86_64-2.2.txz pp-win-2.2.7z
2.1.5 pp-linux-x86_64-2.1.5.txz pp-win-
2.1.4 pp-linux-x86_64-2.1.4.txz pp-win-
2.1.3 pp-linux-x86_64-2.1.3.txz pp-win-
2.1.2 pp-linux-x86_64-2.1.2.txz pp-win-
2.1.1 pp-linux-x86_64-2.1.1.txz pp-win-
2.1 pp-linux-x86_64-2.1.txz pp-win-2.1.7z
2.0.1 pp-linux-x86_64-2.0.1.txz pp-win-
2.0 pp-linux-x86_64-2.0.txz pp-win-2.0.7z
1.12 pp-linux-x86_64-1.12.txz pp-win-1.12.7z
1.11 pp-linux-x86_64-1.11.txz pp-win-1.11.7z
1.10.1 pp-linux-x86_64-1.10.1.txz pp-win-
1.10.0 pp-linux-x86_64-1.10.0.txz pp-win-
1.9.3 pp-linux-x86_64-1.9.3.txz pp-win-
1.9.2 pp-linux-x86_64-1.9.2.txz pp-win-
1.9.1 pp-linux-x86_64-1.9.1.txz pp-win-
1.9 pp-linux-x86_64-1.9.txz pp-win-1.9.7z
1.8 pp-linux-x86_64-1.8.txz pp-win-1.8.7z
1.7 pp-linux-x86_64-1.7.txz pp-win-1.7.7z
1.6 pp-linux-x86_64-1.6.txz pp-win-1.6.7z
1.5 pp-linux-x86_64-1.5.txz pp-win-1.5.7z
1.4 pp-linux-x86_64-1.4.txz pp-win-1.4.7z
1.3 pp-linux-x86_64-1.3.txz pp-win-1.3.7z
1.1 pp-linux-x86_64-1.1.txz pp-win-1.1.7z