para mac instalar full descargar como haskell terminal reference manual

mac - Documentación de Haskell en la Terminal



haskell full (4)

Esta pregunta ya tiene una respuesta aquí:

¿Es posible obtener documentación de Haskell desde Terminal o desde ghci?

En Ruby yo suelo hacer

ri thefunc

En Perl yo suelo hacer

perldoc -f thefunc

O puedo obtener help interactiva en Python.

¿Cómo hacer este tipo de cosas en Haskell? Por ejemplo, si quiero obtener documentación sobre [] o : en la Terminal?

Actualizar

Encontré este hilo relacionado , pero no estoy seguro si :i es la respuesta: - ¿o no?

*Main> :i [] data [] a = [] | a : [a] -- Defined in GHC.Types instance (Eq a) => Eq [a] -- Defined in GHC.Base instance Monad [] -- Defined in GHC.Base instance Functor [] -- Defined in GHC.Base instance (Ord a) => Ord [a] -- Defined in GHC.Base instance (Read a) => Read [a] -- Defined in GHC.Read instance (Show a) => Show [a] -- Defined in GHC.Show


Como dice esta respuesta , no hay forma de obtener documentación de ghci. Sin embargo, en Haskell, los tipos le brindan más información que Java (o, obviamente, lenguajes de tipo dinámico como Ruby y Python); pueden ser una sugerencia sobre cómo funciona la función y decirle cómo puede componerlas.

En ghci, puede probar :browse para ver los tipos de todas las funciones de nivel superior, o con un nombre de paquete como argumento, por ejemplo :browse Control.Monad . Esto puede ser muy útil si ya conoce una función, pero no está seguro de cómo usarla (de lo contrario, use Hoogle o Hayoo como sugieren otros). También puede usar :t para obtener el tipo de expresión, o :i para obtener información sobre una clase de tipos.

EDITAR - Sé que esto es un poco de opinión, pero creo que la presencia de cosas como los tipos paramétricos, etc., y las funciones "básicas" decentes hacen que sea un poco más fácil no leer la documentación, al menos en comparación con Java o C (Tal vez no tanto Python o Ruby).



Lo que quieras se llama Hoogle . En realidad es bastante mejor que la mayoría de las herramientas de documentos de línea de comandos, ya que puede buscar funciones por nombre o por tipo, y es bastante inteligente a la hora de elaborar tipos que sean compatibles pero no exactamente lo que usted especificó (por ejemplo, puede buscar a -> [a] y descubrirá que es posible que desee una función con el tipo (Monad m) => a -> ma , el tipo que buscó es el mismo con la clase de tipos completada).