comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adam@irvine.com>
Subject: Re: Ada 2012: In-out parameters for functions
Date: Fri, 3 May 2013 18:02:10 -0700 (PDT)
Date: 2013-05-03T18:02:10-07:00	[thread overview]
Message-ID: <885a6f9e-cb8b-4823-9f02-3cab5f172076@googlegroups.com> (raw)
In-Reply-To: <km1h9d$k5k$1@munin.nbi.dk>

On Friday, May 3, 2013 4:29:46 PM UTC-7, Randy Brukardt wrote:

> I agree that named notation should include the direction of the parameter, 
> but again its way too late to fix. The best syntax would have been
>      Proc (In_Param => A, Out_Param <= B, In_Out_Param <=> C);
> but unfortunately "<=" is used for less-than-or-equals and trying to use it 
> in this context would be ambiguous.
> 
> So the best practical syntax would be:
>      Proc (In_Param -> A, Out_Param <- B, In_Out_Param <-> C);
> But adding new compound delimiters has never been done (lexical elements are 
> unchanged since Ada 83, the only changes being to allow Unicode characters 
> in identifiers and strings), and this scares people. Moreover, we don't have 
> any current delimiters that have three characters. So this would likely have 
> a lot of change to tools, at a very fundemental level.

This particular change would break any code that looks like

      if X<-1 then ...

and you just gotta know that there's some out there, no matter how ugly it looks. 

Ada 80 (?) would have said

    Proc (In_Param =: A, Out_Param := B, In_Out_Param :=: C)

Don't know why they didn't stick with it.

                                   -- Adam



  reply	other threads:[~2013-05-04  1:02 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-01 16:28 Ada 2012: In-out parameters for functions dptrash
2013-05-01 17:27 ` Shark8
2013-05-01 19:04 ` Yannick Duchêne (Hibou57)
2013-05-01 19:37   ` Dmitry A. Kazakov
2013-05-01 19:58     ` Yannick Duchêne (Hibou57)
2013-05-02  6:41       ` Dmitry A. Kazakov
2013-05-02  7:11         ` Yannick Duchêne (Hibou57)
2013-05-01 23:37 ` Peter C. Chapin
2013-05-03 10:48 ` anon
2013-05-03 11:04   ` Simon Clubley
2013-05-03 11:32   ` Simon Wright
2013-05-03 11:42   ` Yannick Duchêne (Hibou57)
2013-05-03 11:54     ` Yannick Duchêne (Hibou57)
2013-05-03 23:29       ` Randy Brukardt
2013-05-04  1:02         ` Adam Beneschan [this message]
2013-05-05  5:16           ` Randy Brukardt
2013-05-05 10:24         ` Niklas Holsti
2013-05-05 11:11           ` Yannick Duchêne (Hibou57)
2013-05-05 12:52             ` Bill Findlay
2013-05-05 15:09               ` Niklas Holsti
2013-05-05 19:23                 ` Yannick Duchêne (Hibou57)
2013-05-05 20:37                   ` Niklas Holsti
2013-05-07  0:30                 ` Randy Brukardt
2013-05-07  2:36                   ` Yannick Duchêne (Hibou57)
2013-05-05 19:45               ` Yannick Duchêne (Hibou57)
2013-05-06 15:40               ` Adam Beneschan
2013-05-06 16:17                 ` Bill Findlay
2013-05-06 16:47                   ` Adam Beneschan
2013-05-06 18:43                     ` Bill Findlay
2013-05-07  0:07                     ` Dennis Lee Bieber
2013-05-07  2:34                       ` Yannick Duchêne (Hibou57)
2013-05-07  0:26             ` Randy Brukardt
2013-05-06 15:26           ` Adam Beneschan
2013-05-07  0:36             ` Randy Brukardt
2013-05-07  3:59           ` Yannick Duchêne (Hibou57)
2013-05-07  4:13             ` Yannick Duchêne (Hibou57)
2013-05-07 11:52             ` Yannick Duchêne (Hibou57)
2013-05-03 11:45   ` AdaMagica
2013-05-03 23:54     ` Randy Brukardt
2013-05-04  6:58       ` J-P. Rosen
2013-05-04  7:21         ` Dmitry A. Kazakov
2013-05-04 17:58           ` J-P. Rosen
2013-05-04  7:40         ` Yannick Duchêne (Hibou57)
2013-05-04  8:05           ` Simon Wright
2013-05-04 17:55           ` J-P. Rosen
2013-05-04  0:40   ` Keith Thompson
replies disabled

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