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
Números
- Num : Todos excepto cualquiera
-onegate. - Real :
toRational. - Integral :
quotRemytoInteger. - Bits :.
.&.,.|.,xor,complement,shifto bothshiftLyshiftR,shiftRo bothrotateLyrotateR,bitSizeyisSigned. - Fractional : desde
fromRationaly cualquiera/orecip. - Floating :
pi,exp,log,sin,cos,sinh,cosh,asin,acos,atan,asinh,acoshyatanh. - RealFrac :
properFraction. - RealFloat : Todos excepto
exponent,significand,scaleFloatyatan2.
Functores
- Functor :
fmap. - Applicative :
purey<*>. - Monad :
>>=yreturn. - MonadPlus :
mplusymzero. - MonadFix :
mfix. - Foldable :
foldMapofoldr. - Traversable :
traverseosequenceA
Flechas
- Category :. y la
id - Arrow :
arryfirst. - ArrowZero :
zeroArrow. - ArrowPlus :
<+>. - ArrowChoice :
left. - ArrowApply :
app. - ArrowLoop :
loop.
Publicación por entregas
Misceláneo
La sección en el Informe Haskell sobre clases estándar describe lo que necesita implementar para cada clase de tipo.