From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: Multiple procedures in the same adb file?
Date: Mon, 12 Jan 2015 10:01:28 +0100
Date: 2015-01-12T10:01:28+01:00 [thread overview]
Message-ID: <m902gd$sp3$1@dont-email.me> (raw)
In-Reply-To: <wcc1tn0x1j6.fsf@shell01.TheWorld.com>
Le 12/01/2015 01:53, Robert A Duff a écrit :
> This happened to me: Existing code:
>
> function Some_Root_Package.Some_Function(...) return String;
>
> Now I happen to know that it always returns String(1..20).
> And returning known-length strings is more efficient,
> and this one is a bottleneck, so it's worth changing to
> something like:
>
> subtype String_20 is String(1..20);
> function Some_Function(...) return String_20;
>
> But that doesn't work without adding a new package, which breaks
> compatibility. And this was a widely-used library, so I couldn't do
> that. And String_20 really doesn't belong in Some_Root_Package,
> nor anywhere else than the package that Some_Function is (directly) in
> (which didn't exist!).
Put the function in a package, and declare Some_Function as:
function Some_Function (...) renames New_Package.Some_Function;
(For compatibility, new programs would use directly the function in the
package).
--
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr
next prev parent reply other threads:[~2015-01-12 9:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-11 18:37 Multiple procedures in the same adb file? John Smith
2015-01-11 19:05 ` John Smith
2015-01-11 19:51 ` Robert A Duff
2015-01-11 20:38 ` John Smith
2015-01-11 21:02 ` Robert A Duff
2015-01-11 21:51 ` John Smith
2015-01-12 0:53 ` Robert A Duff
2015-01-12 0:55 ` Robert A Duff
2015-01-13 0:11 ` Randy Brukardt
2015-01-11 21:38 ` Niklas Holsti
2015-01-12 0:53 ` Robert A Duff
2015-01-12 9:01 ` J-P. Rosen [this message]
2015-01-12 14:57 ` Robert A Duff
2015-01-13 0:09 ` Randy Brukardt
2015-01-12 0:55 ` Robert A Duff
2015-01-11 20:04 ` Jeffrey 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