From: Stefan.Lucks@uni-weimar.de
Subject: Re: Gnat 2013 is out!
Date: Fri, 31 May 2013 13:30:12 +0200
Date: 2013-05-31T13:30:12+02:00 [thread overview]
Message-ID: <alpine.DEB.2.02.1305311319150.13043@debian> (raw)
In-Reply-To: <ko8ao8$55i$1@loke.gir.dk>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1647 bytes --]
On Thu, 30 May 2013, Randy Brukardt wrote:
> "Adam Beneschan" <adam@irvine.com> wrote in message
>
>> I've always wanted some kind of feature in Ada that would allow a
>> caller to provide a "dummy" for OUT parameters, without having to
>> declare a new variable. The compiler would allocate a temporary object
>> (and a separate one for each use of a "dummy") and then discard it
>> after the call. It wouldn't work well when parameter types are
>> unconstrained array or discriminant records, though.
>
> Hmm, that seems like a good idea to me. But what would the syntax be? <>
> maybe?
>
> My_Proc (Obj1, Obj2, Result => <>);
>
This has two issues:
1. This won't work if the type of Result is unconstrained, as, e.g., in
procedure My_Proc(Obj1, Obj2: String; Result : String);
2. This would sometimes break overload resolution -- which procedure
should be called by "My_Proc (Obj1, Obj2, Result => <>);" if there
happens to be another procedure in scope, such as
procedure My_Proc(Obj1, Obj2: String; Result : Unbounded_String);
I'd suggest
My_Proc (Obj1, Obj2, Result => String(1 .. 80));
or in general
My_Proc (Obj1, Obj2, Result => type Name_of_Type);
as syntactic sugar for
declare
Dummy : Name_Of_Type;
begin
My_Proc (Obj1, Obj2, Result => type Name_of_Type);
end;
------ I love the taste of Cryptanalysis in the morning! ------
<http://www.uni-weimar.de/cms/medien/mediensicherheit/home.html>
--Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany--
next prev parent reply other threads:[~2013-05-31 11:30 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-29 13:36 Gnat 2013 is out! J-P. Rosen
2013-05-29 15:03 ` Simon Wright
2013-05-29 16:13 ` Simon Wright
2013-05-29 22:39 ` Randy Brukardt
2013-05-30 2:01 ` Adam Beneschan
2013-05-30 8:01 ` Bill Findlay
2013-05-30 23:09 ` Dennis Lee Bieber
2013-05-31 5:02 ` J-P. Rosen
2013-05-31 18:35 ` Bill Findlay
2013-05-30 10:39 ` Simon Wright
2013-05-30 16:21 ` Adam Beneschan
2013-05-30 19:53 ` Randy Brukardt
2013-05-31 7:41 ` Dmitry A. Kazakov
2013-05-31 11:30 ` Stefan.Lucks [this message]
2013-05-31 12:03 ` Niklas Holsti
2013-05-31 22:07 ` Randy Brukardt
2013-06-01 11:51 ` Georg Bauhaus
2013-06-03 14:52 ` Adam Beneschan
2013-06-04 17:42 ` Wesley Pan
2013-06-04 18:34 ` Adam Beneschan
2013-06-04 19:00 ` Wesley Pan
2013-06-05 15:40 ` Eryndlia Mavourneen
2013-06-11 2:39 ` Randy Brukardt
2013-06-11 6:31 ` Georg Bauhaus
2013-06-19 21:57 ` Randy Brukardt
2013-05-30 0:31 ` Dennis Lee Bieber
2013-05-31 16:12 ` dptrash
2013-06-01 5:10 ` Stephen Leake
2013-06-01 6:00 ` Per Sandberg
2013-06-01 6:46 ` J-P. Rosen
2013-06-01 15:22 ` Bill Findlay
2013-08-27 14:08 ` Yannick Duchêne (Hibou57)
2013-08-27 20:05 ` wilson
2013-08-27 22:59 ` Dennis Lee Bieber
2013-08-28 7:35 ` Dmitry A. Kazakov
2013-08-28 23:39 ` Dennis Lee Bieber
2013-06-07 2:41 ` gautier_niouzes
2013-06-07 15:52 ` mjsilva
2013-06-07 20:15 ` Dmitry A. Kazakov
2013-06-09 18:51 ` MatthiasR
2013-06-08 6:22 ` Simon Wright
2013-06-08 23:23 ` mjsilva
2013-06-10 11:07 ` Rego, P.
2013-06-13 13:30 ` Rego, P.
2013-06-17 6:35 ` Jacob Sparre Andersen
2013-06-22 8:17 ` MatthiasR
2014-03-18 0:04 ` Rego, P.
2013-06-11 7:52 ` Maciej Sobczak
2013-06-11 9:35 ` J-P. Rosen
2013-06-11 12:09 ` John Doe
2013-06-12 7:58 ` Maciej Sobczak
2013-06-12 11:01 ` G.B.
2013-06-12 20:01 ` Robert A Duff
2013-06-12 20:36 ` Georg Bauhaus
2013-06-13 7:38 ` Maciej Sobczak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox