comment avancer dans la programmation fonctionnelle de niveau supérieur [fermé]

12

d'abord mes excuses si ce n'est pas le bon endroit pour cette question mais je pense que th.CS n'est pas le bon endroit pour sûr ni StackOverflow.

J'aime vraiment la programmation fonctionnelle et je pense que je suis un gars de niveau moyen en F # et je comprends assez bien les concepts de base de Haskell - et oui je pense que je sais / est tombé comme je sais ce qu'est une Monade.

Maintenant, je veux vraiment amener cela au niveau supérieur et je veux comprendre de quoi parle tout ce qui concerne les foncteurs et tout ça. Je ne sais pas par où commencer.

Lire quelque chose sur Lambda Calculus? Catégorie Théorie? Je connais un peu tous les deux et je ne pense pas que ce soit la manière la plus juste / la plus rapide de s'éveiller.

Vous pouvez peut-être me donner quelques indices à ce sujet.

PS: Je n'ai pas peur des mathématiques et je ne suis pas frustré facilement lors des exercices, mais je préfère quelques intros / textes où vous pouvez mettre du code parce que de cette façon vous obtenez les commentaires en même temps.

Carsten
la source

Réponses:

6

F # est un bon début, vous devriez continuer avec Haskell, et certainement lire sur le calcul lambda et lire les papiers Lambda mentionnés ci-dessus.

L'utilisation d'un langage hybride (Clojure, Scala, OCaml, ...) pourrait aider à le faciliter si vous venez d'un milieu OO, mais je pense que si vous voulez vraiment comprendre l'état d'esprit de la programmation fonctionnelle, vous devriez plutôt opter pour le chose réelle (Haskell, Lisp, ...).

haylem
la source
merci - bien sûr je m'en tiendrai à F # (je peux l'utiliser dans le code de production ...) et j'essaierai d'en apprendre plus sur haskell - mais c'est plus difficile parce que je trouve assez difficile de faire autre chose que des applications console dans haskell (encore). - Le schéma pourrait être sympa (a eu un court épisode en Lisp une fois) mais OCaml est presque le même que F # (je pense)
Carsten
@ CarstenKönig: Il y a beaucoup de projets très intéressants que vous pouvez faire sans vous soucier de l'interface utilisateur. Une excellente option est de travailler sur un langage de programmation: l'écriture d'un simple interpréteur Scheme ou Prolog dans Haskell est un exercice génial et vit joyeusement sur la ligne de commande.
Tikhon Jelvis
4

Je vous recommande de lire ces trois livres si le temps est un luxe que vous avez:

Ces trois livres enrichiront votre compréhension de la programmation fonctionnelle en général.

Chiron
la source
Le temps à l'ATM n'est pas un problème - et je vais prendre un peu de temps si je trouve de l'énergie le soir de toute façon ... ça pourrait être lent mais normalement je suis capable de lire beaucoup. Bien sûr , avec ce genre de livres que je mon rythme va ralentir à une exploration ... merci (malheureusement , le dernier semble être épuisé ... ne supporte pas la lecture de l' écran)
Carsten