2014-01-01から1年間の記事一覧

ラムダ式→SKIコンビネータ項

概要 ラムダ式をSKIコンビネータの式に変換するプログラムを書きました。 koba-e964/ski-comb · GitHub やったこと ラムダ式→SKIコンビネータの項の変換 実装は 高階ことりちゃんと学ぶSKIコンビネータ を参考にしました。 例 Haskell風の書き方で説明します…

ICPC 2014 Domestic

ICPC 2014 DomesticにAyatakaというチーム名で参加しました。 (メンバ:ばいなり(b_inary), うどん(kw_udon_), こば(kobae964))A うどんがやってくれましたB 私がやりました( Ideone.com - 2gTylp - Online C++ Compiler & Debugging Tool )C ばいなりがやっ…

モナド変換子の圏論的理解(Categorical understanding of monad transformers)

モナド変換子 Haskellにおいてモナド変換子(Monad transformer)は、以下の条件を満たすtです: tのkindは(* -> *) -> * -> * lift :: Monad m => m a -> t m aが定義されている liftが以下の法則を満たす: lift . return = return ∀m k. lift (m >>= k) = lif…

Haskellでのエラー処理について(ErrorT, ExceptT)

Haskellでインタプリタ( https://github.com/koba-e964/experiment/tree/master/typeinf )を書いていて、エラー処理をしたくなったのでモナド変換子ErrorTを導入しました。その後別の環境でコンパイルしてみたら (前略) Use Control.Monad.Except instead (…