Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!usc!orion.oac.uci.edu!cerritos.edu!arizona.edu!arizona!gudeman From: gudeman@cs.arizona.edu (David Gudeman) Newsgroups: comp.lang.misc Subject: Re: What ``first-class'' means in comp.lang.misc Message-ID: <368@coatimundi.cs.arizona.edu> Date: 10 Jan 91 21:39:17 GMT Sender: news@cs.arizona.edu Lines: 21 In article <2772@charon.cwi.nl> Guido van Rossum writes: ]The real problem with C functions (compared to Scheme or Lisp functions, ]for instance) is that their "closure" only contains global variables. I'd say this is one of the major parts of the disagreement over the meaning of "first-class". Some people are trying to use the term to compare C functions with Lisp functions, however the term is not supposed to compare features of different languages, it is meant to compare features of a single language. Obviously C does not have the powerful functionals that Lisp has, but I don't think the difference should be stated in terms of "first class". A better characterization would be "C does not have functionals" or "C does not have closures", or "You cannot dynamically create functions in C". All of which are true (modulo a convenient definition of "functional"). -- David Gudeman gudeman@cs.arizona.edu noao!arizona!gudeman