タグ

2016年11月9日のブックマーク (2件)

  • 状態の合成比較:モナド変換子 vs Eff vs Classy - Creatable a => a -> IO b

    前回の記事について、実際に他の方法と比較してみたいという声を頂いたので、それぞれ同じような事をするためのコードを書き下してみました。 オーバーヘッドとかそのへんのパフォーマンス周りについては調べてないです。 きっと誰かがやってくれるさ。 モナド変換子の場合 module Main where import Control.Monad.State data Foo = Foo { foostr :: String , fooint :: Int } deriving Show data Bar = Bar { barstr :: String , barint :: Int } deriving Show ---- changeFoo :: State Foo () changeFoo = modify $ \foo -> foo { foostr = "NYAN" } changeFooB

    状態の合成比較:モナド変換子 vs Eff vs Classy - Creatable a => a -> IO b
  • ファンクタであそぼう - 非現実的非日常的非常識的、非日記。

    Haskell, ITこの記事はHaskell Advent Calendar 2013の3日目の記事です。 目次どうして?ファンクタを拡張しようおさらい引数をふたつ取ろう逆転の発想共変・反変・自由変・固定変データ型の整理正の位置と負の位置自由変と固定変ファンクタ類を自動生成しようまとめおまけThornについてCPLであそぼう どうして?ファンクタはHaskellに欠かせないものですが、ファンクタを一般化して見るという見方は意外に広まっていないように感じます。分かってしまえば単純な話だけにもったいないと思ってこの記事を書くことにしました。 また、僕は最近Thornというライブラリを作りました。これは、さまざまなデータ型から関手や畳み込み・展開をTemplate Haskellを使って自動生成するライブラリです。このライブラリを作るなかで気づいたことも合わせて書いていこうと思います。 ファン

    ファンクタであそぼう - 非現実的非日常的非常識的、非日記。
    Nnwww
    Nnwww 2016/11/09
    Functor類を一度に学べる,説明も可換図式付きで分かりやすい