2016年11月12日土曜日

HaskellでmonadTのあとはMTL

金曜日、会社の同僚とその友人とご飯を食べてきました。 全員アプリエンジニアで、特に同僚の友人のエンジニアは、Haskellエンジニアでした。

Haskellはモナドトランスフォーマーをやったところで止まっていたのですが、その話をすると、アドバイスをしてくれました。

MTL をやれば、一通りのことはできるよ

MTLは、モナドとモナドトランスフォーマーでよく使う処理をまとめたライブラリです。

モナド系の標準ライブラリのデファクトとなっているそうで、本格的なHaskellプログラムを書くときはもちろん、最近のライブラリでよく使われているので、読むときも楽になるということでした。

なので、ここまで頑張ってマスターすれば、やりたいことは大体haskellで実装できるようになるよと言われました。

見てみるとControl.Monadにある各種モナドとモナドトランスフォーマーです。

確かにReader, Writer, Errorなど使いでがありそうなモナドがそろってます。

モナドトランスフォーマーを勉強すると、どこかで使ったことはあると思います。

Haskell熱が戻ってきました

他にもNIXOSの話や、GHCの言語拡張、さらには、Haskellなどのプロダクションとしては、少数派だが、強力な言語を導入するにはどうすればいいかという話題なども出て刺激的でした。

プロダクションレベルだと、GHCの拡張も厳選した20〜30個くらいを設定しているそうです。

ただ、このあたりの話はリファレンスくらいしかないらしく、Haskell力がはっきりとでてしまいますね。

最近は、Elixirばかりでしたが、次のステップが見えたので、Haskell熱が復帰してきました!

よきモナドライフを!

0 件のコメント:

コメントを投稿