come avanzare nella programmazione funzionale di livello superiore [chiuso]


12

per prima cosa mi scuso se questo non è il posto giusto per questa domanda, ma penso che th.CS non sia il posto giusto per certo né StackOverflow.

Mi piace molto la programmazione funzionale e penso di essere un ragazzo di medio livello in F # e comprendo abbastanza bene i concetti di base di Haskell - e sì, penso di sapere / essere caduto come se sapessi cos'è una Monade.

Ora voglio davvero portare questo al livello successivo e voglio capire di cosa si tratta tutto il parlare di funzioni e cose. Non so da dove cominciare.

Leggi qualcosa su Lambda Calculus? Teoria delle categorie? Entrambi lo so un po 'e non penso che questo sia il modo giusto / più veloce per l'illuminazione.

Forse puoi darmi qualche suggerimento a riguardo.

PS: Non ho paura della matematica e non mi sento frustrato per gli esercizi facilmente, ma preferirei qualche introduzione / testo in cui puoi mettere un po 'di codice perché in questo modo ottieni il feedback in una volta.

Risposte:


6

F # è un buon inizio, dovresti andare avanti con Haskell, e sicuramente leggere sul calcolo lambda e leggere i documenti Lambda sopra menzionati.

L'uso di un linguaggio ibrido (Clojure, Scala, OCaml, ...) potrebbe aiutarti a semplificarlo se provieni da un background OO, ma penso che se vuoi davvero capire la mentalità funzionale di programmazione, dovresti piuttosto scegliere il cosa vera (Haskell, Lisp, ...).


grazie - ovviamente mi atterrò su F # (posso usarlo nel codice di produzione ...) e cercherò di imparare più haskell - ma questo è più difficile perché trovo piuttosto difficile fare altre cose oltre alle applicazioni console in haskell (ancora). - Lo schema potrebbe essere bello (ha avuto un breve episodio in Lisp una volta) ma OCaml è quasi lo stesso di F # (penso)
Carsten,

@ CarstenKönig: ci sono molti progetti molto interessanti che puoi fare senza preoccuparti di un'interfaccia utente. Un'ottima opzione sta lavorando su un linguaggio di programmazione: scrivere un semplice interprete Scheme o Prolog in Haskell è un esercizio fantastico e vive felicemente sulla riga di comando.
Tikhon Jelvis

4

Ti consiglio di leggere quei tre libri se il tempo è un lusso che hai:

Questi tre libri arricchiranno la tua comprensione della programmazione funzionale in generale.


Il bancomat non è un problema - e mi prenderò del tempo se trovo comunque energia la sera ... potrebbe essere lento ma normalmente sono in grado di leggere molto. Ovviamente con quel tipo di libri, il mio ritmo rallenterà a passo d'uomo ... grazie (purtroppo l'ultimo sembra essere fuori stampa ... non sopporto la lettura dallo schermo)
Carsten,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.