Articles of functional programming

Qu’est-ce qu’une monade en PF, en termes catégoriques?

Chaque fois que quelqu’un promet “d’expliquer les monades“, mon intérêt est piqué, pour être remplacé par la frustration lorsque la prétendue “explication” est une longue liste d’exemples terminés par une remarque désinvolte selon laquelle “la théorie mathématique” idées “est” trop compliqué à expliquer à ce stade “. Maintenant, je demande le contraire. J’ai une solide […]

Organisation du code Spark et meilleures pratiques

Donc, après avoir passé de nombreuses années dans un monde orienté object avec la réutilisation du code, les schémas de conception et les meilleures pratiques toujours pris en compte, je me heurte quelque peu à l’organisation du code et à la réutilisation du code dans le monde de Spark. Si j’essaie d’écrire du code de […]

Meilleure façon de condenser une liste de types d’option sur des éléments qui ne sont pas différents?

J’ai un peu de mal à passer d’une liste d’options à une liste contenant uniquement les éléments Some. Ma première tentative était: let ga = List.filter (fun xx -> match xx with | Some(g) -> true | None -> false) gao Mais bien sûr, ce type de résultat est toujours une liste d’options. Je ne […]

Utiliser des fonctions partielles dans Scala – comment ça marche?

Je suis nouveau sur Scala, j’utilise la version 2.9.1 et j’essaie de comprendre comment utiliser les fonctions partielles. J’ai une compréhension de base des fonctions curry, et je sais que les fonctions partielles sont un peu comme les fonctions curry où elles ne sont que 2naires ou certaines. Comme vous pouvez le constater, je suis […]

Utiliser Either pour traiter les échecs en code Scala

Option monad est une excellente façon de traiter les choses avec ou sans rien dans Scala. Mais que se passe-t-il si l’on doit enregistrer un message lorsque “rien” se produit? Selon la documentation de l’API Scala, Le type Either est souvent utilisé comme alternative à scala.Option où Left représente un échec (par convention) et Right […]

La caractéristique de rendement de Ruby par rapport à l’informatique

J’ai récemment découvert les blocs de Ruby et ses caractéristiques, et je me demandais: à quoi cela correspond-il en termes de théorie informatique? Est-ce une technique de functional programming ou quelque chose de plus spécifique?

Puzzler de syntaxe de fonction dans scalaz

Après avoir regardé la présentation de Nick Partidge sur la dérivation du scalaz , je me suis penché sur cet exemple, qui est tout simplement génial: import scalaz._ import Scalaz._ def even(x: Int) : Validation[NonEmptyList[Ssortingng], Int] = if (x % 2 ==0) x.success else “not even: %d”.format(x).wrapNel.fail println( even(3) even(5) ) //prints: Failure(NonEmptyList(not even: 3, […]

Quels sont les concepts de base de la functional programming?

En programmation orientée object, on pourrait dire que les concepts de base sont les suivants: encapsulation inheritance, polymorphism Que serait-ce dans la functional programming?

Mélanger Erlang et Haskell

Si vous avez adhéré au paradigme de la functional programming, il est probable que vous aimiez Erlang et Haskell. Les deux ont des kernelx purement fonctionnels et d’autres qualités telles que des fils légers qui les rendent parfaitement adaptés à un monde multicœur. Mais il y a aussi des différences. Erlang est un langage tolérant […]

La stack déborde-t-elle de la récursivité profonde en Java?

Après une certaine expérience avec les langages fonctionnels, je commence à utiliser la récursivité plus en Java – Mais le langage semble avoir une stack d’appels relativement peu profonde d’environ 1000. Y a-t-il un moyen de rendre la stack d’appels plus grande? Est-ce que je peux créer des fonctions qui sont des millions d’appels, comme […]