J'utilise Haskell 2010.1.0.0.1 avec GHC 6. Typing :t
à l'invite GHCI suivie du nom d'une fonction indique le type de fonction. Y a-t-il un moyen d'afficher la définition de la fonction aussi?
Pas actuellement.
La commande la plus proche de ce que vous voulez est :info
: Nom de l'information ...
Affiche des informations sur le (s) nom (s) donné. Par exemple, si le nom est une classe, les méthodes de classe et leurs types seront imprimés; Si le nom est un constructeur de type, sa définition sera imprimée; Si le nom est une fonction, son type sera imprimé. Si le nom a été chargé à partir d'un fichier source, GHCI affichera également l'emplacement de sa définition dans la source.
Pour les types et les classes, GHCI résume également les instances qui les mentionnent. Pour éviter de montrer des informations non pertinentes, une instance est montrée uniquement si (a) sa tête mentionne le nom, et (b) toutes les autres choses mentionnées dans l'instance sont en portée (soit autrement) à la suite d'un: charge ou: Commandes de module.
ainsi:
Prelude> :info ($)
($) :: (a -> b) -> a -> b -- Defined in GHC.Base
infixr 0 $
Vous pouvez cependant voir la source d'identificateurs générés par l'outil Haddock, sur Hackage.
Notez que "? SRC" est une commande valide à Lambdabot, sur le #hakell IRC canal, et fait quoi vous attendriez.
> ?src ($)
> f $ x = f x
Je ne le pense pas. Vous pouvez utiliser :i
Pour un peu plus d'informations (plus utiles pour les opérateurs d'infixes et les constructions de données, etc.), mais pas la définition:
ghci> :i repeat
repeat :: a -> [a] -- Defined in GHC.List
Vous pouvez utiliser HOOGLE pour trouver rapidement la documentation d'une fonction de bibliothèque standard, laquelle de droite a un lien pour aller à la source. Il reste encore quelques clics à distance.
Nope, je ne peux pas faire ça. Certaines choses amusantes vous, le débutant Haskell, peuvent faire:
:browse
Pour trouver toutes les définitions exportées par un module:help
pour le résultat évident