2010-07-22 9 views
17

Sono appena tornato in OCaml per un nuovo piccolo progetto di ricerca dopo molti anni di SML, Haskell e F #.Quanto è stabile e diffusa la "batteria OCaml inclusa" ed è consigliata?

Mi sono presto perso alcune cose quando utilizzo le librerie OCaml e mi mancava anche una sintassi per le comprensioni monadiche.

Le batterie OCaml incluse sembrano riempire esattamente queste lacune. Ma sono un po 'insicuro se ha raggiunto il punto di essere maturo, stabile e abbastanza diffuso per questo progetto. Una parte del mio dubbio deriva dall'avere un certo numero di problemi durante l'installazione - incluso scoprire che attualmente le istruzioni di installazione sono obsolete, ed è stato solo con Google che alla fine ha trovato una risposta a una richiesta di supporto che spiegava cosa era necessario.

Le batterie sono relativamente stabili? (O almeno più stabile di quanto suggerito sopra?) Il suo uso è relativamente diffuso? (Ad esempio, il 10% del nuovo codice OCaml è stato scritto usando questo?)
Quali tipi di progetti sarebbero raccomandati?
(E, in particolare, sarebbe consigliabile per un progetto di ricerca di piccole e medie dimensioni che dovrebbe produrre una piccola biblioteca che probabilmente verrebbe mantenuta per qualche tempo.)
Altri consigli?

+1

Non sapevo che ci sarebbe stato un così grande cambiamento. Ho appena controllato i conteggi dei messaggi dell'archivio Caml-list per mese, e per quello che vale non sembra che siano cambiati molto negli ultimi quattro anni: http://caml.inria.fr/pub/ml-archives /caml-list/index.enml Puoi indicare qualsiasi riferimento che mostri il piombino? O, almeno, spiega come hai determinato che c'era un precipizio? Hai – RD1

+4

@Jon: Questa è un'affermazione piuttosto audace e che non sono propenso a credere se non puoi eseguire il backup con statistiche attendibili da una fonte ragionevolmente imparziale. – bcat

+2

@ RD1 e bcat: ho appena estratto le statistiche per le due mailing list di OCaml e sono cadute costantemente di anno in anno ogni anno per quattro anni consecutivi, passando da 663 post/mese nel 2007 a 276 ora (58% declino). Le vendite dei nostri prodotti correlati a OCaml sono diminuite del 60% nello stesso periodo e, di conseguenza, abbiamo abbandonato OCaml. Le tendenze di Google mostrano una tendenza simile con una diminuzione di circa il 60% della percentuale di ricerche di Google relative a OCaml. –

risposta

12

Semi-disclaimer: sono uno degli attuali sviluppatori di batterie incluse.

Non ho ancora visto una grande quantità di assorbimento finora. Non ho visto nessun pacchetto rilasciato che dipenda da questo. Tuttavia, questo da solo non dovrebbe impedirti di usarlo. Si spera che guadagnerà un po 'di trazione mentre continua a maturare. Personalmente lo uso per tutto il mio nuovo sviluppo di OCaml, sia per progetti personali che per il mio lavoro di ricerca.

Aspettatevi di vederlo in una buona quantità di flusso per la durata del ciclo 1.x. Ci impegniamo a mantenere le API compatibili all'indietro per tutte le versioni 1.x, ma verranno aggiunte nuove cose e i vecchi moduli/funzioni probabilmente saranno deprecati. Gran parte dovrebbe essere abbastanza stabile, anche se stiamo ancora trovando e risolvendo bug. Ciò sarà molto aiutato, però, dal fatto che più persone lo usano e segnalano i bug che non abbiamo ancora visto.

Speriamo che la versione 2.0 sia molto più statica e abbia un maggior grado di coerenza tra i moduli, ma 2.0 è probabilmente un via di fuga.

Il mio consiglio sarebbe: se usi Extlib, usa le batterie. Ha assorbito il set di funzionalità di Extlib (anzi, la maggior parte del suo codice), e lo arricchisce un po '. Se trovi bug, per favore segnalali :).

+0

Cheers, ottima risposta. Questo è abbastanza buono dal mio punto di vista, quindi lo userò. – RD1

9

Bene, personalmente raccomando le batterie OCaml incluse. Certo, succede solo che io sia l'autore originale :)

L'uso non è ancora diffuso, ma ora fa parte di Debian/testing e di Ubuntu Lucid Lynx, oltre a GODI, quindi puoi aspettarti un numero di persone per testarlo per bug.

Problemi correlati