What is a first-class-citizen function?
A language that considers procedures to be “first-class” allows functions to be passed around just like any other value. Languages like Java 7 (and earlier) and C “kind of” have this capability: C allows function pointers to be passed around, but you can’t dynamically define a function in those languages and suddenly pass that somewhere … Read more