🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.functional
Article #224

Re: Let's replace the name "functional"

#224
From: Steve Wolfson
Date: Fri, 25 May 1990 14:34
89 lines
5135 bytes
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
Technical Details
Message-ID: <564@amtfocus.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!ucsd!rutgers!mcdchg!amtfocus!wolfson
References: <1990May15.152529.7427@watdragon.waterloo.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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