I've decided to put all the questions I have related to my implementation of LAMBDA and MAKEARRAY into a single email. I hope that makes things easier for you.
First, here is my latest WIP: https://gerrit.libreoffice.org/c/core/+/204619 1. Is there a generic/common way in an ScInterpreter to resolve cell references, if there is no expected type? 2. Is there a way to allow matrices to store callables? If not, can that be accommodated? 3. How can I arrange things so that a callable can be called from Basic/Uno? What about those callables that need to be called from within an ScInterpreter? 4. Should local variable names (created using LET or LAMBDA) be allowed to match built-in function names? I know Google Sheets supports this, but I don't know about Excel. 5. What is mbJumpCommandReorder (in FormulaCompiler) supposed to do? In what circumstance is it enabled or disabled? 6. Is there reason to believe that a token array would still exist for a cell that has been interpreted already, while another cell is being interpreted? If so, can I rely on that? 7. How do I create appropriate tests for LAMBDA and MAKEARRAY? 8. Is there a way to parallelize MAKEARRAY? 9. Did I use boost::intrusive_ptr correctly? 10. Is there any error handling or memory management that I need to account for, that I haven't already? 11. Does anyone see anything else I missed? Does anyone have any suggestions? Thank you, Ben
