CDSoft / pp

PP - Generic preprocessor (with pandoc in mind) - macros, literate programming, diagrams, scripts...

Home Page:http://cdelord.fr/pp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why pp?

robinrosenstock opened this issue · comments

@CDSoft, do you mind explaining, why someone should use your pp preprocessor over gpp and pandoc-gpp?
What are the unique features?
Why do you have started pp and not still using gpp?
When should someone use gpp (when pp is not intended to be as powerful)?

I would not say that pp has got unique features. I have just put some features I need in a software made for my own usage initially:

  • macros
  • literate programming
  • GraphViz, PlantUML and ditaa diagrams
  • Bash, Cmd, PowerShell, Python and Haskell scripts
  • more details here

I has a syntax that fits previous preprocessors I wrote in Python and Lua so I had very few work to do to upgrade my documents and web site (which is made with pp and pandoc)
And most of all, it's written in Haskell and it's fun (and fun is a very good reason for me ;-)
I just share it. People can try and use it or not, participate or not, like it or not.

You can read a tutorial here: My first Raspberry Pi tutorial in C.
It uses pp (and pandoc, make, gcc, inkscape, gimp...) to render the document as well as to produce, compile and execute the source code of the project.

Apart from macros, pp and gpp provide different features. You can use gpp and other tools plus some scripts to glue everything. I think it's a matter of taste. The syntax of gpp may be more flexible (HTML, LaTeX, ... variants). gpp is written in C and is way smaller than pp if it's important to you.

Thanks for answering me. Appreciate it.