2011-04-26 10 views

Respuesta

31

Actualmente no.

El comando más cercano a lo que desea es :info

: Nombre info ...

Muestra información sobre el nombre (s) dado. Por ejemplo, si name es una clase, se imprimirán los métodos de clase y sus tipos; si name es un constructor de tipo, su definición se imprimirá; si el nombre es una función, se imprimirá su tipo. Si el nombre ha sido cargado desde un archivo fuente, entonces GHCi también mostrará la ubicación de su definición en la fuente.

Para tipos y clases, GHCi también resume instancias que los mencionan. Para evitar mostrar información irrelevante, se muestra una instancia solo si (a) su nombre menciona nombre, y (b) todas las otras cosas mencionadas en la instancia están dentro del alcance (calificadas o no) como resultado de: load o: comandos de módulo.

así:

Prelude> :info ($) 
($) :: (a -> b) -> a -> b -- Defined in GHC.Base 
infixr 0 $ 

Puede, sin embargo, ver la fuente de identificadores generados por la herramienta de eglefino, en Hackage.

  1. Look up the module on Hackage
  2. Click on the source link

Tenga en cuenta que "? Src" es un comando válido en lambdabot, en el canal IRC#haskell, y hace lo que se espera.

> ?src ($) 
> f $ x = f x 
+0

Muchas gracias. Recientemente empecé a aprender Haskell y no sabía nada de lambdabot. Esto funciona perfectamente bien como alternativa. –

+1

@franco hades: Creo que lambdabot también se puede instalar localmente, desde Hackage, por lo que no necesita estar en IRC para usarlo (a menos que lo desee, #haskell es un buen canal). –

+0

Muy bueno, ¡también dice que puedes incrustar lambdabot en ghci! Las instrucciones no son muy claras, sin embargo. – stites

4

No lo creo. Puede utilizar :i para un poco más de información (más útil para los operadores infijos y construcciones de datos, etc.), pero no la definición:

ghci> :i repeat 
repeat :: a -> [a]  -- Defined in GHC.List 

puede utilizar hoogle para encontrar rápidamente la documentación para una función de biblioteca estándar , que a la derecha tiene un enlace para ir a la fuente. Todavía está a unos pocos clics de distancia.

5

No, no puedo hacer eso. Algunas cosas divertidas que usted, el principiante de Haskell, puede hacer:

  • En los documentos de eglefino HTML, haga clic en "origen" ... estudie la fuente.
  • :browse para encontrar todas las definiciones exportadas por un módulo
  • :help uso para el resultado obvio
  • utilizar la interfaz web de hoogle para buscar funciones, o instalar Hoogle zona!
  • ?
  • beneficio!
+1

': browse' no le da las definiciones. Le da una lista de las funciones del módulo y sus tipos. – Tshimanga

+0

¿Sería más feliz si dijera "todos los símbolos" o "definiciones de nivel superior"? Siéntase libre de editar. –

Cuestiones relacionadas