-
Couldn't load subscription status.
- Fork 259
Open
Milestone
Description
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):
-
Show(turning things into strings), see Show functions for all the datatypes #431 -
Eq(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) - ... (other structures from
Algebra.Structures) -
Foldable, see Add Haskell'sFoldable#1099 -
TraversableAandTraversableM -
WithDefault(for types with a "default" element), see AddWithDefaultconstruct #1450 -
ProofIrrelevant(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:
-
StateT -
ReaderT
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!
MatthewDaggitt