[Haskell-cafe] Wikipedia on first-class object
sebastian.sylvan at gmail.com
Thu Dec 27 04:00:31 EST 2007
On 12/27/07, Cristian Baboi <cristi at ot.onrc.ro> wrote:
> The term was coined by Christopher Strachey in the context of "functions
> as first-class citizens" in the mid-1960's.
> Depending on the language, this can imply:
> 1. being expressible as an anonymous literal value
> 2. being storable in variables
> 3. being storable in data structures
> 4. having an intrinsic identity (independent of any given name)
> 5. being comparable for equality with other entities
> 6. being passable as a parameter to a procedure/function
> 7. being returnable as the result of a procedure/function
> 8. being constructable at runtime
> 9. being printable
> 10. being readable
> 11. being transmissible among distributed processes
> 12. being storable outside running processes
> I'll guess that 5,9,12 does not apply to Haskell functions.
I don't think this is meant as a list of requirements, but as examples
of what being first class *can* mean. So yes, in Haskell some of these
points don't make much sense.
More information about the Haskell-Cafe