comp.lang.ada
 help / color / mirror / Atom feed
From: Charles Hixson <charleshixsn@earthlink.net>
Subject: Re: Looking for Ada Technique Name and References
Date: 2000/03/01
Date: 2000-03-01T00:00:00+00:00	[thread overview]
Message-ID: <38BD4E94.91964FDE@earthlink.net> (raw)
In-Reply-To: 38BC73CC.54B8@synquiry.com

I'm not an expert, or even an intermediate at most of these languages, so if I
misclassified some of them, well, I'm sorry. My level of knowledge is such that
I class Scheme as a Lisp dialect that's simpler than Common Lisp, and don't go
much further.

What Do I Think Is a Functional Language?
When I was studying Lisp (around the time of Lisp 1.5 and without access to a
computer that actually had Lisp installed) there was a big argument raging as
to whether or not certain features should be included, because they converted
Lisp from being a purely functional language into being an impurely functional
language.  Most (all?) modern dialects have these features.  I don't remember
specifically what they were.  Something pretty basic.  Possibly fset or set.
Anything that does direct surgery on the list structure would have been
considered non-functional.  In a purely functional language there was to be no
direct changes allowed to anything that had been previously defined.  So this
is what I was considering one of the extreme poles.  Assembler (well,
micro-code [i.e., direct specification of hardware gate choices]) is, of
course, the other extreme pole along the spectrum that I was using.  I was not
assuming that anything "practical for use in large projects" would be found at
either pole (though I've heard arguments about that from both the camps that
this isn't true).

When I mentioned C or Ada as allowing functional programming to be done, my
idea was rather along the lines of "You can design a set of functions that are
complete and implement them in [C | Ada].  Then do your programming based on
those functions", rather than that the language as issued would support
functional programming (though both C and Ada *DO* prohibit changing the value
of parameters passed to a function).  Still, even using the assignment
statement directly voids the rules that I was taught functional programming
obeyed.

I am definitely the wrong person to be defending the functional position, as I
don't believe it to be ... desirable.  But then neither do I believe its
opposite to be desirable (necessary, perhaps).  I was merely observing that the
various languages fell along a range.  I'm sorry if I mispositioned one or two
of them.






  reply	other threads:[~2000-03-01  0:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <88kegp$iso$1@coward.ks.cc.utah.edu>
     [not found] ` <88kh6q$j4j$1@coward.ks.cc.utah.edu>
2000-02-18  0:00   ` Looking for Ada Technique Name and References Tucker Taft
2000-02-21  0:00   ` Diana Webster
2000-02-22  0:00     ` John Halleck
2000-02-22  0:00       ` Vladimir Olensky
2000-02-22  0:00         ` John Halleck
2000-02-22  0:00       ` tmoran
2000-02-22  0:00         ` David Starner
2000-02-23  0:00           ` tmoran
2000-02-23  0:00       ` Nick Roberts
2000-02-22  0:00         ` Jon S Anthony
2000-02-28  0:00           ` Charles D. Hixson
2000-02-28  0:00             ` Jon S Anthony
2000-02-29  0:00               ` Charles Hixson
2000-02-29  0:00                 ` Brian Rogoff
2000-02-29  0:00                   ` Jon S Anthony
2000-02-29  0:00                     ` Brian Rogoff
2000-02-29  0:00                       ` Jon S Anthony
2000-03-01  0:00                         ` Charles Hixson [this message]
2000-03-01  0:00                         ` Brian Rogoff
2000-03-01  0:00                           ` Jon S Anthony
2000-03-04  0:00                     ` Nick Roberts
2000-02-29  0:00                   ` Wes Groleau
2000-02-29  0:00                     ` Gautier
2000-03-01  0:00                       ` Wes Groleau
2000-02-22  0:00   ` Gautier
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox