Found in 2 comments on Hacker News
AdieuToLogic · 2017-02-10 · Original thread
I think there is a fourth category not covered by the OP, which is Generative Programming[0].

This paradigm does not have a fundamental reduction nature (the opposite, actually), is not concerned with memory cell manipulation, and is not limited to predicate calculus (though its products can certainly be used for such).

Well known examples include C++ templates, Scala macros, JavaScript/Perl/Ruby evaluation of text blocks, Aspect Oriented Programming[1], amongst others which I am sure I have unwittingly omitted.

0 - https://www.amazon.com/Generative-Programming-Methods-Tools-...

1 - https://en.wikipedia.org/wiki/Aspect-oriented_programming

Fresh book recommendations delivered straight to your inbox every Thursday.