Zulip Chat Archive

Stream: maths

Topic: list.maximum should return option


Chris Hughes (Aug 12 2019 at 06:06):

Would it be better for list.maximum to return an optional value, instead of asking for an inhabited instance. I'm working with list (fin m), where I don't know if my list is empty or not (I want to case split on this) and fin m is obviously not necessarily inhabited, and it would be a lot nicer to have an option in this situation.

Scott Morrison (Aug 12 2019 at 06:50):

I always thought requiring inhabited here was strange, but I know some people have found it convenient.

Scott Morrison (Aug 12 2019 at 06:50):

Would list.maximum.iget be significantly too painful for people who want the old behaviour?

Andrew Ashworth (Aug 12 2019 at 08:38):

Haskell's data.list.safe package requires the type to be nonempty, finite, and have an ordering as a precondition, it might have come from there.

Andrew Ashworth (Aug 12 2019 at 08:41):

of course both signatures are provided, the option kind is maximumMay :: (Foldable t, Ord a) => t a -> Maybe a...

Andrew Ashworth (Aug 12 2019 at 08:42):

so it would be useful to have both versions


Last updated: Dec 20 2023 at 11:08 UTC