comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: some trivial questions?
Date: Wed, 1 Nov 2017 12:55:35 -0700 (PDT)
Date: 2017-11-01T12:55:35-07:00	[thread overview]
Message-ID: <119e3372-df09-4355-8036-e25f82115164@googlegroups.com> (raw)
In-Reply-To: <6a5368c5-f015-4dcb-9291-e77b40fa1bf1@googlegroups.com>

On Wednesday, November 1, 2017 at 12:44:20 PM UTC-6, tclwa...@gmail.com wrote:
> Why in ada, there is a separation between functions and procedures?
> Is there any real value in this?

Yes, there's a *LOT* of value here; the easiest way to illustrate this in conjunction with Private Types. Consider the following:

  Package Example is
    
    -- Handle is a monotonically increasing value, for the run of the program.
    Type Handle is private;
    
    Function Create Return Handle;
    Function Value( Object : Handle ) Return Positive;
    
  Private
    Type Handle is new Positive;
  End Example;

Everything that you really need to know about using the types and functions are given in the specification above. Below we have the actual implementation.


  Package Body Example is
    Count : Natural := 0;
    
    Function Create Return Handle is
    Begin
      Count:= Natural'Succ( Count );
      Return Handle( Count );
    End Create;
    
    Function Value( Object : Handle ) Return Positive is
      ( Positive(Object) );
    
  End Example;

> 
> Also why does is Use imply With? 

Because they are really about two different things:
WITH is really about dependency.
USE is about [direct] visibility.

> For example why do i have to say:
> 
> with Ada.Text_IO;
> use Ada.Text_IO;

Because "with Ada.Text_IO" is simply saying that you're depending on the "Text_IO" compilation-unit inside-or-subordinate-to the compilation-unit "Ada".

The "use Ada.Text_IO" is about importing the whole namespace "Ada.Text_IO" into the current visibility scope.

> Is there any case where the Use statement will be ambiguous, if i skip the with part?

