2010-05-23 15 views
23

Ci sono molti pacchetti su Hackage, alcuni ben noti (come HUnit) e altri meno noti (come AspectAG). Mi chiedo quale pacchetto di pensi sia una gemma nascosta che merita più utenti. Forse una struttura dati utile, aiutanti per le monadi, networking, test, ...?Qual è il tuo pacchetto "gemma nascosta" preferito su Hackage?

Qual è il tuo pacchetto "gemma nascosta" preferito su Hackage?

+6

Dovrebbe essere comunità wiki, credo. – kennytm

+3

Rilevanti potrebbero anche essere i pacchetti più popolari del Q1 2010, in ordine, http://www.galois.com/~dons/hackage/april-2010/popularity.csv –

+0

@DonStewart 404 - Link dead. – drozzy

risposta

16

Oleg Kiselyov's Iteratee. Ancora non capisco come funziona, ma mi ha salvato la vita un paio di volte quando ho avuto bisogno di fare qualcosa come leggere 60.000 file velocemente e non ho avuto il tempo di capire perché i normali approcci all'accesso ai file Haskell erano così lenta.

Anche il numero Attoparsec di Brian O'Sullivan, che nella mia esperienza funziona molto meglio di Parsec su cose come grandi database di file flat.

E ora è possibile combine the two.

Conal Elliott's Vector-space crea un sacco di funzioni di algebra lineare molto piacevolmente, e mi ha anche avvicinato un po 'a sentirsi a proprio agio con le famiglie di tipi.

Statistics (ancora una volta da O'Sullivan) è stato a portata di mano, perché io preferirei lavorare in Haskell che in R.

HXT e Criterion non sono "gemme nascoste", ma a mio parere meritano di essere più ampiamente usato

12

Vector - gli array veloci sono facili (non mi piace Data.Array). Se potessi votare solo per uno, sarebbe proprio ora.

Lazy Small Check (vedere anche paper) per test esaurienti.

Cereal - tutte le strutture di dati comuni dovrebbero avere binario e serializzare le istanze. Fidati del compilatore per far cadere il codice morto.

meldable-heap - non hanno ottenuto di usarla ancora, ma questo è un esempio di come deve essere sviluppato un software!

Chart - Il suo stato utile per me quando la creazione di grafici per il mio lavoro e presentazioni.

Atom - Vorrei una scusa per usarlo, ma non ho avuto ancora avuto uno.

8

Alcuni sottovalutati, biblioteche pragmatiche che uso abbastanza spesso:

+0

So che questo post è vecchio ma la libreria download-curl è GRANDE, odio scrivere codice 'Network.HTTP' noioso solo per scaricare il corpo di una pagina web! – djhworld

3

io avverto che questo è auto-promozione, ma io penso che il mio pacchetto meriti più utenti di me solo :)

Quindi, timeplot è uno strumento per tracciare serie temporali dai log. Ha parecchie caratteristiche, vedi l'ampio tutorial (un sacco di foto all'interno).

Ad esempio, è possibile utilizzarlo per esaminare l'effetto di un processo in background pesante su quantici del 25%, 50% e 90% dei tempi di risposta; o guarda il numero di utenti online per un giorno.

E 'progettato "in modo Unix": si prende un registro arbitrario e si scrive un awk semplice o sporco rapido o script perl che lo trasforma in input per il programma (composto da "eventi": impulsi di valore discreto , impulsi a valore continuo e impulsi di avvio/arresto).

È stato molto utile per me analizzare i dati di registro, soprattutto per diagnosticare determinati problemi di prestazioni "infrastrutturali": guardo i grafici dell'attività del sistema e vedo che aspetto non è come dovrebbe essere.

3

Mi piace interlude - per quando quei maledetti messaggi "non definiti" non andranno via!

4

mi piace la biblioteca don't:

main = don't $ do 
    name <- getLine 
    putStrLn $ "hello " ++ name 
+0

È solo uno scherzo? –

+1

Sì, era uno scherzo, ma non è del tutto inutile ... è come commentare un blocco di codice. – Caleb

Problemi correlati