comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Avoiding side effects
Date: Wed, 8 Oct 2008 09:35:43 +0200
Date: 2008-10-08T09:35:38+02:00	[thread overview]
Message-ID: <yhahjb0plj33$.1dx04ocsti32m$.dlg@40tude.net> (raw)
In-Reply-To: u1vyrbra1.fsf@no.email.thanks.invalid

On Wed, 08 Oct 2008 05:16:22 GMT, Anders Wirzenius wrote:

> "(see below)" <yaldnif.w@blueyonder.co.uk> writes:
> 
>> On 07/10/2008 15:47, in article uprmc4g3i.fsf@no.email.thanks.invalid,
>> "Anders Wirzenius" <anders@no.email.thanks.invalid> wrote:
>> 
>>> "(see below)" <yaldnif.w@blueyonder.co.uk> writes:
>>> 
>>>> On 07/10/2008 12:08, in article wvbrfxn8hdc7.fsf@sun.com, "Ole-Hjalmar
>>>> Kristensen" <ole-hjalmar.kristensen@substitute_employer_here.com> wrote:
>>>> 
>>>>> Yes, I think any program which use a read/write interface to a file
>>>>> will have side effects in that sense. The only way I can think of for
>>>>> avoiding this would be to mmap the whole file, then it will appear as
>>>>> an array of bytes.
>>>> 
>>>> Why would stepping through an array not be thought a "side" effect?
>>> 
>>> A function that returns the row of that array and only that
>>> would perhaps be a function without side effects. The information
>>> in that row can be fetched when needed.
>> 
>> A function that always returns the same row of an array would be of little
>> use, I should think.
> 
> I have a feeling that the function can be programmed so that it returns
> different row (numbers, or pointers in that array) depending on
> the content of the rows in that array ;-)

... which (content) cannot itself be a function, when mutable. There is no
way out of "functional singularity." (:-))

Even a pure function is not a function in the promoted sense. It is a
subroutine with one dedicated out parameter, called "result," such that all
effect of execution is limited to that parameter.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2008-10-08  7:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-30  5:50 Avoiding side effects Anders Wirzenius
2008-09-30  7:48 ` Jean-Pierre Rosen
2008-09-30  9:20   ` Anders Wirzenius
2008-09-30 11:36     ` Jean-Pierre Rosen
2008-09-30 12:43       ` Anders Wirzenius
2008-09-30 10:42 ` Ludovic Brenta
2008-09-30 11:12   ` Anders Wirzenius
2008-10-02 12:56 ` Ole-Hjalmar Kristensen
2008-10-06 12:09   ` Anders Wirzenius
2008-10-07 11:08     ` Ole-Hjalmar Kristensen
2008-10-07 14:24       ` (see below)
2008-10-07 14:47         ` Anders Wirzenius
2008-10-07 14:51           ` (see below)
2008-10-08  5:16             ` Anders Wirzenius
2008-10-08  7:35               ` Dmitry A. Kazakov [this message]
2008-10-08 15:32               ` (see below)
2008-10-13 12:27                 ` Anders Wirzenius
2008-10-13 13:21                   ` Marco
2008-10-13 18:55                     ` (see below)
2008-10-14  7:30                       ` Dmitry A. Kazakov
2008-10-14 11:44                         ` Colin Paul Gloster
2008-10-13 18:49                   ` (see below)
2008-10-13 21:22                     ` Adam Beneschan
2008-10-13 21:53                       ` (see below)
2008-10-14  6:17                         ` mockturtle
2008-10-14 14:58                           ` Adam Beneschan
2008-10-14  6:22                     ` Avoiding side effects and other dogma Anders Wirzenius
2008-10-14 13:48                       ` (see below)
replies disabled

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