You cannot skip the with part.

  reply	other threads:[~2017-11-01 19:55 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-01 18:44 some trivial questions? tclwarrior
2017-11-01 19:55 ` Shark8 [this message]
2017-11-01 20:03 ` Dmitry A. Kazakov
2017-11-01 21:30 ` Luke A. Guest
2017-11-06 22:43   ` Robert A Duff
2017-11-01 21:39 ` Jeffrey R. Carter
2017-11-02  1:19 ` tclwarrior
2017-11-02  3:04   ` Luke A. Guest
2017-11-02  4:19   ` gautier_niouzes
2017-11-06 22:52     ` Robert A Duff
2017-11-17  0:45       ` Randy Brukardt
2017-11-02  8:27   ` Dmitry A. Kazakov
2017-11-02 13:21     ` Simon Wright
2017-11-02 13:34       ` Dmitry A. Kazakov
2017-11-06 22:58         ` Robert A Duff
2017-11-07 11:50           ` Simon Wright
2017-11-17  0:51     ` Randy Brukardt
2017-11-17  8:32       ` Dmitry A. Kazakov
2017-11-18  1:14         ` Randy Brukardt
2017-11-18  9:19           ` Dmitry A. Kazakov
2017-11-20  5:40             ` J-P. Rosen
2017-11-20  8:22               ` Dmitry A. Kazakov
2017-11-20 22:03             ` Randy Brukardt
2017-11-21 10:26               ` Dmitry A. Kazakov
2017-11-22  0:56                 ` Randy Brukardt
2017-11-22  1:14                   ` Paul Rubin
2017-11-23  0:15                     ` Randy Brukardt
2017-11-23  0:19                       ` Victor Porton
2017-11-23  1:09                       ` Paul Rubin
2017-11-28  0:24                         ` Randy Brukardt
2017-11-22  8:42                   ` Dmitry A. Kazakov
2017-11-23  0:19                     ` Randy Brukardt
2017-11-23  1:11                       ` Paul Rubin
2017-11-23  8:37                       ` Dmitry A. Kazakov
2017-11-28  0:19                         ` Randy Brukardt
2017-11-23  8:42                       ` G. B.
2017-11-23 19:57                   ` Blady
2017-11-23 21:30                     ` J-P. Rosen
2017-11-23 23:24                       ` Shark8
2017-11-23 22:13                     ` Dennis Lee Bieber
2017-11-28  0:34                     ` Randy Brukardt
2017-11-02  8:39   ` Stefan.Lucks
2017-11-02 10:29   ` Simon Wright
2017-11-02 10:37     ` Dmitry A. Kazakov
2017-11-02 16:54   ` Jeffrey R. Carter
2017-11-02 17:17     ` Simon Wright
2017-11-02  3:53 ` gautier_niouzes
2017-11-02 11:15 ` joakimds
2017-11-06 19:33 ` G. B.
2017-11-06 20:53 ` Pascal Obry
2017-11-06 21:07   ` Dmitry A. Kazakov
2017-11-06 21:14     ` Pascal Obry
2017-11-06 21:21       ` Dmitry A. Kazakov
2017-11-17  0:57       ` Randy Brukardt
2017-11-17  8:40         ` Dmitry A. Kazakov
2017-11-17  9:12           ` Simon Wright
2017-11-18  1:27           ` Randy Brukardt
2017-11-18  2:29             ` Dennis Lee Bieber
2017-11-18  9:32             ` Dmitry A. Kazakov
2017-11-06 21:16   ` Simon Wright
2017-11-06 21:43     ` Pascal Obry
2017-11-17  0:59       ` Randy Brukardt
2017-11-06 22:37 ` Robert A Duff
2017-11-07  2:25   ` Dennis Lee Bieber
2017-11-07  8:34   ` Dmitry A. Kazakov
2017-11-08 22:49     ` Robert A Duff
2017-11-09  8:49       ` Dmitry A. Kazakov
2017-11-09 15:36         ` AdaMagica
2017-11-09 16:58           ` Dmitry A. Kazakov
2017-11-09 18:10             ` AdaMagica
2017-11-09 20:05               ` Dmitry A. Kazakov
2017-11-09 21:11                 ` AdaMagica
2017-11-09 21:38                   ` Dmitry A. Kazakov
2017-11-09 22:52                     ` AdaMagica
2017-11-10  8:18                       ` Dmitry A. Kazakov
2017-11-10 18:21                 ` J-P. Rosen
2017-11-10 19:34                   ` Dmitry A. Kazakov
2017-11-11 11:32                     ` AdaMagica
2017-11-11 12:17                       ` Dmitry A. Kazakov
2017-11-11 15:38                         ` AdaMagica
2017-11-11 21:36                           ` Dmitry A. Kazakov
2017-11-12  5:21                       ` J-P. Rosen
2017-11-14 16:49                       ` Robert Eachus
2017-11-14 17:34                         ` Jeffrey R. Carter
2017-11-17  1:11                     ` Randy Brukardt
2017-11-17  8:42                       ` Dmitry A. Kazakov
2017-11-10 20:30                   ` G. B.
2017-11-17  1:08                 ` Randy Brukardt
2017-11-09 22:43               ` Robert A Duff
2017-11-09 22:56                 ` AdaMagica
2017-11-10  8:22                   ` Dmitry A. Kazakov
2017-11-10 15:47                   ` Robert A Duff
2017-11-10 15:54                     ` Dmitry A. Kazakov
2017-11-14 15:58                       ` Robert Eachus
2017-11-14 16:22                         ` Dmitry A. Kazakov
2017-11-17  1:16                     ` Randy Brukardt
2017-11-17  1:06             ` Randy Brukardt
2017-11-09 18:08         ` Simon Wright
2017-11-09 20:07           ` Dmitry A. Kazakov
2017-11-07 17:41   ` Jeffrey R. Carter
2017-11-08 10:20     ` Brian Drummond
replies disabled

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