Is there a term for languages, imperative, declarative, procedural, functional alike; a term describing the quality of functions being represented as a (reversible) relationship between inputs and outputs? Or alternatively, where inputs and outputs are done away with in favor of just *puts, where any given *put can be used as either an input or an output at call site?
I feel that the term "non-logical", while also slightly misleading linguistically, doesn't really convey the idea explained in the previous paragraph quite well — it's not the quality of not being logical, nor the quality of being functional, imperative or whatnot, but the quality of how functions are represented and how the notions of input and output are unified, and the consequences of such guts-wide-open representations
inverse
operation would generally give you; for example, consider theinverse
described in jeltsch.wordpress.com/2013/04/27/a-taste-of-curry. in Prolog, "inversing" is implicit, in that all args to a function can be either input or output $\endgroup$