:browse
vous donnera la plupart de ces informations. Il montre
- Signature de types pour les fonctions et les opérateurs.
- Classes et leurs méthodes.
- Types de données, nouveaux types et synonymes de type, avec constructeurs s'ils sont inclus dans la portée.
Sans aucun argument, il affiche cette information pour le module actuellement chargé. Vous pouvez également spécifier un module différent.
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
...
Pour voir plus de détails, y compris la priorité et l'associativité des opérateurs, ainsi que des cas pour un type de données, utilisez :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
Ces commandes sont également disponibles lors du débogage.Pour plus d'informations, entrez :help
ou the GHCi chapter of the GHC user's guide.
Je veux quelque chose comme ça pour tout le système, pas seulement un module. –
@VansonSamuel: Il y a la forme ': browse * Module', qui montrera des informations pour tout ce qui est dans la portée de ce module, c'est-à-dire toutes ses importations ainsi que ses exportations. Peut-être que c'est plus proche de ce dont vous avez besoin? – hammar
Je vais essayer ça. Merci @hammar c'est comme la quatrième question que vous m'avez aidé. :-) –