comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: How to make Ada popular. Get rid of ";" at end of statement.
Date: Fri, 26 Jul 2019 17:07:50 +0100
Date: 2019-07-26T17:07:50+01:00	[thread overview]
Message-ID: <lyimroaieh.fsf@pushface.org> (raw)
In-Reply-To: gq06raF44qnU1@mid.individual.net

Niklas Holsti <niklas.holsti@tidorum.invalid> writes:

> On 19-07-26 13:54 , antispam@math.uni.wroc.pl wrote:
>> Ingo M. <announce@amkade.com> wrote:

>> So, less restrivtive target language is more convenient for
>> generaator.
>
> I would be afraid that generating the less restrictve language could
> hide and mask bugs in the generator.
>
>> Also, macros in target language simplify generator.  Theoretically
>> you may think that generator can do expansion.  It can, but in
>> practice macros in target language make difference.
>
> Of course there are any number of macro systems that could be used in
> the generator Ada, although Ada has no macro system built in. But
> again, I would be afraid that extensive use of macros in the generated
> code would make it harder to review for generator errors, and could
> also hide inefficient generated code.

There's an unavoidable amount of complication involved in the mapping from
model to executable code. In my experience[1] some of that ends up in
the generator, and some in generics (not that far distant from macros, in
this context) in the runtime support.

In [1] generation is a complex process involving extraction from a model
(UML) to a more amenable form, XSLT stylesheets, makefiles. There's a
great deal of conditionality in the stylesheets; for example, the
difference between a class whose instances are identified by a string
(needs a map) and one whose instances are identified by an enumeration
(needs an array).

In hindsight, I'm not at all sure that using XSLT was the right
long-term solution (it's not at all easy to reason about it).

[1] https://github.com/simonjwright/coldframe


  reply	other threads:[~2019-07-26 16:07 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-19 21:41 How to make Ada popular. Get rid of ";" at end of statement Nasser M. Abbasi
2019-07-19 22:09 ` Dmitry A. Kazakov
2019-07-20  6:47   ` J-P. Rosen
2019-07-20  8:42     ` Paul Rubin
2019-07-21  5:11       ` J-P. Rosen
2019-07-23  9:24         ` darek
2019-07-20 17:08     ` Stéphane Rivière
2019-07-20 13:46   ` Dennis Lee Bieber
2019-07-20  0:47 ` Matt Borchers
2019-07-20 13:54   ` Dennis Lee Bieber
2019-07-20 14:40 ` Stephen Davies
2019-07-20 15:45   ` Optikos
2019-07-20 17:24     ` joviangm
2019-07-20 19:10       ` Optikos
2019-07-20 19:17         ` AdaMagica
2019-07-20 22:25           ` Paul Rubin
2019-07-20 23:08           ` Optikos
2019-07-20 22:24         ` Paul Rubin
2019-07-20 21:14   ` Keith Thompson
2019-07-23 21:58 ` Ingo M.
2019-07-23 23:56   ` Paul Rubin
2019-07-24 14:06   ` John Perry
2019-07-24 14:51     ` Ingo M.
2019-07-24 15:29       ` Dmitry A. Kazakov
2019-07-25 10:58         ` Ingo M.
2019-07-25 12:16           ` Dmitry A. Kazakov
2019-07-26 10:54           ` antispam
2019-07-26 11:35             ` Niklas Holsti
2019-07-26 16:07               ` Simon Wright [this message]
2019-07-24 19:52       ` Ingo M.
2019-07-24 20:31         ` J-P. Rosen
2019-07-25 13:34           ` gautier_niouzes
2019-07-25  7:26     ` Maciej Sobczak
2019-07-25 10:47       ` Ingo M.
2019-07-25 16:18       ` John Perry
2019-07-25 18:31         ` Dennis Lee Bieber
2019-07-26 18:04         ` Shark8
2019-07-26 18:53         ` Niklas Holsti
2019-07-26 19:16       ` Niklas Holsti
2019-07-27  1:27       ` Lucretia
2019-07-27  1:34         ` Keith Thompson
2019-07-27  3:11           ` Randy Brukardt
2019-07-27  4:06             ` Keith Thompson
replies disabled

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