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: Jon S Anthony Subject: Re: Looking for Ada Technique Name and References Date: 2000/02/29 Message-ID: <38BC73CC.54B8@synquiry.com>#1/1 X-Deja-AN: 591564243 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> Content-Type: text/plain; charset=us-ascii X-Trace: client 951874552 38.151.18.1 (Tue, 29 Feb 2000 20:35:52 EST) MIME-Version: 1.0 NNTP-Posting-Date: Tue, 29 Feb 2000 20:35:52 EST Newsgroups: comp.lang.ada Date: 2000-02-29T00:00:00+00:00 List-Id: Brian Rogoff wrote: > > > ??? Surely you don't mean to imply that C/C++ are dynamically scoped? > > No, C is lexically scoped too, but in a very trivial way, since you can't > nest subprogram definitions. Right - this is leading where I figured you intended it to go. > > I'm still not clear on why you think this means that C/C++ are not > > lexically scoped (or perhaps "less lexically scoped" than Ada). > > Certainly passing local state around does not impact this. I agree > > that there are cases where you _have_ to do this when a lexically > > scoped access is what you really want. > > Because in Ada I can declare a subprogram nested in another, which > refers to local variables in the enclosing subprogram, and then use ... Right, this is actually exactly what I thought you intended. I agree with this completely. > So, while they are strictly speaking lexically scoped, it isn't very > useful from a "coding FP" perspective. I hope that's clearer. Also agree. > > > I don't want to start a FP language war in c.l.ada, but why do you > > > consider "Pure Lisp", ML and OCaml functional, Common Lisp not? I use > > > references, arrays, and exceptions in my OCaml code... > > > > Good question; direct support for iteration? > > Here's some legal OCaml from the manual > > #let insertion_sort a = > for i = 1 to Array.length a - 1 do > let val_i = a.(i) in > let j = ref i in > while !j > 0 && val_i < a.(!j - 1) do > a.(!j) <- a.(!j - 1); > j := !j - 1 > done; > a.(!j) <- val_i > done;; So much for iteration being the reason (as I mentioned, this couldn't have been quite right anyway as he seems to exclude Scheme as well). > val insertion_sort : 'a array -> unit = > > I guess OCaml isn't an FP then. Charles? Well, he already claimed it was, so there must be some other feature(s) of direct Lisp family members that excludes them in his taxonomy. I see OCaml also has assignment. Charles, what about Dylan? /Jon -- Jon Anthony Synquiry Technologies, Ltd. Belmont, MA 02478, 617.484.3383 "Nightmares - Ha! The way my life's been going lately, Who'd notice?" -- Londo Mollari