bonotakeの日記

元・ソフトウェア工学系研究者、今・AI系エンジニア

2007-02-11から1日間の記事一覧

さらに続き

※ 今しがた、親と付き合って酒をしこたま飲んだので、正しいことかいてるかは(いつも以上に)保証できません。日本語がおかしいかもしれません。 以上(1, 2)を踏まえて考えてみると、以下のような、プリミティブな関数をもう一個追加すれば、とても見通し…

ということで

上のエントリーの続き。インタプリタをちょっと改造してみた。 interpret :: Lang -> Lang -> Computer Lang interpret m l = Run $ \p -> let (p', l') = runner (run l) p in (I m p' l', m) 実行結果。 *Main> showComp (P S) $ return S >>= interpret T…

インタプリタとコンパイラのモナド

これ、モナドで書いてみた。いや、なんとなく… data Lang = S | T | M deriving (Eq, Show) data Program = P Lang | I Lang Program Lang deriving Show data Computer l = Run { runner :: Program -> (Program, l) } instance Monad Computer where retur…

注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。