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 :
quotRem
ytoInteger
. - Bits :.
.&.
,.|.
,xor
,complement
,shift
o bothshiftL
yshiftR
,shiftR
o bothrotateL
yrotateR
,bitSize
yisSigned
. - Fractional : desde
fromRational
y cualquiera/
orecip
. - Floating :
pi
,exp
,log
,sin
,cos
,sinh
,cosh
,asin
,acos
,atan
,asinh
,acosh
yatanh
. - RealFrac :
properFraction
. - RealFloat : Todos excepto
exponent
,significand
,scaleFloat
yatan2
.
Functores
- Functor :
fmap
. - Applicative :
pure
y<*>
. - Monad :
>>=
yreturn
. - MonadPlus :
mplus
ymzero
. - MonadFix :
mfix
. - Foldable :
foldMap
ofoldr
. - Traversable :
traverse
osequenceA
Flechas
- Category :. y la
id
- Arrow :
arr
yfirst
. - 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.