Hacker News new | ask | show | jobs
by mjd 3975 days ago
There's an explanation in the earlier article (http://blog.plover.com/prog/haskell/monad-search.html), but it's because the `bind`/`bd` function takes the solution arrays from its callees, and concatenates the arrays into one big array of solutions, which it then returns to its caller.

In the Python code I think this is built into the behavior of the `+=` operator.

In the Perl code it's part of the way the `map` call works; it combines what would be `concat . map` in Haskell.

1 comments

Thanks for explaining and thanks for the post. It was helpful seeing an example of why you might want to use a monad.