Haskell

高階関数を基本的な関数の合成で作った関数でQuickCheckする

高階関数をQuickCheckでテストしてみる QuickCheckを知っていますか? QuickCheckと言うのはHaskellのデータ駆動型のテスト用ライブラリで テストしたい関数を指定するとその引数に合わせて適当なテストデータを生成してくれます。 では高階関数(関数を引数に…

WebAssemblyを出力するMinCamlコンパイラを実装しました

概要 WebAssemblyを出力するMinCamlコンパイラml2wasmをフルスクラッチで実装しました。 github.com マンデルブロ集合を計算するこんな↓感じのMinCamlのソースコードが マンデルブロ集合を出力するMinCamlソースコード こんな↓感じのWebAssemblyに変換されて…

Freeモナドについて今更勉強してみた

5年ほど前、Freeモナドという言葉がHaskell界隈でよく見られました。 僕のフォローしている人たちが次々に解説記事をアップしていたように思います。 5年たった今になって、Freeモナドについて興味が湧いてきたので記事を書いてみることにしました。 Freeモ…