Re: [fpc-pascal] class operator in record

2017-03-04 Thread noreply

On 2017-03-01 03:06, Graeme Geldenhuys wrote:

On 2017-03-01 02:39, nore...@z505.com wrote:

How come:

   class operator Initialize(var aFoo: TFoo);
   class operator Finalize(var aFoo: TFoo);

in a record are called class operator..

why not "record operator"?



hahaha... You are asking all the questions I've been meaning to ask 
too.

From your question, just goes to show how rubbish Delphi is being
designed these days. Mixing concepts of class and record
interchangeably. And now we have "records" with constructors and
destructors! WTF. EMBT/Delphi are seriously polluting the Object Pascal
with all this rubbish. Unfortunately FPC feels like they need to follow
them like lemmings.



I don't blame FPC for following them in some respects because it enables 
compatible code to be shared between FPC and delphi, but I get what you 
mean..


Oberon is a fresh new start without all this rubbish but look where 
oberon is: no where.

Almost no one uses it, nor cares about it..

so if fpc does things right and diverges from delphi, you have 
incompatibility ...


But I see what you mean and understand your point
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] class operator in record

2017-03-01 Thread Marco van de Voort
In our previous episode, Sven Barth said:
> >
> > why not "record operator"?
> >
> > Are these advanced neo-records considered classes?
> 
> It's simply that Delphi introduced static methods to records using the same
> syntax as for classes and operators followed along.
> 
> We've simply followed that along as we would have needed to do so at least
> for mode Delphi anyway and the implementor of advanced records decided not
> to deviate from that.

Moreover it doesn't add anything and it only means an extra requirement for
editing to change a record to a class and viceversa.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] class operator in record

2017-03-01 Thread Sven Barth
Am 01.03.2017 10:06 schrieb "Graeme Geldenhuys" <
mailingli...@geldenhuys.co.uk>:
>
> On 2017-03-01 02:39, nore...@z505.com wrote:
> > How come:
> >
> >class operator Initialize(var aFoo: TFoo);
> >class operator Finalize(var aFoo: TFoo);
> >
> > in a record are called class operator..
> >
> > why not "record operator"?
>
>
> hahaha... You are asking all the questions I've been meaning to ask too.
> From your question, just goes to show how rubbish Delphi is being
> designed these days. Mixing concepts of class and record
> interchangeably. And now we have "records" with constructors and
> destructors! WTF. EMBT/Delphi are seriously polluting the Object Pascal
> with all this rubbish. Unfortunately FPC feels like they need to follow
> them like lemmings.

Records don't allow destructors, only constructors. Also they allow to more
tightly couple initialization functions for some record with the record
they belong to. Same for operators by the way: without them you couldn't
use a record's operators in generics. Also I personally prefer to have
routines that deal explicitly with a given records type as part of said
record.

Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] class operator in record

2017-03-01 Thread Sven Barth
Am 01.03.2017 03:39 schrieb :
>
> How come:
>
>   class operator Initialize(var aFoo: TFoo);
>   class operator Finalize(var aFoo: TFoo);
>
> in a record are called class operator..
>
> why not "record operator"?
>
> Are these advanced neo-records considered classes?

It's simply that Delphi introduced static methods to records using the same
syntax as for classes and operators followed along.

We've simply followed that along as we would have needed to do so at least
for mode Delphi anyway and the implementor of advanced records decided not
to deviate from that.

Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] class operator in record

2017-03-01 Thread Graeme Geldenhuys
On 2017-03-01 02:39, nore...@z505.com wrote:
> How come:
> 
>class operator Initialize(var aFoo: TFoo);
>class operator Finalize(var aFoo: TFoo);
> 
> in a record are called class operator..
> 
> why not "record operator"?


hahaha... You are asking all the questions I've been meaning to ask too.
>From your question, just goes to show how rubbish Delphi is being
designed these days. Mixing concepts of class and record
interchangeably. And now we have "records" with constructors and
destructors! WTF. EMBT/Delphi are seriously polluting the Object Pascal
with all this rubbish. Unfortunately FPC feels like they need to follow
them like lemmings.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal