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
next prev parent 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