Results 281 comments of Xia Li-yao
trafficstars

> Currently take (length xs - 2) . drop 1 is O(n) because length is O(n) We can use `dropEnd` for this.

> what text is good for — taking substrings in constant time. You can't take a substring of a UTF-8 string in constant time, because characters have encodings of variable...

I merged #631 so you can rebase to see if more of the CI tests pass.

This fell off my todolist. Sorry for the delay!

This looks like a fine change to me. I'm also puzzled why `Identity` is in this instance in the first place.

@kozross What is the origin of the `MonadSelect` class? It looks quite odd compared to other `MonadX` classes in mtl that all have an instance of the form `Monad m...

I think we agree that something odd is going on with that class, but "not a monad transformer" isn't quite the right way to put it. Strictly speaking, a monad...

Practically, it may be wiser to just not touch `MonadSelect`, to avoid a breaking change, until either a concrete (even toy) use case or a more convincing replacement comes up....

You would not have a `Biparser` type, but a class. ```haskell class (Profunctor p, forall u. Monad (p u)) => Biparser p where char :: p Char Char -- other...

I think if you just want to be able to allow different combinations of primitives, having individual classes for those primitives is both simple and good enough. Exposing `MonadState` presumes...