Am 26.12.2021 um 02:16 schrieb Blaise--- via fpc-devel:
Important design points:
1) Applying round brackets to instances does not collide with the
existing syntax;
2) Naturally, helpers are able to turn helpees into functors;
3) Operator () cannot be applied to types -- that would clash with
explicit type conversions;
4) Explicit empty argument lists are required -- unorthogonal to
routines and procedural variables, but clarity must win here;
5) {$modeswitch Closures} is required (modeswitch_closures.patch from
https://lists.freepascal.org/pipermail/fpc-devel/2021-December/044261.html)
-- functors are closure-adjacent in the area of functional programming.
The parts that are currently missing:
1) Implicit conversion from functors to method pointers -- should be
fairly trivial to implement;
2) Support for generics -- should be straightforward as well;
3) The OPERATOR keyword instead of PROCEDURE/FUNCTION for methods
Invoke -- should we choose to require it -- would be somewhat more
complicated.
Rejected. I've finally managed to integrate your support for function
references, more is currently not required.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel