ics-jku / wal

WAL enables programmable waveform analysis.
https://wal-lang.org
BSD 3-Clause "New" or "Revised" License
116 stars 18 forks source link

Tail call optimization to avoid crazy recursion depths #20

Open bauersimon opened 11 months ago

bauersimon commented 11 months ago

While working with WAL I implemented a recursive function (in functional programming manner) that handles a long list (i.e. indices returned by WAL's find operation). I quickly reached a maximum recursion depth, which likely stems from the interpreter loop of WAL. Even increasing this number in an imported python script using sys. setrecursionlimit did not help (eventually my program did just crash silently).

Many functional languages employ "tail call optimization" to avoid indefinitely clogging the stack. That would be a wonderful thing for WAL as well.

I understand that this might not be top priority 😅 but anyway leaving it here as a suggestion.