From: Vinzent 'Gadget' Hoefler <nntp-2004-05@t-domaingrabbing.de>
Subject: Re: Manifesto against Vector
Date: Thu, 06 May 2004 11:41:11 +0200
Date: 2004-05-06T11:41:11+02:00 [thread overview]
Message-ID: <at0k90dam2ahnu7o4qj5lj75jmk5k8b61u@jellix.jlfencey.com> (raw)
In-Reply-To: na0k90h8oii6063v7n6u5mmib5v20b2emh@4ax.com
Dmitry A. Kazakov wrote:
>On Thu, 6 May 2004 09:03:54 +0200, "Jean-Pierre Rosen"
><rosen@adalog.fr> wrote:
>
>>Since you asked for it... (but I'll try to have reasonable objections).
>>Note that I am known for being strongly *in favor* of the use clause.
>>
>>I would strongly oppose this proposal for a very simple reason: it
>>defeats the main goal of having separated with from use.
>>With is a library level clause; it tells: "this unit, somewhere needs
>>that unit".
>
>Why that should be told? I'd say that "with" is superfluous.
No! If at all then it is "use" which is superfluous. ;-)
>Maybe, but it should be placed at the beginning of the context. So it
>is just one line difference. Not a big issue, IMO.
It is more than a single line. Consider this:
|with Interfaces;
^^^^
|
|package body Timer is
|
[...]
| function Hi_Byte (Value : in Interfaces.Unsigned_16)
| return Interfaces.Unsigned_8 is
| use type Interfaces.Unsigned_16;
^^^
| begin
| return Interfaces.Unsigned_8 (
| Interfaces.Shift_Right (Value, 8) and 16#FF#);
| end Hi_Byte;
>This might work with bodies, but it does not with specifications.
Well, most of it does.
The only part where I used "use" yet was in the private part of a
package spec, and this was just because I am lazy and wanted to have
"System.Storage_Elements.To_Address" visible there as the simpler
"To_Address". I could have used "renames" instead, I guess.
>with Foo;
>procedure P (<something here needs visibility of Foo>);
Simple: Use the full name there. If it's too long for you, I'd say
rename it.
>>Allowing with/use would simply encourage a style that should be
>>discouraged altogether. QED.
>
>Oh, Use is Use, and With is With, and never the twain shall meet, ...
>(:-))
It's much more simple: Never use "use". :)
Vinzent.
next prev parent reply other threads:[~2004-05-06 9:41 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-04 3:20 Manifesto against Vector Alexander E. Kopilovich
2004-05-04 16:30 ` chris
2004-05-04 17:19 ` Marius Amado Alves
2004-05-04 20:40 ` Peter C. Chapin
2004-05-04 20:58 ` Xenos
2004-05-07 8:05 ` Ranges in C++ Martin Krischik
2004-05-07 23:18 ` James Rogers
2004-05-08 6:45 ` Martin Krischik
2004-05-10 16:19 ` Xenos
2004-05-10 18:04 ` Martin Krischik
2004-05-10 19:03 ` Xenos
2004-05-11 5:59 ` Martin Krischik
2004-05-04 17:16 ` Manifesto against Vector Jeffrey Carter
2004-05-04 18:24 ` Marius Amado Alves
2004-05-04 19:17 ` Xenos
2004-05-04 19:53 ` Marius Amado Alves
2004-05-05 9:24 ` Georg Bauhaus
2004-05-05 5:28 ` Russ
2004-05-05 7:01 ` tmoran
2004-05-05 17:37 ` Martin Dowie
2004-05-06 3:42 ` Russ
2004-05-06 5:55 ` Martin Dowie
2004-05-06 7:03 ` Jean-Pierre Rosen
2004-05-06 9:29 ` Dmitry A. Kazakov
2004-05-06 9:41 ` Vinzent 'Gadget' Hoefler [this message]
2004-05-06 12:44 ` Dmitry A. Kazakov
2004-05-06 13:30 ` Vinzent 'Gadget' Hoefler
2004-05-06 14:35 ` Wes Groleau
2004-05-07 8:23 ` Dmitry A. Kazakov
2004-05-07 12:38 ` Vinzent 'Gadget' Hoefler
2004-05-09 20:34 ` Dmitry A. Kazakov
2004-05-10 8:26 ` Vinzent 'Gadget' Hoefler
2004-05-10 12:13 ` Dmitry A. Kazakov
2004-05-06 14:48 ` Georg Bauhaus
2004-05-07 8:31 ` Dmitry A. Kazakov
2004-05-07 14:30 ` Georg Bauhaus
2004-05-09 20:33 ` Dmitry A. Kazakov
2004-05-12 19:49 ` Randy Brukardt
2004-05-07 7:01 ` Martin Krischik
2004-05-06 9:55 ` with and use again (was: Manifesto against Vector) Marius Amado Alves
2004-05-06 12:04 ` Dmitry A. Kazakov
2004-05-07 6:53 ` Martin Krischik
2004-05-09 20:33 ` Dmitry A. Kazakov
2004-05-10 7:00 ` Martin Krischik
2004-05-10 12:15 ` Dmitry A. Kazakov
2004-05-07 16:27 ` with and use again Warren W. Gay VE3WWG
2004-05-06 19:53 ` Manifesto against Vector Jean-Pierre Rosen
2004-05-07 0:42 ` Jeffrey Carter
2004-05-07 6:49 ` Jean-Pierre Rosen
2004-05-07 18:20 ` Jeffrey Carter
2004-05-07 19:15 ` Simon Wright
2004-05-10 6:49 ` Jean-Pierre Rosen
2004-05-10 17:25 ` Jeffrey Carter
2004-05-11 13:25 ` Jean-Pierre Rosen
2004-05-07 5:00 ` Simon Wright
2004-05-07 6:40 ` Martin Krischik
2004-05-07 16:25 ` Warren W. Gay VE3WWG
2004-05-07 6:33 ` Martin Krischik
2004-05-06 14:28 ` Wes Groleau
2004-05-07 5:15 ` Russ
2004-05-10 11:55 ` Martin Dowie
2004-05-12 19:44 ` Randy Brukardt
2004-05-12 19:42 ` Randy Brukardt
2004-05-13 5:23 ` Russ
2004-05-13 5:48 ` Randy Brukardt
2004-05-13 14:43 ` Robert I. Eachus
2004-05-14 1:02 ` Russ
2004-05-07 6:29 ` with use - again [Was: Manifesto against Vector] Martin Krischik
2004-05-07 11:18 ` Manuel Collado
2004-05-07 14:37 ` Georg Bauhaus
2004-05-07 13:41 ` Mark Lorenzen
2004-05-07 13:06 ` Martin Krischik
2004-05-05 19:45 ` Manifesto against Vector Marius Amado Alves
2004-05-04 18:42 ` Ada.Containers names Marius Amado Alves
2004-05-05 23:21 ` Manifesto against Vector Robert I. Eachus
2004-05-07 4:55 ` Matthew Heaney
2004-05-10 4:10 ` Matthew Heaney
2004-05-12 7:41 ` Pascal Obry
2004-05-12 12:11 ` Matthew Heaney
2004-05-12 12:50 ` Matthew Heaney
2004-05-10 6:41 ` Martin Krischik
2004-05-10 17:41 ` Jeffrey Carter
2004-05-11 1:29 ` Matthew Heaney
2004-05-11 20:53 ` Alexander E. Kopilovich
[not found] ` <XRVrJe0vzF@VB1162.spb.edu>
2004-05-11 22:26 ` Marius Amado Alves
2004-05-11 5:55 ` Martin Krischik
[not found] <PnHmmb05QD@VB1162.spb.edu>
2004-05-04 9:07 ` Marius Amado Alves
2004-05-04 13:08 ` (see below)
2004-05-04 15:16 ` Martin Dowie
2004-05-05 13:21 ` Kevin Hostelley
2004-05-05 13:53 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox