3 ms·
The first `fork` is from using bend and passing the initial state The program above will initialize a state (`x = 0`), and then, for as long as `x < 3`, it
by developedby 2y ago
The first `fork` is from using bend and passing the initial state
The program above will initialize a state (`x = 0`), and then, for as long as `x < 3`,
it will "fork" that state in two, creating a `Tree/Node`, and continuing with `x + 1`.
When `x >= 3`, it will halt and return a `Tree/Leaf` with `7`.
When all is done, the result will be assigned to the `tree` variable:
- anentropic 2y agoI would have described the logic in the exact same way, but I still don't see where initial tree = fork(0) state comes from all the other "fork"s in the output are produced explicitly by: Tree/Node { lft: fork(x + 1), rgt: fork(x + 1) }
- anentropic 2y agowell, it seems fork is some kind of builtin function that is intimately related to the bend construct: https://github.com/HigherOrderCO/bend/blob/main/FEATURES.md#:~:text=%27fork%27%20calls%20the%20bend%20recursively%20with%20the%20provided%20values https://github.com/HigherOrderCO/bend/blob/main/FEATURES.md#.... so presumably the initial fork(0) state is implicitly produced by the bend