2010-07-22 11 views
17

Acabo de regresar a OCaml para un nuevo proyecto de investigación pequeño después de muchos años de SML, Haskell y F #.¿Qué tan estable y generalizado es "OCaml Batteries Included" y es recomendado?

Rápidamente me perdí algunas cosas cuando usé las librerías OCaml, y también olvidé tener una sintaxis para las comprensiones monádicas.

OCaml Baterías incluidas parece llenar exactamente estos huecos. Pero estoy un poco inseguro de si ha llegado al punto de ser maduro, estable y lo suficientemente extendido para este proyecto. Parte de mi duda proviene de tener varios inconvenientes al instalarlo, incluso descubrir que actualmente las instrucciones de instalación están desactualizadas, y fue solo por Google cuando finalmente se encontró una respuesta a una solicitud de soporte que explicaba lo que se requería.

¿Las baterías son relativamente estables? (¿O al menos más estable que lo anterior sugeriría?) ¿Está su uso relativamente extendido? (Por ejemplo, ¿está escrito el 10% del código OCaml nuevo?)
¿Para qué tipo de proyectos se recomendaría?
(Y, en particular, se lo recomendaría a un proyecto de investigación pequeño-mediano que debería producir una pequeña biblioteca que probablemente se mantendría durante algún tiempo.)
¿Alguna otra recomendación?

+1

No sabía que había habido un cambio tan grande. Acabo de consultar los recuentos de mensajes del archivo Caml-list por mes, y por lo que vale, no parecen haber cambiado mucho en los últimos cuatro años: http://caml.inria.fr/pub/ml-archives /caml-list/index.en.html ¿Puedes señalar alguna referencia que muestre la caída en picado? O, al menos explicar cómo determinó que hubo una caída en picado? Tiene – RD1

+4

@Jon: Es un reclamo bastante audaz, y uno que no me inclino a creer a menos que pueda respaldarlo con estadísticas sonoras de una fuente razonablemente imparcial. – bcat

+2

@ RD1 y bcat: Acabo de eliminar las estadísticas de las dos listas de correo de OCaml y han caído consistentemente año tras año todos los años durante cuatro años seguidos, pasando de 663 publicaciones por mes en 2007 a 276 ahora (58% disminución). Las ventas de nuestros productos relacionados con OCaml han disminuido un 60% en el mismo período y, en consecuencia, hemos disminuido OCaml. Las tendencias de Google muestran una tendencia similar con una disminución de ~ 60% en la proporción de búsquedas de Google que son para OCaml. –

Respuesta

12

Semi-descargo de responsabilidad: soy uno de los desarrolladores actuales de Baterías incluidas.

Hasta ahora, no he visto una gran cantidad de aceptación. No he visto ningún paquete publicado que dependa de él. Sin embargo, eso solo no debería evitar que lo uses. Esperemos que gane algo de tracción a medida que continúe madurando. Personalmente lo uso para todo mi nuevo desarrollo OCaml, tanto para proyectos personales como para mi trabajo de investigación.

Espere verlo en una gran cantidad de flujo durante el ciclo 1.x. Nos comprometemos a mantener las API compatibles con versiones anteriores para todas las versiones 1.x, pero se agregarán cosas nuevas y probablemente se desaprobarán los módulos/funciones anteriores. Gran parte de esto debería ser bastante estable, aunque todavía estamos encontrando y solucionando errores. Sin embargo, eso será de gran ayuda al hacer que más personas lo usen y denuncien los errores que aún no hemos visto.

Esperamos que la versión 2.0 sea mucho más estática y tenga un mayor grado de consistencia entre los módulos, pero 2.0 es probable que esté muy lejos.

Mi consejo sería: si usa Extlib, use Baterías. Ha absorbido el conjunto de características de Extlib (de hecho, la mayor parte de su código), y lo desarrolla bastante. Si encuentra errores, informe de ellos :).

+0

Saludos, gran respuesta. Eso es lo suficientemente bueno desde mi punto de vista, así que lo usaré. – RD1

9

Bueno, yo personalmente recomiendo OCaml Batteries Included. Por supuesto, simplemente sucede para que yo sea el autor original :)

El uso aún no está muy extendido, pero ahora es parte de Debian/testing y Ubuntu Lucid Lynx, además de GODI, por lo que puedes esperar un número de personas para probarlo en busca de errores.