Articles of fonctionnelle

Apprentissage de la functional programming / Clojure – exercices pratiques?

J’apprends la functional programming avec Clojure. Quels exercices pratiques pouvez-vous recommander? Les référentiels en ligne avec des solutions seraient parfaits. Une idée que je peux imaginer est de passer en revue tous les algorithmes populaires sur le sorting, les arbres, les graphiques, etc. et de les implémenter dans Clojure moi-même. Bien que cela puisse fonctionner, […]

Comment pourrais-je traduire une classe de type Haskell en F #?

J’essaie de traduire les Arrows de la librairie Haskell en F # (je pense que c’est un bon exercice pour mieux comprendre Arrows et F #, et je pourrais peut-être les utiliser dans un projet sur lequel je travaille). Cependant, une traduction directe n’est pas possible en raison de la différence de paradigmes. Haskell utilise […]

Qu’est-ce que zip (functional programming?)

J’ai récemment vu du Clojure ou du Scala (désolé je ne les connais pas) et ils ont glissé sur une liste ou quelque chose comme ça. Qu’est-ce que zip et d’où vient-il?

Utilisation de la séquence paresseuse Clojure

J’ai du mal à comprendre comment on crée une séquence paresseuse dans Clojure. La documentation pour la macro n’est pas du tout claire pour moi: Usage: (lazy-seq & body) Prend un ensemble d’expressions qui retourne un ISeq ou un Nil, et produit un object Seqable qui invoquera le corps uniquement la première fois que seq […]

Quels sont les problèmes les mieux / les moins bien traités par la functional programming?

J’ai souvent entendu dire que la functional programming résout beaucoup de problèmes difficiles dans la programmation procédurale / impérative. Mais j’ai aussi entendu dire que la programmation procédurale est tout simplement géniale à certains autres problèmes. Avant d’ouvrir mon livre sur Haskell et de me plonger dans la functional programming, j’aimerais au moins avoir une […]

Clojure: Comment connaître la qualité de la fonction à l’exécution?

Étant donné un object ou un nom de fonction, comment puis-je déterminer son arité? Quelque chose comme (arity func-name) . J’espère qu’il y a un moyen, car l’arity est assez central dans Clojure

Que signifie le terme «raison de» en informatique?

Tout en apprenant la functional programming, je ne cesse de parler du terme «raison d’être», en particulier dans le contexte des fonctions pures et / ou de la transparence référentielle. Quelqu’un peut-il expliquer ce que cela signifie exactement?

Comment puis-je lancer une exception dans Clojure?

Je souhaite lancer une exception et faire ce qui suit: (throw “Some text”) Cependant, il semble être ignoré.

Que se passe-t-il quand je compose * avec + dans Haskell?

J’essaie de comprendre le résultat de (*) . (+) à Haskell. Je sais que l’opérateur de composition n’est que la composition standard des fonctions mathématiques – (f . g) = f (gx) Mais: (*) . (+) :: (Num (a -> a), Num a) => a -> (a -> a) -> a -> a J’ai du […]

concevoir de grands projets en OCaml

Quelles sont les meilleures pratiques pour écrire de grands projets logiciels dans OCaml? Comment structurez-vous vos projets? Quelles fonctionnalités d’OCaml devraient et ne devraient pas être utilisées pour simplifier la gestion du code? Des exceptions? Modules de première classe? GADTs? Types d’object? Système de construction? Cadre de test? Pile de bibliothèque? J’ai trouvé d’excellentes recommandations […]