During the Agda meeting, I identified the following list of typeclasses for which it would be nice to have a .Instances module declaring their instances (some of these would also need the typeclass itself being added to the library):
The following monad transformers should also be given instances of the typeclasses they inhabit:
I didn't want to spam the issue tracker with new issues, so I have bundled them here into one. But it would be easy to divide this work among multiple people!
During the Agda meeting, I identified the following list of typeclasses for which it would be nice to have a
.Instancesmodule declaring their instances (some of these would also need the typeclass itself being added to the library):Show(turning things into strings), see Show functions for all the datatypes #431Eq(decidable equality)Ord(decidable ordering)Number(types that admit natural number literals)Fractional(types that admit floating point literals)Quotable(types that we know how to turn into reflected syntax)IsMagma(fromAlgebra.Structures)IsSemigroup(fromAlgebra.Structures)IsMonoid(fromAlgebra.Structures)Algebra.Structures)Foldable, see Add Haskell'sFoldable#1099TraversableAandTraversableMWithDefault(for types with a "default" element), see AddWithDefaultconstruct #1450ProofIrrelevant(for types with at most one element)HasHLevel(for types of a finite h-level)The following monad transformers should also be given instances of the typeclasses they inhabit:
StateTReaderTI didn't want to spam the issue tracker with new issues, so I have bundled them here into one. But it would be easy to divide this work among multiple people!