bow
bow copied to clipboard
["Bug"] Free foldMap is not stack safe
Description
The foldMap is stack safe test found in Arrow's Free is not present in Bow. Furthermore, the test fails if added.
I believe this is caused because the new Free implementation lacks the special flatMap case found in the old one.
A possible solution is to try to generalize the trampoline implementation of #636 as shown in the paper linked below. Then we can make Trampoline<A> = Free<ForFunction0, A>
like in Arrow.
Expected outcome
foldMap is stack safe
Observed outcome
foldMap is not stack safe
Code to reproduce the Bug
saferFree branch in my fork.
Bow modules, version, platform
Bow module, master branch.
Tooling
- Xcode version:
- Installation method: Carthage / Cocoapods / Swift Package Manager
Other
Some explanation of the issue and possible solution can be found in this paper
Is this fixed now? I don't remember if you already addressed it.
No, it's not fixed.