Hacker News new | ask | show | jobs
by eru 166 days ago
Haskell can do the same, and does with a lot of little embedded DSLs.
1 comments

Yea I’ve wanted to try using logict to do some larger logic programming stuff. I’ve done it with list monad but found a lot of speed issues, never quite figured out why it was so slow.
Well, lists are really slow.

To be more precise: lists in your code can be really fast, if the compiler can find a way to never actually have lists in the binary it produces. If it actually has to have lists at runtime, it's generally not all that fast.

Yeah I figured that, but the combinations I was dealing with really weren’t that many.

The problem was https://xmonader.github.io/prolog/2018/12/21/solving-murder-... and trying to solve it with list monad. Someday I hope to get back to it.