GOOGLE ADS

Freitag, 29. April 2022

REPL: Wie kann ich Informationen zu einem Typ nachschlagen?

Da ich von Haskell komme, habe ich Schwierigkeiten, einen einfachen Weg zu finden, um Typdefinitionen in REPL von Purescript nachzuschlagen. In Haskell kann ich in GHCI Folgendes tun:

-- 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'

Bei spago finde ich nichts vergleichbares. Gibt es eine Möglichkeit, diese Informationen zu erhalten, ohne sie online zu suchen, beispielsweise in Pursuit?


Lösung des Problems

Verwenden Sie zum Abrufen der Typsignaturen:type

>:type (1 + _) 
> Int -> Int

Um die Art eines Typs anzuzeigen, verwenden Sie:kind

>:kind Maybe 
> Type -> Type

Um alle Funktionen, Typen und Typklassen anzuzeigen, die ein Modul exportiert, können Sie browse verwenden

>:browse Data.Maybe
data Maybe a
= Nothing
| Just a
fromJust:: forall (a:: Type). Partial => Maybe a -> a
......
......

Weitere Informationen finden Sie hier

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...