Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!rochester!cornell!uw-beaver!apollo!mrst!sdti!turner From: turner@sdti.SDTI.COM (Prescott K. Turner) Newsgroups: comp.lang.misc Subject: Re: first class functions (opps) Summary: Equality is special. Message-ID: <453@sdti.SDTI.COM> Date: 10 May 89 02:40:00 GMT References: <10253@orstcs.CS.ORST.EDU> <2400023@otter.hpl.hp.com> <451@sdti.SDTI.COM> <13638@watdragon.waterloo.edu> Reply-To: turner@sdti.UUCP (0006-Prescott K. Turner, Jr.) Organization: Software Development Technologies, Sudbury MA Lines: 25 In article <13638@watdragon.waterloo.edu> akwright@watdragon.waterloo.edu (Andrew K. Wright) writes: > Why? What is so special about the equality operation over any > other operation that it should take part in defining "first-class" functions? > What about assignment? Multiplication? Addition? Composition? > > A language has first-class functions if any function can be passed > as a parameter or returned as a result. If the language provides > an equality operation for functions, or an assignment operation, > this is an independent issue. I can't argue with this if it's the what most students of computer languages understand by "first-class data type". However, I believe it's possible to state what's "so special" about assignment and equality. Equality of functions is well-defined in the mathematical domain used to specify the semantics of the language at hand. Assignment has a straightforward meaning. In both cases isn't it necessary to add a restriction to the definition of a clean language in order to omit these operators? Am I being naive? ----- Prescott K. Turner, Jr. Software Development Technologies, Inc. P.O. Box 366, Sudbury, MA 01776 USA (508) 443-5779 UUCP: ...{harvard,mit-eddie}!sdti!turner Internet: turner@sdti.sdti.com