David Feuer
David Feuer
`Data.Graph.Inductive.Internal.Queue` isn't efficient for persistent use. It would be easier to ensure that it's not accidentally used persistently if it's given a monadic interface. It should probably also be benchmarked...
Some `RULES` pragmas are used to specialize functions to specific graph implementations. I believe most or all of these could be eliminated by adding the relevant functions to `Graph` or...
I'm just going to dump this here, because I don't have time to integrate. ```haskell {-# language ScopedTypeVariables, LinearTypes #-} {-# language NoImplicitPrelude #-} {-# language TemplateHaskell #-} {-# language...
A special case of a movable value is one whose unrestricted version can be formed by forcing zero or more thunks in it. It would be really nice not to...
`[]` and `Data.Sequence` seem almost the opposite of data `Applicative`: `pure` is linear, but `liftA2` is not. Are there other types like this?
The [documentation](https://hackage.haskell.org/package/serialise-0.1.0.0/docs/Codec-Serialise.html) has some funny links. If you click on the `Builder` in the type of `serialiseIncremental`, for example, it will take you to documentation for [`Data.Binary.Builder`](https://hackage.haskell.org/package/binary-0.8.5.1/docs/Data-Binary-Builder.html#t:Builder). My best guess:...
The `Constraints` type family is closed. It seems that both conceptually and practically, it should be open.
The documentation of [`GHC.Generics`](https://hackage.haskell.org/package/base-4.15.0.0/docs/GHC-Generics.html) shows the instance for `Generic1 Solo`, but not the instance for `Generic (Solo a)`. The instance is definitely there; indeed, if you click through to the...
There's a special case where a `@since` annotation on an instance can be just as annoying as it is helpful: when the instance has existed for as long as the...
The `reFoldl` interface is nice when you're happy with its "zero or more" semantics. If that's not cool with you, things get a bit ugly. Perhaps most importantly, "one or...