Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!ucsd!rutgers!mcdchg!amtfocus!wolfson From: wolfson@amtfocus.UUCP (Steve Wolfson) Newsgroups: comp.lang.functional Subject: Re: Let's replace the name "functional" Message-ID: <564@amtfocus.UUCP> Date: 25 May 90 14:34:36 GMT References: <1990May15.152529.7427@watdragon.waterloo.edu> Distribution: comp Organization: Motorola Inc. GSS/AMT, Arlington Heights, Illinois Lines: 89 In <1990May15.152529.7427@watdragon.waterloo.edu> gvcormack@watdragon.waterloo.edu (Gordon V. Cormack) writes: >I have my opinion on the 'right' definition, but regardless of which >opinion I hold, I know that a large number of people will misunderstand >my meaning. >Whenever a convention or usage is so misunderstood, it must be >discarded. Americans and the rest of the world can't agree on what a >gallon is, or on how to write a date (e.g. when on earth is 02-03-91), >so the only solution is to have some new standard. >I would like to see suggestions for words to describe: > (a) programming or programming languages in which function > abstraction and application completely replace any notion of > state. > (b) programming or programming languages in which higher order > functions (value-returning procedures if you prefer) are > used extensively. >I believe "pure functional" or "applicative" both describe (a) >unambiguously. There appears to be no widely accepted term for (b), >even though (b) is a very important programming methodology/language >design issue. >So, you purists that take "functional" to mean "pure functional", what >do you call (b). I'm not particularly interested in Orwellian >arguments that say I shouldn't be able to express such a concept. >Here is a test for your new phrase. Substituting it for X below should >yield a true statement. > FP, Miranda, Scheme and ML are X, but > Ada, Fortran, and C are not X. > I'm not sure whether Lisp and Algol 68 are X, not X, or partially X. The problem you are describing is real but will not go away by coming up with a new name for your Class X languages. The classification of anything into a group name is based on the number of similarities the individual sees between A and B. The number of differences to the individual making the classification are small enough for the individual not to exclude something from the class. If we create a new X langauge class, some people would want to include Lisp others would not. Then somewhere someone decides they don't like any of the above language and they write SuperZ. SuperZ is alot like X languages but includes features from APL and Smalltalk and C that the compiler author liked. Now some people will want to put SuperZ into class X others won't but if enough do the homogenity of features you used to create class X will drift and you will be stuck in the same problem, what do you do recreate a new class called X-prime? What about all of the previous literature that describes these things as functional langauges, do we reprint it all using the X name? If not we will be working with 2 terms and realistically the old familiar one wins out. If a term can be understood in context then why change it? Use functional for the whole class and use the qualifier "purely" for the subset of those languages that contain no procedural elements at all (at least that is my assumption of your X classifcation, yours may be different, see the problem...). An author of an text on introductory computer hardware didn't like the usage of the acronyms RAM and ROM. RAM means random access memory and ROM means Read Only Memory. But of course by common usage RAM is used for memory that is both read/write. A ROM by pure definition is really a type of RAM. So the author invented the term WREM (Write/REad Memory). Obviously this new terminology has not taken the computer world by storm, individuals still use the more comfortable RAM and some even still use the older term Core (not so much as in the early days of micros, way back when 10-12 years ago ). Proliferation of new terminology does not alway make for a clearer understanding. Academia is full of individuals who write papers that seem to be more about creating new terminology, paradigms, and analogy rather then useful new ideas (I am not classifying you into this category :-) ). Unless there is an overwhelming reason forced linguistic change just doesn't happen. I don't see the overwhelming need for reclassification here, but then I probably am not as tuned in to the nuances of the subject as you. Lengthy discussions of this should probably be moved to sci.language. Stephen Wolfson E-Mail: ...!uunet!motcid!wolfsons Motorola Cellular or 1501 W. Shure Dr. IL27-1155 wolfson@mot.com Arlington Heights, IL "The nice thing about standards is that there are so many of them from which to choose." - Andrew S. Tannenbaum