2011-12-12 20 views
11

Estoy empezando a aprender Haskell y me parece muy útil ver cómo se implementan las funciones de Haskell. Pude encontrar el Preludio estándar en otra pregunta, pero ahora estoy interesado en Data.List. ¿Hay alguna forma de encontrar la fuente para estas funciones?Cómo se implementan las funciones de la biblioteca en Haskell

Realmente me gustaría ver permutaciones y nub (y el resto, pero estos son los más interesantes para mí en este momento).

Respuesta

23

Aquí van: http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-List.html

De manera más general, si nos fijamos en the documentation page for Data.List verá enlaces "Fuente" a la derecha de las firmas de tipos, que le llevará directamente a la fuente de esa función.

Puede encontrar la fuente para el resto de las bibliotecas estándar de la misma manera y, de hecho, para casi everything on Hackage.

+0

Creo que he estado en estos sitios cientos de veces y nunca he visto el enlace "fuente". ¡Gracias! –

+9

¡Es bueno que sean discretos, pero sorprendentemente fáciles de perder! Es increíblemente útil. Un consejo adicional: [Listados de directorio están habilitados] (http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/) donde están los documentos del código fuente, para que pueda navegar por la lista que y también mirar módulos que la biblioteca no exporta públicamente (es decir, detalles de implementación interna). –

+1

También tenga en cuenta que puede usar hoogle (http://www.haskell.org/hoogle) para acceder fácilmente a las páginas de documentación correspondientes. –

Cuestiones relacionadas