comp.lang.ada
 help / color / mirror / Atom feed
From: Florian Weimer <fw@deneb.enyo.de>
Subject: Re: AdaYY wish list from current projects
Date: 23 Feb 2001 10:30:51 +0100
Date: 2001-02-23T10:30:51+01:00	[thread overview]
Message-ID: <87elwp3fw4.fsf@deneb.enyo.de> (raw)
In-Reply-To: slrn99a396.l0.lutz@taranis.iks-jena.de

lutz@iks-jena.de (Lutz Donnerhacke) writes:

> Unfortunly this does increase the space requirments significantly. OTOH it
> does not address the problem, because I'd like to have a small RAM area
> containing only list heads. So I'd instantiate
>   head : Mix_In_Type(Null);
> or anything like this? Hmm. Seems to work using additional pointers :-(

I think you would have to use an access value instead (that's the same
with your proposed approach).

> >It appears that Ada is not suitable for this kind of design.
> 
> Very bad. I'd like to suggest a language feature in order to solve this.

Perhaps general introspection? ;-)

To be honest, I don't think that access-to-component variables can be
added to Ada as transparently as it is possible in, say C++.  The
involved offset might not be constant for types with discriminants,
which makes implementations of this feature quite complicated.

> >> Problem 2: Defining Byte_Order of record representations

> Unfortunly I have to deal with memory mapped I/O (i.e. network cards)

You didn't mention this...

> You miss the point. Providing such packages does not allow the compiler to
> generate good maschine code.

You need the conversion package anyway, at least that's my experience.
Otherwise, your code is quite unportable, as you're passing around
invalid values.

> >> Problem 3: Static expressions of discriminants in record representations

> *Gna* And now remove the limitation, that the discriminants have to appear
> first.

Aha, this was the intent of your comment (I thought you were talking
about the source code location).  Are trailing size specifies really
common?  To me, they don't make much sense.

> Even better: Try to write a program, which derivates the type from a pointer.

Sorry, what do you want to do?



  reply	other threads:[~2001-02-23  9:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-02-20 20:50 AdaYY wish list from current projects Lutz Donnerhacke
2001-02-22 11:08 ` Florian Weimer
2001-02-22 13:02   ` Lutz Donnerhacke
2001-02-23  9:30     ` Florian Weimer [this message]
2001-02-23 10:12       ` Lutz Donnerhacke
2001-02-23 13:54         ` Florian Weimer
2001-02-23 14:16           ` Lutz Donnerhacke
2001-02-23 15:04             ` Florian Weimer
2001-02-23 15:15               ` Lutz Donnerhacke
2001-02-23 16:21                 ` Florian Weimer
2001-02-23 16:31                   ` Lutz Donnerhacke
2001-02-23 17:25                     ` Florian Weimer
2001-02-26 11:22                       ` Lutz Donnerhacke
2001-02-23 19:06             ` tmoran
2001-02-26 11:20               ` Lutz Donnerhacke
2001-02-23 19:06         ` tmoran
2001-02-26 11:21           ` Lutz Donnerhacke
replies disabled

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