From: John McCabe <john@nospam.assen.demon.co.uk.nospam>
Subject: Re: Thinking of using Ada for a job at home. Couple of questions first.
Date: Wed, 03 Mar 2010 20:09:40 +0000
Date: 2010-03-03T20:09:40+00:00 [thread overview]
Message-ID: <tcgto5hulbncba3207asu82sjh1gdgoiil@4ax.com> (raw)
In-Reply-To: hmm9h9$ggo$1@tornado.tornevall.net
Hi Jeff
"Jeffrey R. Carter" <spam.jrcarter.not@spam.acm.org> wrote:
>John McCabe wrote:
>>
>> The second question is related to the implementation of the System
>> Exclusive messages. Basically this is part of the reason I thought Ada
>> would be good for this task. The SysEx messages basically consist of a
>> smallish header and a variety of different structures that are
>> differentiated by the "Function" type in the header. Now I seem to
>> remember from when I did use Ada that it's possible to define the
>> record representation of a variant record such that the discriminant
>> is held within the body of the record. This would mean (I think) that
>> I could read a block of data from the synthesizer straight in to a
>> buffer that overlaid the variant record and essentially automatically
>> created a record that could be read as the particular variant related
>> to the incoming data. However I also seem to remember that's not quite
>> a 'recommended' way of doing that sort of thing. The other thing that
>> guided me in Ada's direction is that the structure of the SysEx
>> messages requires a lot of bit-fields and I'm well aware that Ada's
>> representation clauses are fantastic for that sort of thing.
>>
>> So, in principle, would that be the way to do this, or would you be
>> able to suggest a better mechanism?
>
>That is the way I would approach this, though I might keep the buffer and record
>separate and use Unchecked_Conversion.
Thanks for taking the time to answer that. The Unchecked_Conversion
option was the other thing I was thinking of.
>I can't tell you whether the tagged approach would work, because programming by
>extension is a bad idea, and I avoid it whenever possible.
It's a good laugh though, and can be a useful think to know about if
your work doesn't involve anything that needs to be particularly fast,
reliable or safe :-}
next prev parent reply other threads:[~2010-03-03 20:09 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-03 16:19 Thinking of using Ada for a job at home. Couple of questions first John McCabe
2010-03-03 18:22 ` Jeffrey R. Carter
2010-03-03 20:09 ` John McCabe [this message]
2010-03-03 21:00 ` Simon Wright
2010-03-03 18:58 ` Hibou57 (Yannick Duchêne)
2010-03-03 20:17 ` John McCabe
2010-03-04 6:22 ` Hibou57 (Yannick Duchêne)
2010-03-04 11:39 ` John McCabe
2010-03-09 14:49 ` Warren Gay
2010-03-09 15:33 ` Jacob Sparre Andersen
2010-03-09 20:22 ` jonathan
2010-03-09 21:57 ` Charmed Snark
2010-03-09 22:54 ` jonathan
2010-03-10 17:46 ` Charmed Snark
2010-03-10 19:12 ` jonathan
2010-03-10 20:41 ` Simon Wright
2010-03-10 21:00 ` Pascal Obry
2010-03-09 20:32 ` Simon Wright
2010-03-10 6:42 ` J-P. Rosen
2010-03-03 19:17 ` Dmitry A. Kazakov
2010-03-03 20:38 ` John McCabe
2010-03-03 20:56 ` Simon Wright
2010-03-03 21:00 ` John McCabe
2010-03-03 21:10 ` John McCabe
2010-03-04 6:39 ` Hibou57 (Yannick Duchêne)
2010-03-03 21:35 ` tmoran
2010-03-04 6:43 ` Hibou57 (Yannick Duchêne)
2010-03-03 22:20 ` Dmitry A. Kazakov
2010-03-03 19:52 ` Gautier write-only
2010-03-03 20:57 ` John McCabe
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox