2017-07-31 5 views
0

J'ai passé du temps dernièrement à comprendre les concepts de PF et surtout la monade libre. Je pense que je comprends très bien l'idée derrière les monades libres, mais une question s'est posée.Monade Scala libre combinant avec Doobie

J'ai utilisé Doobie pour un peu qui est construit au-dessus des monades libres. Pour moi, il serait logique d'avoir différentes algèbres combinées (avec coproduits), y compris doobie. Lors du test des algèbres, les gens créent généralement un interpréteur de test. Mais pour les bibliothèques existantes comme Doobie (quelle algèbre est assez grande), ai-je besoin de créer un interpréteur de test par moi-même? Pour moi, à ce stade, en utilisant la monade libre donne beaucoup de code standard. Aussi, si l'approche est fausse, j'aimerais avoir un retour.

Une question plus fréquemment posée peut-être, mais quels sont les cas d'utilisation pour lesquels vous avez tendance à les utiliser? Les utilisez-vous pour structurer presque toutes les applications de PF ou y a-t-il seulement des cas d'utilisation particuliers où la monade libre brille.

Merci d'avance!

+0

Regardez http://frees.io/docs/ – Daenyth

Répondre

0

Doobie est super, il est très complexe sous la surface, mais il est simple à utiliser. Vous n'avez pas besoin de toucher la monade gratuite pour utiliser Doobie.

Je ne vois pas vraiment de raison de toucher la monade gratuite sauf si vous contribuez au projet Doobie.

Pour le test unitaire, vous pouvez utiliser H2, il existe également un package spécial Doobie Spec.

https://tpolecat.github.io/doobie-0.2.1/11-Unit-Testing.html

En ce qui concerne les autres utilisations de la monade libre: Le monade gratuit est un outil très sophistiqué pour résoudre des problèmes difficiles. Les débutants en programmation fonctionnelle veulent utiliser tous les nouveaux jouets brillants. Cela cause beaucoup de sur-ingénierie. : D

La seule bonne utilisation de la monade gratuite que je connais est Doobie.