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: Wes Groleau Subject: Re: Looking for Ada Technique Name and References Date: 2000/02/29 Message-ID: <38BC267E.47FAEDD@ftw.rsc.raytheon.com>#1/1 X-Deja-AN: 591440057 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> X-Accept-Language: en,es,fr,pt Content-Type: text/plain; charset=us-ascii X-Complaints-To: news@icg.raytheon.com X-Trace: bos-service2.ext.raytheon.com 951854721 151.168.144.162 (Tue, 29 Feb 2000 14:05:21 CST) Organization: Raytheon Company MIME-Version: 1.0 NNTP-Posting-Date: Tue, 29 Feb 2000 14:05:21 CST Newsgroups: comp.lang.ada Date: 2000-02-29T00:00:00+00:00 List-Id: > Well, the topic has really changed, but if you are going to rank languages > based on their support for the functional programming paradigm, I'd give > Ada a fairly significant edge over C and C++ ..... I once saw an example where someone (who obviously misunderstood the "mandate") wrote an Ada 83 package containing (I'm probably getting some of this wrong due to elapsed time): - an enumerated type where the literals were LISP predefined function names. - an unconstrained array type of those enums - Various support subprograms (I forget the details) that took the array type as parameter. - A subprogram that iterates over an enum array object and uses each element as a case selector. Then this guy wrote his whole program in LISP, and with a trivial syntax transformation, could compile it with an Ada compiler and run it: with LISP_Support; use LISP_Support; procedure Main is begin LISP(( CAR (( CDR (( atom, atom, atom )) ..... ..... )); -- I don't know LISP, so I made up the above -- just to give the flavor.... end Main; If anyone else saw this, and can tell me where to find it, I'd love to see it again! :-) -- Wes Groleau http://freepages.genealogy.rootsweb.com/~wgroleau