Path: utzoo!utgpu!watmath!watdragon!akwright From: akwright@watdragon.waterloo.edu (Andrew K. Wright) Newsgroups: comp.lang.misc Subject: Re: first class functions (opps) Message-ID: <13638@watdragon.waterloo.edu> Date: 7 May 89 15:55:59 GMT References: <10253@orstcs.CS.ORST.EDU> <2400023@otter.hpl.hp.com> <451@sdti.SDTI.COM> Reply-To: akwright@waterloo.edu (Andrew K. Wright) Organization: U. of Waterloo, Ontario Lines: 16 In article <451@sdti.SDTI.COM> turner@sdti.UUCP (0006-Prescott K. Turner, Jr.) writes: >I'm somewhat familiar with Scheme's "first-class" functions, and like them. >But isn't it false advertising to claim first-class functions unless you >can compare functions for equality just like other types? 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. Andrew K. Wright akwright@waterloo.edu CS Dept., University of Waterloo, Ont., Canada.