comp.lang.ada
 help / color / mirror / Atom feed
From: Anders Wirzenius <anders@no.email.thanks.invalid>
Subject: Re: Avoiding side effects
Date: Mon, 06 Oct 2008 12:09:42 GMT
Date: 2008-10-06T12:09:42+00:00	[thread overview]
Message-ID: <uljx1ncvt.fsf@no.email.thanks.invalid> (raw)
In-Reply-To: wvbrod23gnol.fsf@sun.com

Ole-Hjalmar Kristensen <ole-hjalmar.kristensen@substitute_employer_here.com> writes:

> If I understand your problem correctly, why not simply do the
> following after the sort -u stage?:
> 
> comm -23 fileA fileB

Oops. I was not aware of that program. Looks promising. Thanks.

> 
> But to answer the Ada quiestion, I think I would organize the loop a
> little bit differently. The following is a classical way of merging
> two files, but it should work in your case too:
> 
>   while not End_Of_File(File_A) and not End_Of_File(File_B) loop
>   -- Process records from both files
>   end loop;
> 
>   while not End_Of_File(File_A) loop
>   -- Process tail of file A
>   end loop;
> 
>   while not End_Of_File(File_B) loop
>   -- Process tail of file B
>   end loop;

Thanks for that, too. The program I wrote did the job and was
sufficiently fast. My question was more about how to do it using
subprograms (functions) without side effects. 
I suppose "Process records from..." and "Process tail..." are
having side effects if coded as subprograms, as they advance the
pointer in the two files.

-- 
Anders



  reply	other threads:[~2008-10-06 12:09 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 [this message]
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
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