comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Rogoff <bpr@shell5.ba.best.com>
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: <Pine.BSF.4.21.0003010919480.18859-100000@shell5.ba.best.com> (raw)
In-Reply-To: 38BC73CC.54B8@synquiry.com

On Tue, 29 Feb 2000, Jon S Anthony wrote:
> Brian Rogoff wrote:
> > 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.

Yes. OCaml and SML both have references, mutable arrays, and exceptions, 
which mean they are not "pure" FPs like Haskell and Clean, and much closer 
to languages like Scheme. 

My view (grunt programmer in the trenches) is that we judge a language by
its support for a particular style, and don't worry about pure/impure
distinctions. 

So, IMO Ada supports the FP style better than C or C++, though Ada 83 
doesn't clearly do better since it doesn't have access to subprogram and 
has to always use generics whereas C can use function pointers. 

Lisp (ANSI CL), Scheme and the MLs all support FP style *much* better than 
those languages without first class functions. To me, first class
functions are the sine-qua-non of FP, so these are all FPLs. 

Some might argue that Haskell and Clean do best of all because they are
lazy (a little lie; really "non-strict") by default. I don't have enough 
practical experience here, when I tried to use Haskell in anger I found it
way too slow. 

I apply the same criteria to OOP, logic/relational style, etc. 

Common Lisp and C++ are interesting in that they support "staged programming" 
or partial evaluation directly in the language, via procedural macros and 
templates respectively. Kinda cool, but I understand the Ada position on
these features and how they impact maintainability. As I understand it,
the consensus in the Lisp community is that macros are to be used
sparingly. 

-- Brian






  parent 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                   ` Wes Groleau
2000-02-29  0:00                     ` Gautier
2000-03-01  0:00                       ` Wes Groleau
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
2000-03-01  0:00                         ` Brian Rogoff [this message]
2000-03-01  0:00                           ` Jon S Anthony
2000-03-04  0:00                     ` Nick Roberts
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