3 ms·
There is a standard technique in functional programming called 'defunctionalization'[1] which replaces functions with a data structure that can be poked or prod
by andolanra 14y ago
There is a standard technique in functional programming called 'defunctionalization'[1] which replaces functions with a data structure that can be poked or prodded or examined. It's usually implemented as a compilation technique, but can be done manually, as in Olivier Danvy's system for transforming an interpreter for a language into an abstract machine for the same language. What you are doing is, in effect, 'nominalizing' your verbs, to use Yegge's terminology. ([1] also acknowledges that it is inverse to the Church encoding of data structures, which 'verbifies' your nouns.)
[1]: http://www.kennknowles.com/blog/2008/05/24/what-is-defunctionalization/ http://www.kennknowles.com/blog/2008/05/24/what-is-defunctio...