programa calculadora haskell

calculadora - ¿Especificación mínima para las clases de tipo de biblioteca Haskell?



calculadora en haskell (2)

El preludio de Haskell y la biblioteca estándar definen una serie de clases de tipos útiles.

¿Hay alguna página en algún lugar que incluya la definición mínima completa para todas estas clases?


Esta información se puede encontrar dispersa en todo el informe en lenguaje de Haskell, así como en la documentación de GHC, pero para tener una visión general, estoy comenzando una respuesta de CW para esto.

Comparación

  • Eq : == o /= .
  • Ord : compare o <= .

Números

  • Num : Todos excepto cualquiera - o negate .
  • Real : toRational .
  • Integral : quotRem y toInteger .
  • Bits :. .&. , .|. , xor , complement , shift o both shiftL y shiftR , shiftR o both rotateL y rotateR , bitSize y isSigned .
  • Fractional : desde fromRational y cualquiera / o recip .
  • Floating : pi , exp , log , sin , cos , sinh , cosh , asin , acos , atan , asinh , acosh y atanh .
  • RealFrac : properFraction .
  • RealFloat : Todos excepto exponent , significand , scaleFloat y atan2 .

Functores

Flechas

Publicación por entregas

  • Read : readsPrec (o, solo para GHC, readPrec ).
  • Show : show o showsPrec .

Misceláneo

  • Enum : toEnum y fromEnum .
  • Bounded : Ambos minBound y maxBound .
  • Ix : range , index , inRange .
  • mempty : mempty y mappend .

La sección en el Informe Haskell sobre clases estándar describe lo que necesita implementar para cada clase de tipo.