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
Répondre
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 ...
« Introduction à Objective Caml » par Jason Hickey fournit une bonne introduction à OCaml, et est disponible en ligne: http://files.metaprl.org/doc/ocaml-book.pdf
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 .
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
@kalu Je ne crois pas que vous ne pouvez pas écrire réduire dans OCaml. – Marcin
Comment «réduire» devient-il mystérieux? –
- 1. nokogiri: comment envelopper les balises html autour d'éléments xpath donnés?
- 2. comment envelopper une étiquette html autour d'une étiquette d'image?
- 3. divs effondrant autour de la tête
- 4. pourquoi je ne peux pas envelopper <span> autour de la xpath nokogiri rfollowing?
- 5. OCaml: Comment fonctionne List.fold_left?
- 6. Ocaml - Itératif à récursion
- 7. OCaml: Définir les modules
- 8. Functors in Ocaml
- 9. Comment télécharger et installer Emacs for OCaml?
- 10. Envelopper le contenu dans DIV
- 11. Service OSGi envelopper un pot
- 12. Envelopper un mot dans LaTeX
- 13. UML pour OCaml objets immédiats
- 14. OCaml: Type Vérification des objets
- 15. OCaml typage structurel et listes
- 16. Ocaml valeurs Int et négatives
- 17. Question OAM de base OCaml
- 18. éléments du tableau en mouvement autour
- 19. POSIXct fois autour DST?
- 20. Envelopper le contrôle HTML sur Windows Mobile
- 21. Envelopper les données tabulaires en HTML
- 22. Envelopper les structures mutuellement dépendantes dans Pyrex
- 23. Force TextBlock à envelopper dans WPF ListBox
- 24. Comment faire un DIV ne pas envelopper?
- 25. Gestion des dépendances circulaires dans OCaml
- 26. OCaml: Correspond à l'expression dans un autre?
- 27. Modèle de conception de visiteur dans OCaml
- 28. Types OCaml avec différents niveaux de spécificité
- 29. Membres de données OCaml sans initialisation
- 30. {X} avec la valeur en OCaml
dupliquer: http://stackoverflow.com/questions/30516/learning-ocaml-fast – nlucaroni