:browse
vi darà la maggior parte di queste informazioni. Mostra
- Tipo firme per funzioni e operatori.
- Classi e relativi metodi.
- Tipi di dati, newtypes e sinonimi di tipo, con i costruttori se sono nell'ambito.
Senza argomenti, mostra queste informazioni per il modulo attualmente caricato. Puoi anche specificare un modulo diverso.
Prelude> :browse Control.Applicative
class (Functor f) => Applicative f where
pure :: a -> f a
(<*>) :: f (a -> b) -> f a -> f b
(*>) :: f a -> f b -> f b
(<*) :: f a -> f b -> f a
...
Per vedere più in dettaglio, tra cui priorità e l'associatività degli operatori, nonché le istanze di un tipo di dati, utilizzare :info
.
Prelude> :info (^)
(^) :: (Num a, Integral b) => a -> b -> a -- Defined in GHC.Real
infixr 8^
Prelude> :info Bool
data Bool = False | True -- Defined in GHC.Bool
instance Bounded Bool -- Defined in GHC.Enum
instance Enum Bool -- Defined in GHC.Enum
instance Eq Bool -- Defined in GHC.Base
instance Ord Bool -- Defined in GHC.Base
instance Read Bool -- Defined in GHC.Read
Questi comandi sono disponibili anche durante il debug.
Per ulteriori informazioni, digitare :help
o vedere the GHCi chapter of the GHC user's guide.
Voglio qualcosa come questo per l'intero sistema non solo un modulo. –
@VansonSamuel: Esiste il modulo ': browse * Module', che mostra le informazioni relative a qualsiasi cosa nell'ambito di quel modulo, cioè tutte le sue importazioni e le sue esportazioni. Forse è più vicino a ciò di cui hai bisogno? – hammar
Ci proverò. Grazie a @hammar questa è la quarta domanda a cui mi hai aiutato. :-) –