2017-07-31 21 views
0

私は最近、FPのコンセプト、特にフリーモナドを理解するために時間を費やしてきました。私はフリーモナドの背後にある考え方をよく理解していると思うが、疑問が浮かび上がった。Doobieと組み合わせたスカラフリーモナ

私は無料のモナドの上に構築されたビットのためにDoobieを使用してきました。私にとっては、ドゥービー(doobie)を含めて、異なる代数を組み合わせたもの(共産物を含む)を持つことは理にかなっています。代数をテストするときには、通常、テストインタープリタを作成します。しかし、Doobieのような既存のライブラリ(代数がちょっと大きい)では、自分でテストインタープリタを作成する必要がありますか?私にとっては、この時点でフリーモナドを使用すると定型コードがたくさん出てきます。また、アプローチが間違っている場合、私はいくつかのフィードバックを得たいと思います。

多分もっとよく尋ねられる質問かもしれませんが、あなたがそれらを使用する傾向があるユースケースは何ですか?ほぼすべてのFPアプリケーションを構造化するためにそれらを使用していますか、フリーモナールが輝く特定のユースケースしかありません。

ありがとうございます!

+0

http://frees.io/docs/をご覧ください。 – Daenyth

答えて

0

Doobieは素晴らしいですが、表面下では非常に複雑ですが、使いやすいです。 Doobieを使用するには、無料のモナドに触れる必要はありません。

あなたがDoobieプロジェクトに貢献していない限り、無料のモナドに触れる理由は本当にありません。

ユニットテストでは、H2を使用することもできます。特別なDoobie Specパッケージもあります。無料のモナドの他の用途については

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

: 無料モナドはハードの問題を解決するための非常に洗練されたツールです。 機能プログラミングに慣れていない人は、すべての光沢のある新しいおもちゃを使いたいと思っています。これは多くの工学を引き起こします。 :D

私が知っているフリーモナドの唯一の良い使用法は、ドゥービーです。