From: Shark8 <onewingedshark@gmail.com>
Subject: Re: body stub not allowed in inner scope
Date: Thu, 1 Mar 2018 09:37:20 -0800 (PST)
Date: 2018-03-01T09:37:20-08:00 [thread overview]
Message-ID: <3361a969-7deb-4a1a-9dd6-c6354f9b5348@googlegroups.com> (raw)
In-Reply-To: <p77dlj$loj$1@franka.jacob-sparre.dk>
On Wednesday, February 28, 2018 at 4:23:32 PM UTC-7, Randy Brukardt wrote:
> "Mehdi Saada" wrote in message
> news:15c49c4e-726a-4fd7-bf35-c7d27ff9a491...
> > Thanks.
> > But that's ugly... How about fixing this for the next norm ?
>
> Does anyone other than ACATS tests actually use stubs these days? Why?
I do, sometimes.
Usually to put a particularly knotty or verbose chunk of code. For example, in an interpreter I was writing I put all the operators, which 'explodes' (m*n; m = #types, n = #operators) based on the number of internal types, in their own package and made the body separate.
I've also used it with parsing & stream-I/O functions:
Function Parse( Text : String ) return Program;
Function Parse( Text : String ) return Program is Separate;
Procedure Read(
Stream : not null access Ada.Streams.Root_Stream_Type'Class;
Item : out T) is Separate;
> (We used to use them extensively, but only because Janus/Ada on 16-bit MS-DOS
> limited a single unit to 64K of generated code -- and our editors couldn't
> handle more than 256K of source code at a time. None of that makes sense
> today.)
This is true; but it does make sense for organizing and isolating portions of the codebase even further w/o having to muck up the library-hierarchy... and might be required at a certain level (eg primitive ops).
next prev parent reply other threads:[~2018-03-01 17:37 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-28 13:01 body stub not allowed in inner scope Mehdi Saada
2018-02-28 13:32 ` AdaMagica
2018-02-28 14:30 ` Mehdi Saada
2018-02-28 14:39 ` AdaMagica
2018-02-28 23:23 ` Randy Brukardt
2018-03-01 7:14 ` J-P. Rosen
2018-03-01 22:38 ` Randy Brukardt
2018-03-02 7:14 ` J-P. Rosen
2018-03-02 10:17 ` Dmitry A. Kazakov
2018-03-02 22:10 ` Randy Brukardt
2018-03-03 3:38 ` Dennis Lee Bieber
2018-03-02 22:13 ` Randy Brukardt
2018-03-02 19:37 ` G. B.
2018-03-02 19:47 ` Simon Wright
2018-03-03 9:42 ` G.B.
2018-03-01 8:20 ` Dmitry A. Kazakov
2018-03-01 8:24 ` Simon Wright
2018-03-01 20:52 ` Jacob Sparre Andersen
2018-03-01 22:45 ` Randy Brukardt
2018-03-01 8:38 ` Niklas Holsti
2018-03-01 9:11 ` Björn Lundin
2018-03-01 15:19 ` marciant
2018-03-01 17:37 ` Shark8 [this message]
2018-02-28 15:26 ` Mehdi Saada
2018-02-28 15:28 ` Mehdi Saada
2018-02-28 23:32 ` Randy Brukardt
2018-03-01 0:16 ` Mehdi Saada
2018-02-28 17:24 ` Jeffrey R. Carter
2018-02-28 18:05 ` Simon Wright
2018-02-28 19:04 ` Jeffrey R. Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox