2009-04-14 10 views
7

Je suis seulement un programmeur novice (je le fais pour le plaisir) et je viens du monde de Python/C++/autres langages procéduraux, et le style procédural de résolution de problèmes. Je suis tombé amoureux de la simplicité d'OCaml après avoir été bogué par son style fonctionnel pendant environ une semaine. Puisque je ne suis pas un ingénieur ou un mathématicien, quels sont les livres ou les ressources utiles qui aideront à transformer mon processus pour penser plus fonctionnellement? Existe-t-il des exercices standard ou y a-t-il des livres qui m'aideront à penser en ces termes?Envelopper ma tête autour OCaml

+0

dupliquer: http://stackoverflow.com/questions/30516/learning-ocaml-fast – nlucaroni

Répondre

7

Je suis un grand fan de "The Little MLer" la version ML de "The Little Schemer" (née "The Little Lisper") Le livre entier est en question format de réponse, vous menant à travers la langue.

Le gros inconvénient est qu'il ne couvre pas vraiment (IIRC) le « O » une partie de OCaml ... mais elle couvre la partie ML vraiment bien ...

1

Ce n'est pas spécifique à OCaml, mais si vous voulez apprendre à penser d'une manière fonctionnelle, un excellent endroit pour commencer est avec le papier de John Hughes Why Functional Programming Matters .

+0

Cet article met l'accent sur les fonctionnalités de la programmation fonctionnelle qui ne sont pas disponibles dans OCaml. Par exemple, il n'est pas possible d'écrire une fonction 'reduce'. Est-il juste de dire OCaml est seulement quelque peu fonctionnel? – kalu

+1

@kalu Je ne crois pas que vous ne pouvez pas écrire réduire dans OCaml. – Marcin

+0

Comment «réduire» devient-il mystérieux? –