comp.lang.ada
 help / color / mirror / Atom feed
From: "Ken Garlington" <Ken.Garlington@computer.org>
Subject: Re: Compile time executed functions
Date: Thu, 29 Mar 2001 14:28:33 GMT
Date: 2001-03-29T14:28:33+00:00	[thread overview]
Message-ID: <lEHw6.434$2g1.81555482@newssvr16.news.prodigy.com> (raw)
In-Reply-To: 3AC2EB17.33AAEC0A@mida.se


"Mats Karlssohn" <mats@mida.se> wrote in message
news:3AC2EB17.33AAEC0A@mida.se...
: Ken Garlington wrote:
: %<
: > : The other issue is that I feel that within Ada's expressive powers
: > : it would be useful to have _some_ of the possibilities that is
: > : availible when using C++ templates and/or C preprocessor macros.
: > : (Please, no flames on the two 'bad words' above!)
: >
: > Is this a different subject than resolving complex functions as simple
ROM
: > constants? I'm having trouble seeing how a complex function written as a
: > macro consistently ends up as a constant...
:
: I'll try to explain a little more. But first, forget about the RAM/ROM
: issue, it was a mistake to include that in the original post.
:
: Say I want to create a table of data. The data is constant and must not
: change during the programs lifetime. Further more, the data is quite
: time consuming to calculate.
:
: In C++ (bad word again :) I can (with some effort) write a template that
: does all the calculations in the compiler at compile time.

Could you post an example of such a template, and what in the C++ standard
you rely upon to guarantee compile-time calculations? Also, does
"compile-time" include "link-time", or are you not allowed to have anything
in the table that uses addresses?

[snip]

: As I noted in the original post, this can be (and is today) solved by
: manually putting GenerateTable into its own program and the pasting the
: output into the source of package BlahBlah. This has caused management
: problems and I expect it to continue to do so.

It's the part about "pasting the output" that seems odd. Why not have it
generate a stand-alone Ada *package* (e.g, BlahBlah)? We do this now in a
number of cases. In fact, you can have an automated build script that
generates the code, updates the CM system with it, then does the things you
usually expect in such a script (extract source from CM system, compile,
link...)

: Am I plain stupid since I worry about when what's included in my
: output and when time is consumed ?

Not at all. However, the source generation option can be just as reliable
(more so, since it's less dependent on compiler-specific optimizations) that
whjat you are wanting, IMHO. Even better, you can readily reuse the concept
if you move between languages (just have the source generation tool use a
template file to control the form of the output).





  reply	other threads:[~2001-03-29 14:28 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-27  7:10 Compile time executed functions Mats Karlssohn
2001-03-27 13:30 ` Ken Garlington
2001-03-28  7:08   ` Mats Karlssohn
2001-03-28 19:07     ` Phaedrus
2001-03-29  7:41       ` Mats Karlssohn
2001-03-29  5:02     ` Ken Garlington
2001-03-29  7:58       ` Mats Karlssohn
2001-03-29 14:28         ` Ken Garlington [this message]
2001-03-29 14:48           ` Ted Dennison
2001-04-04  7:52             ` Mats Karlssohn
2001-04-04 14:05               ` Ted Dennison
2001-04-05  6:30                 ` Mats Karlssohn
2001-03-29 19:48           ` Simon Wright
2001-03-31 19:30             ` Ken Garlington
2001-04-04  7:53             ` Mats Karlssohn
2001-03-30 10:41           ` Jean-Marc Bourguet
2001-03-30 16:13             ` Ken Garlington
2001-03-30 16:47               ` Jean-Marc Bourguet
2001-03-30 18:54                 ` Stephen Leake
2001-04-01  8:42                   ` Jean-Marc Bourguet
2001-03-31 19:30                 ` Ken Garlington
2001-04-01  8:59                   ` Jean-Marc Bourguet
2001-04-01 18:22                     ` Ken Garlington
2001-04-02  9:30                       ` Jean-Marc Bourguet
2001-04-02 12:42                         ` Robert A Duff
2001-04-02 14:16                           ` Jean-Marc Bourguet
2001-04-03  0:33                           ` Pat Rogers
2001-04-02 13:09                         ` Ken Garlington
2001-04-02 13:40                           ` Robert A Duff
2001-04-02 23:29                             ` Ken Garlington
2001-04-13 23:11                               ` Robert A Duff
2001-04-02 14:32                           ` Jean-Marc Bourguet
2001-04-04  7:59             ` Mats Karlssohn
2001-04-04  7:47           ` Mats Karlssohn
2001-04-06  0:33             ` Ken Garlington
2001-04-09 12:21               ` Mats Karlssohn
2001-04-13 15:51                 ` Tucker Taft
2001-03-27 14:39 ` Ted Dennison
2001-03-27 16:40   ` Mark Biggar
2001-03-27 18:14   ` Florian Weimer
2001-03-27 18:15   ` Florian Weimer
2001-03-27 18:57     ` Ted Dennison
2001-03-27 19:22       ` Florian Weimer
2001-03-27 20:23         ` Ted Dennison
2001-03-27 22:15           ` Florian Weimer
2001-03-27 23:30             ` Georg Bauhaus
2001-03-28  9:54               ` Florian Weimer
2001-03-28 15:20             ` Ted Dennison
2001-03-28 16:12               ` David C. Hoos, Sr.
2001-03-28 21:15               ` Robert A Duff
2001-03-28 21:56                 ` Brian Rogoff
2001-03-29  8:18                 ` Mats Karlssohn
2001-03-29  8:11               ` Mats Karlssohn
2001-03-29 14:37                 ` Ted Dennison
2001-03-29 16:35                   ` Mark Biggar
2001-03-29 19:27                     ` Florian Weimer
2001-03-29 19:28                     ` Florian Weimer
2001-03-30  3:41                       ` Ken Garlington
2001-03-30  4:32                         ` Brian Rogoff
2001-03-30 14:27                           ` Compile time executed functions [OT] Karel Thönissen
2001-03-30 17:30                             ` Scheveningen (Re: Compile time executed functions [OT]) Ray Blaak
2001-03-30 17:39                             ` More {OT] (Was " Brian Rogoff
2001-03-30 23:39                               ` Karel Thönissen
2001-03-30 17:47                         ` Compile time executed functions Brian Hanson
2001-03-30  0:06                     ` Robert A Duff
2001-03-30 15:02                       ` Ted Dennison
2001-03-30 20:57                         ` Robert A Duff
2001-04-02 14:26                           ` Ted Dennison
2001-03-30 17:33                       ` Ray Blaak
2001-03-29  8:25               ` Florian Weimer
2001-03-28  7:17   ` Mats Karlssohn
2001-03-29  1:35   ` Jon S Anthony
2001-03-27 14:39 ` Robert A Duff
2001-03-27 15:09   ` Ted Dennison
2001-03-27 16:33     ` Robert A Duff
2001-03-27 23:36     ` Ken Garlington
2001-03-28 20:47     ` Mark Lundquist
2001-03-28  7:29   ` Mats Karlssohn
2001-03-28 22:15     ` Robert A Duff
2001-03-29  8:43       ` Mats Karlssohn
2001-03-31  4:12         ` Robert A Duff
2001-04-05  7:06           ` Mats Karlssohn
2001-04-13 23:18             ` Robert A Duff
2001-03-29  5:02     ` Ken Garlington
2001-03-28  7:31 ` Mats Karlssohn
2001-03-30  8:57 ` Georg Bauhaus
replies disabled

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