https://bugs.documentfoundation.org/show_bug.cgi?id=172867

--- Comment #3 from Ben Urban <[email protected]> ---
According to
https://techcommunity.microsoft.com/discussions/excelgeneral/lambda-recursive-lists-and-understanding-recursion-limits-of-lambda/2199690,
the limit in Excel is 1024/(params+1), and that seems to be caused by a limit
in its stack. As we don't use the interpreter stack that way to implement
recursion (at this point), that particular sort of limitation doesn't apply in
Calc.

As I've discussed in tdf#173202, I believe Excel's limitations should not be
imposed on LibreOffice, purely for compatibility's sake. (Note that this is
different from interoperability; an Excel document should still work without
changes.) If we have a reason to adopt them, certainly we should do so, but we
should be able to innovate beyond what Excel does.

To that end, I feel that with proper tail call optimization, we could allow
unlimited iteration-style loops in Calc, using LAMBDA. I do think there should
be a limit by default, as a poorly written LAMBDA could freeze Calc otherwise.
But the user should be in control of that limit.

(Note that there would still have to be some sort of hard limit on loops that
cannot be optimized by that method, as resources are not unlimited.)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to