群論に少し挑戦してみたが、何が分かったのかと言われても答えられない。ただ、プログラムに関しては、関数と関数の演算表をつくることで、関数による操作のモジュール化が非常に簡単にできることがわかった。
具体的なプログラム例で示すまでには考えがまとまっていないが、演算表によって二項演算を定義することで、操作の合成をモジュール化できる。また、操作の演算と、操作の実装とを分けてプログラムできるので、プロトタイプのプログラミングや、後からの仕様の変更が非常にやりやすい。 操作の演算が抽象化されているので、同じ演算表で全く異なるプログラムを作ることさえ可能だ。 それは群の要素の操作の合成が、その群に対して閉じているからだ。群の要素間の演算はどのような演算も群の中に閉じている。したがって、群を形作る操作の集合を最初に考えて、あとで、その操作の実装をゆっくりプログラムしていくという2段構えのプログラミングでも、考えられる操作の全ての組み合わせに対してエラーなく記述できる。 関数と関数の演算を2項演算にするもう一つの利点は、Num タイプクラスのインスタンスにすることができることだ。これによって、括弧を使う計算や、累乗の計算が自動的に利用できるようになる。演算表があっても括弧が使えなければまともな操作はできない。また、コマンドラインから括弧を使えるようにプログラムするのは大変だ。Num タイプクラスを利用して、ghci 上で使用すれば、大幅な手抜きができる。 いろいろな意味でHaskellは、プログラムのプロトタイプを作るのに楽ができる言語だ。
by tnomura9
| 2012-09-03 09:24
| Haskell
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||