On Mon, 28 Jan 2013, Alexander Klenin wrote:

On Mon, Jan 28, 2013 at 4:19 AM, Michael Van Canneyt
<mich...@freepascal.org> wrote:
Define an iterator type/operator.

- No interface
- No 'specially named function' in the class. The iterator should be
separate from the class.
Now they promoted 1 function with a special name to a special status:
'GetEnumerator'

Ah, you mean that FPC's "operator Enumerator" is better?
I agree, but the difference is not too great.

It never is. It is all in details.


All identifiers should be equal for the law :-)
I know only two languages with such extreme disdain for reserved words:
Forth and, to a lesser extent, Lisp.
For example, in Forth, a comment (!) is not a built-in construct,
but a word (Forth's analog of procedure) defined in standard library.


Which begs the question why you didn't use a record to begin with.

I still do not see why the enumerator could not simply return a record
record
  key : tkey;
  value : tactualtype
end;

for r in myclass do
  begin
  Writeln(r.key);
  With r.value do
  end.

the point of my tuples proposal is to do exactly that, with only a
single change --
allow to *also* write loop as
for key, value in myclass do
  begin
  Writeln(key);
  with value do
  end;

while keeping enumerator the same.

regarding syntax, we agree.


Borland did a world of good for (Object) Pascal, up to Delphi 7.
After that, it went seriously downhill in my opinion; Adding randomly
features without clear direction or regard for the
intent and philosophy of the Pascal language - or so it seems to me.
Like a ship at the mercy of the waves...
I would rephrase slightly -- the features they added are, in
principle, good ones.
However, they hastily (and randomly?) copied them from other languages without a
proper adaptation.

Yes. That is what I meant.

I have no objections to the features themselves.
Just the way the were introduced, is, to my taste, totally disregarding Pascal philosophy.

And I regret that heavily.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to