comp.lang.ada
 help / color / mirror / Atom feed
From: stdsee01@pip.shsu.edu (Road Pilot)
Subject: Re: Syntax question
Date: 11 Mar 1995 15:44:14 -0600
Date: 1995-03-11T15:44:14-06:00	[thread overview]
Message-ID: <3jt5je$d0u@pip.shsu.edu> (raw)
In-Reply-To: 3jrt1m$9rk@erinews.ericsson.se

Geoffrey Hollingworth (etlghh@garbo.ericsson.se) wrote:
: Hi
: 
: I am currently researching into real time languages and hope
: you ada experts can explain something to me.  I apologise for
: my lack of knowledge in ada.
: When binding formal parameters with actual parameters the '=>'
: operator is used, irrespective of whether the formal parameter
: is declared as IN, INOUT or OUT.  Is there a reason for this ?
: If I proposed an alternative syntax where "=>" indicated the FP
: was an IN parameter, "<=" to indicate an OUT parameter and "<=>"
: to indicate an INOUT.
: Then the caller of the procedure/function would have explicitly
: had to understand to direction of the parameters and at the same
: time increased the readability of his/her code.
: Is there a fundamental flaw in this line of thinking ?
: Does ada manage this problem via a different mechanism ?
: 
: Any information, historical or otherwise, would be a great help
: to me and greatly appreciated.
: 
: thanks
: 
: /geoff

Well, the arrow symbol "=>" is not meant to imply direction.  It is used in
the case statement (ex: WHEN choice => statement) and in aggregate assingments
as well (ex: initializing specific cells of an array without multiple index
references).  This is all in contrast to positional reference.  In your a
function/procedure call, the use of the arrow notation is completely
optional.  In some cases of multiple parameters, it makes it easier to keep
them straight.  I like to use them mainly because it avoids confusion.

Like so:
procedure insert( list : in out integer; item : in integer ) is

	insert( 2, 4 );   OR  insert (list=>2, item=>4);

 either way will work. 
 
I don't know if this helps any or just confuses more, but I guess the main
thing is that the arrow is more like a placeholder or referencing tool and
is not meant to imply direction.

Sloaner
stdsee01@pip.shsu.edu




  parent reply	other threads:[~1995-03-11 21:44 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-03-11 10:12 Syntax question Geoffrey Hollingworth
1995-03-11 15:16 ` Robert A Duff
1995-03-11 20:45 ` Michael Feldman
1995-03-15 23:29   ` David Kusuda
1995-03-16  2:25     ` David Weller
1995-03-16 14:44       ` Spencer Allain
1995-03-19  1:04       ` Robert Dewar
1995-03-16  9:19     ` Fred J. McCall
1995-03-17  5:44     ` Niklas Holsti
1995-03-19 20:53       ` Robert Dewar
1995-03-11 21:44 ` Road Pilot [this message]
1995-03-23 13:07   ` Bob Collins
1995-03-24  1:11     ` Kevin F. Quinn
1995-03-27 14:19       ` Norman H. Cohen
1995-03-13  4:43 ` Keith Thompson
1995-03-16 20:37   ` Norman H. Cohen
1995-03-21  0:51     ` Robert Dewar
1995-03-16 19:20 ` Adam Beneschan
  -- strict thread matches above, loose matches on Subject: below --
2001-07-05 17:58 Syntax Question Robby Simpson
2001-07-05 18:32 ` Marin David Condic
2001-07-05 18:38 ` Robby Simpson
2001-07-05 19:09 ` Ted Dennison
2001-07-05 20:14   ` Robby Simpson
2001-07-05 21:44 ` Robert Dewar
2001-07-09 12:39   ` Robby Simpson
     [not found] <Cx6pG3.IEp@ucc.su.oz.au>
1994-10-05 14:20 ` Syntax question Tucker Taft
     [not found]   ` <36ui0u$4dg@gnat.cs.nyu.edu>
1994-10-06  0:04     ` David Weller
1994-10-05  5:19 Adrian Cho
1994-10-05 11:52 ` Robert Dewar
1994-10-05 17:19   ` Norman H. Cohen
replies disabled

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