salir reservadas programar peta para palabras opciones hacer español entornos desarrollo como haskell ghci

reservadas - peta haskell en español



¿Cómo puedo ver la definición de una función en Haskell/GHCi? (3)

Estoy usando Haskell 2010.1.0.0.1 con GHC 6. Tecleando :t en el prompt de GHCi seguido por el nombre de una función nos muestra el tipo de la función. ¿Hay alguna manera de ver la definición de la función también?


No actualmente.

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

: nombre de información ...

Muestra información sobre los nombres de pila. 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.

al igual que:

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

Sin embargo, puede ver la fuente de los identificadores generados por la herramienta de eglefino en Hackage.

  1. Busca el módulo en Hackage
  2. Haga clic en el enlace de origen

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

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


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

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

Puede usar 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.


No, no puedo hacer eso. Algunas cosas divertidas que tú, el principiante de Haskell, puedes hacer:

  • En los documentos de eglefino HTML, haga clic en "fuente" ... estudie la fuente.
  • :browse para encontrar todas las definiciones exportadas por un módulo
  • Uso :help para el resultado obvio
  • utiliza la interfaz web de hoogle para buscar funciones, ¡o instala hoogle localmente!
  • ?
  • ¡Lucro!