Viniendo de Haskell, me cuesta encontrar una manera fácil de buscar definiciones de tipos en REPL de Purescript. En Haskell, puedo hacer lo siguiente dentro de GHCI:
-- type class
:info Monad
-- shortcut
:i Monad
-- concrete types
:i []
:i (->)
-- type constructors work as well with a minimized output
:i Just
type Monad:: (* -> *) -> Constraint
class Applicative m => Monad m where
(>>=):: m a -> (a -> m b) -> m b
(>>):: m a -> m b -> m b
return:: a -> m a
{-# MINIMAL (>>=) #-}
-- Defined in 'GHC.Base'
instance Monad (Either e) -- Defined in 'Data.Either'
instance Monad [] -- Defined in 'GHC.Base'
instance Monad Maybe -- Defined in 'GHC.Base'
instance Monad IO -- Defined in 'GHC.Base'
instance Monad ((->) r) -- Defined in 'GHC.Base'
instance (Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c)
-- Defined in 'GHC.Base'
instance (Monoid a, Monoid b) => Monad ((,,) a b)
-- Defined in 'GHC.Base'
instance Monoid a => Monad ((,) a) -- Defined in 'GHC.Base'
No puedo encontrar nada similar en spago. ¿Hay alguna forma de obtener esta información sin buscarla en línea, por ejemplo, en Pursuit?
Solución del problema
Para obtener las firmas de tipo, utilice:type
>:type (1 + _)
> Int -> Int
Para mostrar el tipo de un tipo, utilice:kind
>:kind Maybe
> Type -> Type
Para ver todas las funciones, tipos y clases de tipos que exporta un módulo, puede usar navegar
>:browse Data.Maybe
data Maybe a
= Nothing
| Just a
fromJust:: forall (a:: Type). Partial => Maybe a -> a
......
......
Para obtener más información, puede consultar este
No hay comentarios.:
Publicar un comentario