From: "Dmitry A. Kazakov" <dmitry@elros.cbb-automation.de>
Subject: Re: Problem trying to implement generics.
Date: Sun, 15 Apr 2001 16:09:32 +0200
Date: 2001-04-15T16:09:32+02:00 [thread overview]
Message-ID: <3AD9AB9C.80405@elros.cbb-automation.de> (raw)
In-Reply-To: 3AD915C2.321EB048@worldnet.att.net
James Rogers wrote:
> Ayende Rahien wrote:
>
>> "Dmitry A. Kazakov" <dmitry@elros.cbb-automation.de> wrote in message
>> news:3AD858A3.3070803@elros.cbb-automation.de...
>>
>>> Well, but what I still cannot understand, what is the objection against
>>> *procedures* returning a value:
>>
>> Because that is the difference between functions & procedures?
>> If you wanted it that way, you could do this:
>> function Foo(...) return nothing;
>>
>> But I agree that it would be nice to be able to ignore function's return
>> value.
>
> A procedure may modify parameters, but may not return a value.
Why? There are lot of cases where a procedure with a result would be
natural: random generator, memory allocator, table search etc.
> The practice in C, C++, and Java of ignoring return values from
> functions or methods may seem very convenient. In fact it is a
> fundamental violation of the contract defined for a function. This
> is the single greatest reason exceptions were added to C++, and
> included from the start in Java. A common C programming paradigm
> is to have a function return an indication of success or failure.
> That same function may also modify some or all parameter values.
> It is also very common in C to ignore the return value of a
> function. What is the obvious problem? If the return value
> indicates success or failure and that value is ignored, then the
The practice is exactly the point. Take a look at Windows API. You will
discover functions returning values which nobody needs and modifying
parameters as well as global system state.
Then I absolutely agree with you that ignoring the return value
indicates a potential problem, therefore I would like to have a syntax
construct for this, that will alert a code reader. Just like
"unchecked_access". Moreover, I would like to have some syntax sugar for
dummy [in]out parameters, but I have no idea how it cold look like.
Regards,
Dmitry Kazakov
next prev parent reply other threads:[~2001-04-15 14:09 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-11 15:04 Problem trying to implement generics Ayende Rahien
2001-04-12 1:41 ` tmoran
2001-04-12 13:15 ` Ayende Rahien
2001-04-12 18:15 ` tmoran
2001-04-13 11:18 ` Ayende Rahien
2001-04-13 10:35 ` chris.danx
2001-04-13 11:54 ` Ayende Rahien
2001-04-13 11:49 ` chris.danx
2001-04-13 23:03 ` Ayende Rahien
2001-04-13 23:01 ` Robert A Duff
2001-04-14 0:05 ` Brian Rogoff
2001-04-14 1:12 ` Ayende Rahien
2001-04-14 1:44 ` Brian Rogoff
2001-04-14 14:03 ` Dmitry A. Kazakov
2001-04-14 16:30 ` Ayende Rahien
2001-04-14 16:28 ` Michael Erdmann
2001-04-15 3:27 ` James Rogers
2001-04-15 12:20 ` Ayende Rahien
2001-04-15 14:09 ` Dmitry A. Kazakov [this message]
2001-04-15 18:22 ` tmoran
2001-04-15 13:48 ` Dmitry A. Kazakov
2001-04-15 20:44 ` Ayende Rahien
2001-04-16 14:34 ` Dmitry A. Kazakov
2001-04-14 1:33 ` Robert A Duff
2001-04-17 8:50 ` Jean-Pierre Rosen
2001-04-17 13:20 ` Tucker Taft
2001-04-17 16:51 ` Ayende Rahien
2001-04-17 17:16 ` Larry Hazel
2001-04-17 18:11 ` Brian Rogoff
2001-04-17 19:10 ` Marin David Condic
2001-04-17 21:08 ` Brian Rogoff
2001-04-18 15:16 ` Chad R. Meiners
2001-04-18 16:33 ` Marin David Condic
2001-04-17 21:09 ` chris.danx
2001-04-17 21:11 ` chris.danx
2001-04-17 21:17 ` chris.danx
2001-05-08 5:40 ` Lao Xiao Hai
2001-05-11 9:43 ` John English
2001-05-12 19:16 ` Lao Xiao Hai
2001-04-17 19:32 ` Larry Hazel
2001-04-17 21:03 ` Ayende Rahien
2001-04-18 15:48 ` Brian Rogoff
2001-04-20 12:34 ` Georg Bauhaus
2001-04-20 12:42 ` Lutz Donnerhacke
2001-04-20 12:45 ` Lutz Donnerhacke
2001-04-20 19:48 ` Brian Rogoff
2001-04-20 20:36 ` David Starner
2001-04-20 23:02 ` Robert A Duff
2001-04-23 2:45 ` Brian Rogoff
2001-04-24 1:15 ` Robert A Duff
2001-04-24 2:00 ` Brian Rogoff
2001-04-24 15:12 ` Georg Bauhaus
2001-04-24 15:09 ` Georg Bauhaus
2001-04-24 18:36 ` Marius Amado Alves
2001-04-19 13:08 ` Larry Kilgallen
[not found] ` <9bi4g4$97m$1@nh.pace.Organization: LJK Software <YlSyXUaQmD+$@eisner.encompasserve.org>
2001-04-19 14:20 ` Marin David Condic
2001-04-18 5:34 ` Mike Silva
2001-04-18 16:55 ` Ray Blaak
2001-04-24 16:00 ` Tucker Taft
2001-04-12 13:57 ` Andy
2001-04-13 6:34 ` Simon Wright
2001-04-13 11:11 ` Ayende Rahien
2001-04-12 18:06 ` Stephen Leake
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox