Harvestは小説の題名。「Haskellで数式をビジュアルに」のところでも説明したが、一次元に書かれた数式を二次元の木構造に変換することができる。例は以下のとおりである。そこで、オペレーショナル・モナドを利用して、数式から木構造を作成する機械を実現する。最初に決めるのは、命令の集合である。ここでは、ノードとリーフを作成する命令に分け、前者をInsOp、後者をInsValとする。InsOpは加算か乗算を引数として取り、InsValは整数を引数として取ることとし、型コンストラクタTreeIを次のように定める。()なお、ここでaは型引数、InsOp,InsValは値コンストラクタである。命令ツリーで構成されるプログラムTreePを次のように用意する。aまた、それぞれの命令をプログラムの内で使えるようにするため、関数singletonを適応し、その名前を次のように用意する。3.プログラムの実行プログラムの解釈実行は次のように定義する。それぞれの命令に対して、命令を実行した後の木構造を求めればよい。従って、これは、「Haskellで数式をビジュアルに」のところで説明したものと同じである。演算に対する部分が、前の説明ではそれぞれ別々になっていたが、今回のプルグラムでは、演算が引数で渡されるので、場合分けする必要がある。その結果、次のようになる。t24.利用するスタックマシンが出来上がってので、早速利用してみる。命令ツリーを関数transformで次のように用意する。Emptyなお、これに先立って、前回定義したTreeちOpをdataで定義しておく必要がある。5.プルグラムコード最後にプログラム全体を提示する。振舞いは次のように定義した。参加グループ知識リンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!bitterharvestさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。