[fpc-devel] Functors
Sven Barth
pascaldragon at googlemail.com
Thu May 26 21:59:15 CEST 2022
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
More information about the fpc-devel
mailing list