I do have a question though - while I understand how functors can help make the problem easier to tackle, I am not sure I fully understand how functors are different from a similar existing tool - stored procedures.
Some DB flavors:
- can take tables as arguments to stored procedures - can return tables - also offer the additional benefit of being able to run almost all flavors of SQL commands ( DDL, DML, DQL, DCL, TCL) in those stored procedures
Netezza stored procedures, for example, can do what you describe here:
https://www.ibm.com/docs/en/netezza?topic=nsg-return-result-...
As can SQL Server & Oracle (which both return cursors, which are just ordered tables):
https://learn.microsoft.com/en-us/sql/relational-databases/s...
https://docs.oracle.com/cd/B28359_01/appdev.111/b28843/tdddg...
Am I missing something fundamental here? How are functors different from stored procedures? To me, they seem to be just a sub-class / sub-type of stored procedures.