GOOGLE ADS

miércoles, 13 de abril de 2022

REPL: ¿Cómo puedo buscar información sobre un tipo?

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

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...