Found in 2 comments
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

View this Book on Amazon