Che cos'è un buon libro di matematica da tenere sulla mia scrivania mentre studi Haskell? [chiuso]

6

Ho appena iniziato ad imparare Haskell e sembra che non si possa andare troppo lontano nella lingua senza essere a proprio agio (o almeno esposto) in certi settori della matematica. Sfortunatamente ho dei grossi problemi in queste aree e mi chiedo quale sia un buon libro di testo introduttivo che copra tutti i concetti che Haskell usa?

Per quello che vale, ho una laurea in ingegneria (non comp-sci o EE), anche se la matematica a cui sono stato esposto era della varietà a mano e memorizza. Ho anche preso un'introduzione al corso comp-sci dove abbiamo fatto alcune settimane di oCaml.

    
posta chibro2 04.02.2013 - 06:42
fonte

2 risposte

9

"La teoria delle categorie di base per gli scienziati informatici" di Benjamin C. Pierce è una buona introduzione alla categoria elementare teoria. È passato un po 'di tempo prima che lo guardassi, ma penso che gli esempi di codice siano in Haskell. Se stai cercando di imparare i fondamenti di Haskell, allora non hai bisogno di alcuna teoria di categoria. Conoscere alcune teorie di base è sufficiente.

    
risposta data 04.02.2013 - 06:46
fonte
7

Dubito che esista un libro del genere, e il più vicino che otterresti sarebbe da un libro su Haskell.

Il problema è che Haskell fa un uso superficiale dei concetti da una vasta gamma di matematica relativamente profonda. Per chiunque non sia già un matematico, imparare abbastanza matematica per aiutare a capire Haskell è molto improbabile che sia più facile che imparare semplicemente Haskell.

Questo è particolarmente vero per la teoria delle categorie, in cui le introduzioni rivolte ai matematici tendono a utilizzare esempi motivanti che presuppongono una conoscenza pregressa sostanziale di altri campi della matematica, e le presentazioni rivolte ai programmatori Haskell, ovviamente, utilizzano esempi motivanti in Haskell.

Raccomando di continuare con Haskell. Puoi consultare termini non familiari su Wikipedia: spesso le definizioni sono abbastanza accessibili da poter almeno riportare le cose alla programmazione. Se rimani bloccato e hai bisogno di aiuto su qualcosa di specifico, chiedi informazioni su Stack Overflow o il canale #haskell IRC su Freenode.

In breve, tratta la matematica come un gergo opaco - non è come se la programmazione non fosse già piena di questo, buon dolore - e impari cosa significa quando vai. Puoi tornare alla stessa matematica più tardi, se sei interessato, per ottenere una comprensione più approfondita delle astrazioni sottostanti.

    
risposta data 04.02.2013 - 15:02
fonte