comp.lang.ada
 help / color / mirror / Atom feed
From: "James B. White, III (Trey)" <trey@osc.edu>
Subject: Re: Ada vs C++ (Ada 0X)
Date: 1997/09/09
Date: 1997-09-09T00:00:00+00:00	[thread overview]
Message-ID: <34155698.4AE9@osc.edu> (raw)
In-Reply-To: Pine.SGI.3.95.970908203001.11288C-100000@shellx.best.com



Brian Rogoff wrote:
> I think it is obvious that you can't do this stuff with Ada generics
> because Ada generic instantiation is not primitive recursive function
> calculation (what a mouthful, was that clear?). 

Clear. More about this below.

> Lisp macros can do
> arbitrary computation during expansion, so given a decent Lisp compiler
> you should be able to get the same effect. Ask nicely on the Lisp newsgroup
> and I bet you'll even get code.

Finding code is easy. The trick is finding a decent Lisp compiler!

> My question is whether it is necessary for your purposes to have this
> capability directly supported in the language, or if some source to source
> transformation tool would suffice; i.e., an Ada aware macro system or some
> other such tool. I recall reading about such a macro system (M5?) but I
> forget where...

If it's supported in the language, it is portable. Before anyone starts
slamming the portability of C++ and templates, realize the situation has
changed dramatically over the last few months.

> (In case anyone missed it, the C++ techniques being discussed can be found
>  at http://monet.uwaterloo.ca/blitz/ )

I guess my real point is the following. Expression templates in C++
demonstrate a level of functionality absent from Ada. If the Ada
standard is updated again (Ada 0X?), perhaps the Ada community should
consider ways of including the capabilities of expression templates (and
template metaprograms) in the new standard. I certainly don't advocate
supporting C++-style templates. What I would like to see is the
*capabilities* of these techniques added to Ada, but with a better
implementation.
-- 
James B. White, III (Trey)
Ohio Supercomputer Center
trey@osc.edu
<http://www.osc.edu/~trey/>
Phone: (614)292-9291  Fax: (614)292-7168




  parent reply	other threads:[~1997-09-09  0:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <md5:DB04B9CCA20E8EB6142C50D2DE055239>
     [not found] ` <34090462.4652@easystreet.com>
     [not found]   ` <Pine.SGI.3.95.970831115842.17664A-100000@shellx.best.com>
1997-09-02  0:00     ` Ada vs C++ James B. White, III (Trey)
     [not found]       ` <Pine.SGI.3.95.970904201703.13590A-100000@shellx.best.com>
1997-09-05  0:00         ` Jon S Anthony
1997-09-05  0:00       ` Robert Dewar
1997-09-05  0:00         ` Brian Rogoff
1997-09-05  0:00         ` Larry Kilgallen
1997-09-08  0:00         ` Ada vs C++ (Expression Templates) James B. White, III (Trey)
1997-09-08  0:00           ` Matthew Heaney
1997-09-08  0:00       ` Ada vs C++ Richard A. O'Keefe
1997-09-08  0:00         ` Ada vs C++ (vs Lisp) James B. White, III (Trey)
1997-09-08  0:00           ` Brian Rogoff
1997-09-09  0:00             ` Robert A Duff
1997-09-09  0:00             ` James B. White, III (Trey) [this message]
1997-09-09  0:00               ` Ada vs C++ (Ada 0X) Brian Rogoff
1997-09-10  0:00               ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-09-11  0:00                 ` Anonymous
1997-09-11  0:00                   ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-09-09  0:00       ` Ada vs C++ Joerg Rodemann
1997-09-09  0:00         ` Ada vs C++ (high-performance libraries) James B. White, III (Trey)
replies disabled

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