🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #5286

Re: From Modula to Oberon

#5286
From: Peter J Desnoyers
Date: Tue, 15 Mar 1988 17:35
38 lines
1511 bytes
In article <1557@pasteur.Berkeley.Edu> faustus@ic.Berkeley.EDU (Wayne A. Christopher) writes:
>In article <2827@enea.se>, sommar@enea.se (Erland Sommarskog) writes:
>> ... Ada as I see it have
>> the perfect solution: The loop variable is declared in the FOR-
>> statement, and is thus not accessible afterwards.
>Here's the problem with that construct:  I often write
>
>	for (i = 0; i < max; i++)
>		if (something)
>			break;
>	if (i == max)
>		...
>
>	Wayne

I've forgotten most of the CLU I learned, but I think the way to do
that in a real language would be:

for thing in what_i_want_from list[1..max]
begin
   ...
end
  except when empty
  ...

where what_i_want_from is a user-defined iterator.

I wish they had put iterators in Ada. C provides a general linear
iterator, but in CLU you can iterate through a tree or anything else.
After all, the idea of iterating is so that you can separate the
structure of bunch of data from the logic of:

for each foo in bar
  do something
end


				Peter Desnoyers
Technical Details
Message-ID: <3764@bloom-beacon.MIT.EDU>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!bloom-beacon!athena.mit.edu!peter
References: <2827@enea.se> <1557@pasteur.Berkeley.Edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!bloom-beacon!athena.mit.edu!peter
From: peter@athena.mit.edu (Peter J Desnoyers)
Newsgroups: comp.lang.misc
Subject: Re: From Modula to Oberon
Message-ID: <3764@bloom-beacon.MIT.EDU>
Date: 15 Mar 88 17:35:11 GMT
References: <2827@enea.se> <1557@pasteur.Berkeley.Edu>
Sender: daemon@bloom-beacon.MIT.EDU
Reply-To: peter@athena.mit.edu (Peter J Desnoyers)
Organization: Massachusetts Institute of Technology
Lines: 38