From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fded8d14c74b14e5 X-Google-Attributes: gid103376,public From: Charles Hixson Subject: Re: Looking for Ada Technique Name and References Date: 2000/03/01 Message-ID: <38BD4E94.91964FDE@earthlink.net>#1/1 X-Deja-AN: 591828268 Content-Transfer-Encoding: 7bit References: <88kegp$iso$1@coward.ks.cc.utah.edu> <88kh6q$j4j$1@coward.ks.cc.utah.edu> <88s90i$8mi$1@ns3.arlut.utexas.edu> <88svc0$nkj$1@coward.ks.cc.utah.edu> <38b32dca@eeyore.callnetuk.com> <38B33F23.4784@synquiry.com> <38BA4C37.919935A8@earthlink.net> <38BB01F3.37BD@synquiry.com> <38BBF58A.ED345864@earthlink.net> <38BC3496.26FE@synquiry.com> <38BC73CC.54B8@synquiry.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@earthlink.net X-Trace: newsread1.prod.itd.earthlink.net 951930536 198.94.156.19 (Wed, 01 Mar 2000 09:08:56 PST) Organization: EarthLink Network, Inc. MIME-Version: 1.0 NNTP-Posting-Date: Wed, 01 Mar 2000 09:08:56 PST Newsgroups: comp.lang.ada Date: 2000-03-01T00:00:00+00:00 List-Id: 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.