comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Seeking for papers about tagged types vs access to subprograms
Date: Mon, 13 May 2013 21:14:42 -0500
Date: 2013-05-13T21:14:42-05:00	[thread overview]
Message-ID: <kms6mm$859$1@loke.gir.dk> (raw)
In-Reply-To: wccmwrzu9oj.fsf@shell01.TheWorld.com

"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message 
news:wccmwrzu9oj.fsf@shell01.TheWorld.com...
> Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org> writes:
>
>> I'm not sure I see the point in having an object for a closed file,
>
> Yeah, I was about to post basically the same thing.  A closed file
> is pretty useless.  It's like an uninitialized variable -- you can't
> do anything with it.

Yes, and of course Ada allows uninitialized variables, too. Clearly the same 
sorts of reasons apply.

We briefly tried that model when designing Claw, but it really didn't work, 
because the underlying handle can be closed by some other operation and in 
that case the object becomes closed (we called it "invalid") without any 
explicit action in your code. For a windowing system, that other operation 
can be the guy with the mouse, who can easily screw up all of your carefully 
thought out code.

Another issue is that doing that means that you are limited to Ada's scopes 
for managing objects, which means that you're limited in how you can set up 
and tear down structures. (You can always get around those problems by 
essentially making your clients use new/unchecked_deallocation for 
everything -- but I don't consider that a step forward. I'd rather have 
"invalid" objects than force people to use access types.)

