Taken from wikipedia:
Imperative - Programs as statements that directly change computed state (datafields) Declarative - Defines program logic, but not detailed control flow Functional - Treats computation as the evaluation of mathematical functions avoiding state and mutable data
I’m leaning to it being a functional language as it allows for treating strings as math parser code, or command. At the same time, it does have global variables, and structure. Seem to me that G’MIC is both a imperative, and a functional language.
This is where I got this from - Comparison of programming paradigms - Wikipedia