ventajas val learn for example effective docs desventajas ocaml

ocaml - val - ¿Cuáles son los pros y los contras de Batteries and Core?



ocaml vs haskell (2)

En el mundo de OCaml, en la actualidad parece haber una serie de extensiones competidoras para la biblioteca estándar, siendo Batteries y Jane Street Core las más importantes por lo que puedo determinar (¿entiendo que ExtLib ha sido incluido en Batteries?). ¿Cuáles son los pros y los contras de cada uno? ¿Son equivalentes? ¿Pueden ellos coexistir? ¿Tiene sentido "mezclar y combinar" o debería elegir uno y centrarme en él? ¿Es el núcleo ampliamente utilizado fuera de Jane Street?

Si hace la diferencia, estoy en Debian, por lo que el soporte de Windows no es un factor para mí.

¡Gracias!


Advertencia: soy uno de los autores de Batteries (aunque he estado fuera de contacto por un año) y el autor de la página about vinculada anteriormente.

Las grandes diferencias son las siguientes:

  • El núcleo se usa a diario en un entorno industrial, mientras que las baterías afaik no tienen el mismo aspecto
  • El núcleo es mantenido por una compañía, mientras que las baterías son mantenidas por la comunidad
  • afaik (pero puedo estar equivocado), Core no acepta solicitudes o solicitudes de funciones, mientras que las baterías lo hacen
  • Batteries apunta a aceptar cualquier programa escrito para la biblioteca estándar de OCaml, mientras que Core no apunta a mantener la compatibilidad con versiones anteriores
  • Las baterías solían venir con herramientas externas adicionales (no están en la distribución estándar en este momento, pero espero que vuelvan como un paquete adicional), por ejemplo, un nivel superior mejorado, un compilador que requiere cero configuración para usar las baterías en lugar de Stdlib de OCaml, etc.
  • Las baterías vienen con extensiones de idioma adicionales, por ejemplo, para manejar Unicode de forma nativa, con una nueva, más segura y más extensible, etc.
  • Las baterías vienen con mucha documentación, mientras que la última vez que lo revisé, Core no lo hizo.

PD: Sí, ExtLib ahora es un subconjunto de Baterías.