David Feuer
David Feuer
Here's another thought for a place to start: can we get rid of the `dnum` array? Everything's a bit tangled, but it looks to me like we're almost certainly traversing...
Sounds great. Please write the most comprehensive comments you can about how everything works.
None of those are lazy either. Unlike `dfs` (whose result can be explored in various orders), `dfs_preOrder` could be made lazy in a sensible way: ```haskell dfs_preOrder :: Graph ->...
Right idea, yes, but is it the right name? I think some libraries list discussion might be in order. The module currently has `dropWhileL`, `dropWhileR`, etc. Do we want to...
I don't want to deprecate `take` and `drop`; that seems far too disruptive with too little gain. But I'd be open to adding the L/R labeled variants. We're *mostly* unbiased,...
Using the natural structure would probably a really fun little project.
Hmm... `Seq` could be interesting, maybe. While a right fold would be the thing to beat, it might be worth doing an experiment or two with the zipping machinery in...
What you gain in fold performance gets lost elsewhere, I believe. A technique I used somewhere (priority queues, I think) is to start by making a GADT to represent depth...
It's when you play make-believe with the type checker. [Here's the code I mean](https://hackage.haskell.org/package/pqueue-1.5.0.0/src/src/Nattish.hs).
Let me expand on the GADT approach a bit. Using a real GADT, we could do this: ```haskell data Where a n where Here :: Where a (Elem a) There...