para pagina online oficial descargar compiler haskell haskell-platform

pagina - significado de la convención de documentación hackage.haskell.org



haskell platform windows download (1)

Actualmente estoy leyendo http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Set.html#t:Set

¿Qué transmite el siguiente detalle (a un principiante de haskell absoluto)?

Portabilidad: portátil (¿Cuáles son otros valores de portabilidad?)
Estabilidad: provisional (¿Cuáles son otros valores de estabilidad?)
Mantenedor: [email protected]
Haskell seguro: seguro (¿hay algo inseguro?)


Los campos provienen del archivo .cabal del paquete, que enumera algunos metadatos para el paquete. Muchos campos pueden tener valores de formato libre, por lo que el desarrollador decide por sí mismo qué escribir en ese campo, y no hay "reglas" fijas para lo que cada campo no debe contener.

Portabilidad: describe la portabilidad del paquete entre los compiladores de Haskell y, a veces, también entre los sistemas operativos. Los únicos valores que he visto son "portátiles" y "no portátiles". Un paquete no portátil es un paquete que quizás depende de una extensión de lenguaje Haskell que solo existe en el compilador GHC , y no funciona en ningún otro compilador Haskell como UHC , o que tal vez depende de alguna biblioteca del sistema que solo existe en UNIX y no funciona. no funciona en Windows.

Estabilidad: especifica qué tan estable es una biblioteca, lo que incluye su confiabilidad (por ejemplo, con qué frecuencia se bloquea), pero lo más importante es la frecuencia con la que cambia su API. He visto los valores "experimental", "provisional" y "estable", pero podría haber una lista con más en algún lugar (a veces es imposible encontrar información en la Cabal). Cuando un paquete es experimental, significa que su interfaz probablemente cambia entre cada versión, porque el desarrollador aún no ha decidido cómo se debe implementar, o porque el desarrollador simplemente implementó alguna funcionalidad teórica de un documento en algún lugar, y no lo hace. intención de mantener el paquete; él / ella solo quería implementar la funcionalidad para ver si era posible y está publicando el paquete como una demostración. Cuando un paquete es provisional, significa que la API general es estable, por lo que podría haber actualizaciones al paquete que solo corrige errores internos y no agrega ni elimina ninguna función. Sin embargo, debido a que es provisional, podría cambiar en el futuro cuando los desarrolladores decidan agregar nuevas funciones o reestructurar la biblioteca. Con una biblioteca estable, esto básicamente nunca sucede; la API probablemente nunca cambie, y la implementación es "sólida" o una implementación de referencia de una API o algo así.

El mantenedor de un paquete es la persona o grupo de personas que son responsables del paquete. El correo electrónico especifica cómo se puede llegar a estos mantenedores.

El campo " Safe Haskell " se refiere a una extensión de GHC que puede leer más here . Un módulo que no es seguro usa funciones como unsafePerformIO que rompe algunas de las "reglas" fundamentales de Haskell como la transparencia referencial. Un módulo inseguro también puede usar extensiones de lenguaje inseguras. Un módulo seguro es un módulo que no utiliza ninguna función insegura, etc. y tampoco importa ningún otro módulo inseguro. Un módulo confiable utiliza funciones no seguras (Directamente confiable , indirectamente confiable ), pero el autor se ha asegurado de que la API pública del módulo oculte este hecho de manera segura, de modo que desde el exterior parece que el módulo es seguro para todos los efectos. Esas son las opciones para el campo "Safe Haskell".