Am 05.03.2013 07:56, schrieb Paul Ishenin:
05.03.13, 14:10, Sven Barth wrote:

ObjFPC mode is not compatible with mode Delphi, because of conscious
decisions. Think for example about the "@" for procedure variable
assignments here or the use of symbolic operator names for overload
declarations, instead of words like Delphi did it. And generics are a
further example.

And I would left (if needed) only those minimal differences. Or even tried to reduce (removed own generics implementation and left only Delphi compatible). In any case I would not add more incompatibilities.

Many times the main point to have incompatibilites was: "We implemented it earlier". But regards generics how we implemeneted it earlier? Even now they have some bugs/missing features. And in 2009 when Delphi announced them they had much more (you know of course). That was more a prototype of generics. But inspite of that we did not drop our own implementation.
Just to say one thing clear: I will NOT drop FPC's generic implementation and I'll revert every commit that tries to do so, because not only do we have to keep backwards compatibility, but the Delphi syntax is a nightmare to parse.

Mode ObjFPC is not for Delphi compatiblity. It's there to implement a cleaner variant of the (Object) Pascal language (and Michael wrote), and if that means higher maintenance burden, so be it. Somewhen in the future we should do a rewrite of the parser anyway and then we can learn from the problems we faced currently and implement it in a way that we can easily extend the language with different implementations (just like was done for the backend).

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to