We used that model throughout Claw, and that included in Claw.Directories, 
so of course it carried over into the original proposal for Ada.Directories 
(which was heavily based on Claw.Directories). So "Search_Type" originally 
had a "Is_Valid" routine, which eventually got folded into "More_Entries". 
(Which demonstrates an intermediate approach that often works -- have a 
default initial state which is well-defined but not useful.)

                                        Randy.




  parent reply	other threads:[~2013-05-14  2:14 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-28  5:14 Seeking for papers about tagged types vs access to subprograms Yannick Duchêne (Hibou57)
2013-04-30  0:31 ` Yannick Duchêne (Hibou57)
2013-04-30  0:41   ` Shark8
2013-04-30  1:00     ` Yannick Duchêne (Hibou57)
2013-05-02  1:18       ` Randy Brukardt
2013-05-02  2:29         ` Jeffrey Carter
2013-05-06 10:00   ` Yannick Duchêne (Hibou57)
2013-05-06 10:18     ` Dmitry A. Kazakov
2013-05-06 10:55       ` Yannick Duchêne (Hibou57)
2013-05-06 12:11         ` Dmitry A. Kazakov
2013-05-06 13:16           ` Yannick Duchêne (Hibou57)
2013-05-06 14:16             ` Dmitry A. Kazakov
2013-05-06 15:15               ` Yannick Duchêne (Hibou57)
2013-05-06 18:55                 ` Dmitry A. Kazakov
2013-05-06 20:05                   ` Adam Beneschan
2013-05-07  7:30                     ` Dmitry A. Kazakov
2013-05-10  4:33                     ` Yannick Duchêne (Hibou57)
2013-05-07 20:35                   ` Jacob Sparre Andersen news
2013-05-07 20:44                     ` Yannick Duchêne (Hibou57)
2013-05-07 22:32                     ` Dennis Lee Bieber
2013-05-07 23:10                       ` Adam Beneschan
2013-05-08  0:18                     ` Shark8
2013-05-10  4:34                       ` Yannick Duchêne (Hibou57)
2013-05-10  8:27                         ` Simon Wright
2013-05-10 18:08                         ` Niklas Holsti
2013-05-08  7:38                     ` Dmitry A. Kazakov
2013-05-08  7:59                       ` Yannick Duchêne (Hibou57)
2013-05-08  8:23                         ` Dmitry A. Kazakov
2013-05-08  9:39                           ` Yannick Duchêne (Hibou57)
2013-05-08  9:51                             ` Yannick Duchêne (Hibou57)
2013-05-08 10:23                             ` Dmitry A. Kazakov
2013-05-08 11:08                               ` Yannick Duchêne (Hibou57)
2013-05-08 15:29                                 ` Dmitry A. Kazakov
2013-05-08 16:13                                   ` Yannick Duchêne (Hibou57)
2013-05-08 18:17                                     ` Dmitry A. Kazakov
2013-05-10  4:35                                       ` Yannick Duchêne (Hibou57)
2013-05-08 20:27                                   ` Randy Brukardt
2013-05-09  7:33                                     ` Dmitry A. Kazakov
2013-05-09 22:19                                       ` Randy Brukardt
2013-05-10  3:29                                         ` Yannick Duchêne (Hibou57)
2013-05-10  4:16                                           ` Yannick Duchêne (Hibou57)
2013-05-10  8:42                                           ` Dmitry A. Kazakov
2013-05-10 11:18                                             ` Yannick Duchêne (Hibou57)
2013-05-10 12:15                                               ` Dmitry A. Kazakov
2013-05-10 12:40                                                 ` Yannick Duchêne (Hibou57)
2013-05-10 12:59                                                   ` Yannick Duchêne (Hibou57)
2013-05-10 13:54                                                   ` Dmitry A. Kazakov
2013-05-10 14:01                                                     ` Yannick Duchêne (Hibou57)
2013-05-10 14:27                                                       ` Dmitry A. Kazakov
2013-05-10 15:20                                                         ` Yannick Duchêne (Hibou57)
2013-05-11  7:22                                                         ` Georg Bauhaus
2013-05-10 18:04                                           ` Niklas Holsti
2013-05-10 19:33                                             ` Yannick Duchêne (Hibou57)
2013-05-11  0:18                                             ` Randy Brukardt
2013-05-11  7:14                                               ` Yannick Duchêne (Hibou57)
2013-05-11 21:06                                               ` Niklas Holsti
2013-05-11 23:19                                                 ` Shark8
2013-05-12  6:09                                                   ` Niklas Holsti
2013-05-14  2:02                                                     ` Randy Brukardt
2013-05-12  6:44                                                 ` Yannick Duchêne (Hibou57)
2013-05-12  8:10                                                   ` Niklas Holsti
2013-05-12  8:49                                                     ` Yannick Duchêne (Hibou57)
2013-05-12 18:56                                                     ` Jeffrey Carter
2013-05-12 22:15                                                       ` Robert A Duff
2013-05-13  0:26                                                         ` Jeffrey Carter
2013-05-13  7:03                                                         ` Yannick Duchêne (Hibou57)
2013-05-13 13:15                                                           ` Robert A Duff
2013-05-13 17:30                                                             ` Jeffrey Carter
2013-05-13 18:01                                                               ` J-P. Rosen
2013-05-13 18:39                                                                 ` Bill Findlay
2013-05-13 18:57                                                                 ` Jeffrey Carter
2013-05-13 19:13                                                                 ` Robert A Duff
2013-05-13 20:38                                                                   ` J-P. Rosen
2013-05-14  7:26                                                                     ` Dmitry A. Kazakov
2013-05-14 20:00                                                                       ` Robert A Duff
2013-05-15 10:10                                                                         ` Dmitry A. Kazakov
2013-05-14 19:56                                                                     ` Robert A Duff
2013-05-15  4:24                                                                       ` Yannick Duchêne (Hibou57)
2013-05-15  9:28                                                                         ` Dmitry A. Kazakov
2013-05-15 11:31                                                                           ` Peter C. Chapin
2013-05-15 12:32                                                                             ` Yannick Duchêne (Hibou57)
2013-05-15 19:59                                                                               ` Peter C. Chapin
2013-05-15 20:56                                                                                 ` Dmitry A. Kazakov
2013-05-15 12:46                                                                             ` Dmitry A. Kazakov
2013-05-15 18:15                                                                             ` Jeffrey Carter
2013-05-15 19:18                                                                               ` Eryndlia Mavourneen
2013-05-15 19:57                                                                                 ` Dmitry A. Kazakov
2013-05-15 20:37                                                                                   ` Yannick Duchêne (Hibou57)
2013-05-15 20:48                                                                                     ` Dmitry A. Kazakov
2013-05-16 12:45                                                                                       ` Eryndlia Mavourneen
2013-05-16 17:16                                                                                         ` Jeffrey Carter
2013-05-16  9:41                                                                                 ` G.B.
2013-05-16 12:35                                                                                   ` J-P. Rosen
2013-05-15 14:21                                                                       ` J-P. Rosen
2013-05-14  2:14                                                         ` Randy Brukardt [this message]
2013-05-14 19:35                                                           ` Robert A Duff
2013-05-15  4:11                                                             ` Yannick Duchêne (Hibou57)
2013-05-16 23:36                                                             ` Randy Brukardt
2013-05-13  5:21                                                       ` Niklas Holsti
2013-05-13  7:22                                                         ` Dmitry A. Kazakov
2013-05-13  8:23                                                           ` Yannick Duchêne (Hibou57)
2013-05-13 19:20                                                           ` Niklas Holsti
2013-05-14  8:14                                                             ` Dmitry A. Kazakov
2013-05-10  3:47                                         ` Yannick Duchêne (Hibou57)
2013-05-11  0:22                                           ` Randy Brukardt
2013-05-11  7:22                                             ` Yannick Duchêne (Hibou57)
2013-05-10  3:59                                         ` Yannick Duchêne (Hibou57)
2013-05-10  4:03                                         ` Yannick Duchêne (Hibou57)
2013-05-10  7:48                                         ` Dmitry A. Kazakov
2013-05-10  8:12                                           ` Yannick Duchêne (Hibou57)
2013-05-10 15:11                                             ` Yannick Duchêne (Hibou57)
2013-05-11  0:42                                           ` Randy Brukardt
2013-05-11  6:37                                             ` Dmitry A. Kazakov
2013-05-11  7:06                                               ` Georg Bauhaus
2013-05-11  7:42                                                 ` Dmitry A. Kazakov
2013-05-11  8:14                                                   ` Yannick Duchêne (Hibou57)
2013-05-14  2:29                                                   ` Randy Brukardt
2013-05-14  7:44                                                     ` Dmitry A. Kazakov
2013-05-14 11:34                                                       ` Yannick Duchêne (Hibou57)
2013-05-14 12:16                                                         ` Dmitry A. Kazakov
2013-05-14 13:13                                                           ` Yannick Duchêne (Hibou57)
2013-05-14 18:41                                                           ` Randy Brukardt
2013-05-15 11:20                                                           ` Peter C. Chapin
2013-05-15 13:00                                                             ` Dmitry A. Kazakov
2013-05-15 21:12                                                               ` Peter C. Chapin
2013-05-15 22:08                                                                 ` Dmitry A. Kazakov
2013-05-16 11:31                                                                   ` Peter C. Chapin
2013-05-16 11:56                                                                     ` Yannick Duchêne (Hibou57)
2013-05-16 12:20                                                                     ` Dmitry A. Kazakov
2013-05-16 13:10                                                                       ` Peter C. Chapin
2013-05-16 13:54                                                                         ` Dmitry A. Kazakov
2013-05-16 17:15                                                                           ` G.B.
2013-05-16 18:09                                                                             ` Peter C. Chapin
2013-05-16 19:16                                                                               ` Dmitry A. Kazakov
2013-05-16 21:59                                                                                 ` Georg Bauhaus
2013-05-17 19:57                                                                                   ` Dmitry A. Kazakov
2013-05-16 21:20                                                                               ` Niklas Holsti
2013-05-16 23:20                                                                                 ` Peter C. Chapin
2013-05-17  5:25                                                                                   ` Niklas Holsti
2013-05-17  7:53                                                                                   ` Georg Bauhaus
2013-05-16 13:09                                                                     ` Eryndlia Mavourneen
2013-05-11  7:58                                               ` Yannick Duchêne (Hibou57)
2013-05-11  9:08                                                 ` Dmitry A. Kazakov
2013-05-11 18:14                                                 ` Niklas Holsti
2013-05-11  8:03                                               ` Yannick Duchêne (Hibou57)
2013-05-11  9:16                                                 ` Dmitry A. Kazakov
2013-05-11 11:49                                                   ` Georg Bauhaus
2013-05-11 12:25                                                     ` Dmitry A. Kazakov
2013-05-11 22:51                                                   ` Robert A Duff
2013-05-12  6:02                                                     ` Dmitry A. Kazakov
2013-05-12  6:25                                                       ` Yannick Duchêne (Hibou57)
2013-05-12  7:14                                                         ` Dmitry A. Kazakov
2013-05-12  7:37                                                           ` Simon Wright
2013-05-12  7:59                                                             ` Dmitry A. Kazakov
2013-05-12  8:21                                                           ` Yannick Duchêne (Hibou57)
2013-05-12  9:25                                                             ` Dmitry A. Kazakov
2013-05-12  9:32                                                               ` Yannick Duchêne (Hibou57)
2013-05-12 10:07                                                                 ` Dmitry A. Kazakov
2013-05-11  7:32                                             ` Yannick Duchêne (Hibou57)
2013-05-11  7:46                                             ` Yannick Duchêne (Hibou57)
2013-05-14 12:46                                         ` Weaker typing as a part of the way to stronger typing? (Was: Seeking for papers about tagged types vs access to subprograms) Jacob Sparre Andersen
2013-05-14 19:08                                           ` Randy Brukardt
2013-05-10 16:02                                       ` Seeking for papers about tagged types vs access to subprograms Yannick Duchêne (Hibou57)
2013-05-08 20:12                       ` Randy Brukardt
2013-05-09  7:50                         ` Dmitry A. Kazakov
2013-05-09 21:43                           ` Randy Brukardt
2013-05-10  4:39                             ` Yannick Duchêne (Hibou57)
2013-05-10  7:49                             ` Dmitry A. Kazakov
2013-05-11  0:09                               ` Randy Brukardt
2013-05-11  6:40                                 ` Dmitry A. Kazakov
2013-05-14  3:01                                   ` Randy Brukardt
2013-05-14  8:32                                     ` Dmitry A. Kazakov
2013-05-14 19:02                                       ` Randy Brukardt
2013-05-15  4:43                                         ` Yannick Duchêne (Hibou57)
2013-05-16 23:27                                           ` Randy Brukardt
2013-05-15  9:14                                       ` G.B.
2013-05-15 12:08                                         ` Dmitry A. Kazakov
2013-05-15 14:43                                           ` G.B.
2013-05-15 15:02                                             ` Dmitry A. Kazakov
2013-05-14 19:21                                     ` Robert A Duff
2013-05-10  4:29                   ` Yannick Duchêne (Hibou57)
2013-05-07  1:14             ` Randy Brukardt
2013-05-07  2:42               ` Yannick Duchêne (Hibou57)
2013-05-07  1:09     ` Randy Brukardt
2013-05-07  7:41       ` Dmitry A. Kazakov
2013-05-07 20:27         ` Jacob Sparre Andersen news
2013-05-07 20:40           ` Yannick Duchêne (Hibou57)
2013-05-08  7:57           ` Dmitry A. Kazakov
2013-05-08 20:37             ` Randy Brukardt
2013-05-09  8:04               ` Dmitry A. Kazakov
2013-05-09 21:33                 ` Randy Brukardt
2013-05-10  7:15                   ` Dmitry A. Kazakov
2013-05-11  1:00                     ` Randy Brukardt
2013-05-11  7:08                       ` Yannick Duchêne (Hibou57)
2013-05-11  7:12                       ` Dmitry A. Kazakov
2013-05-14  2:52                         ` Randy Brukardt
2013-05-11  5:31                     ` Simon Wright
2013-05-11  7:22                       ` Dmitry A. Kazakov
2013-05-02  1:09 ` Randy Brukardt
2013-05-02  6:56   ` Dmitry A. Kazakov
2013-05-02 21:49     ` Randy Brukardt
2013-05-03  6:49       ` Dmitry A. Kazakov
replies disabled

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