言語

MonadとComprehension

HaskellでのMonadの解説を見ると、どれも先にMonadの意味からはいっている。そうじゃなく、先にComprehensionの理解をさせて(素数生成とか)、その後でList Monad、その他Monad、Monadそのもの、といった順にやっていくほうが理解しやすいんじゃないかと思…

C#3.0とLINQ

LtUのこの記事から。 http://lambda-the-ultimate.org/node/view/967 LINQは.NETのクラスに特定のメソッドを用意させることで、 var q = from c in Customers where c.City == "London" select c;という式を埋め込め実行できるようにするもの(実際はCustome…

Concurrent Cleanの一意型まわり

一意型 型宣言で、*Stateのような一意型やその他型属性はGame Libarayにいっぱい出てくるんで悩みどころでした。こちらを見てたからわからなかったけど。 http://sky.zero.ad.jp/~zaa54437/programming/clean/CleanBook/part1/Chap4.html#sc11 こっちのほう…

Camlp4

http://caml.inria.fr/pub/docs/tutorial-camlp4/ http://caml.inria.fr/pub/docs/manual-camlp4/ Camlp4はOCaml組み込みのプリプロセッサ作成機能。多段階で拡張できるようだ。 OCaml本: http://caml.inria.fr/pub/docs/oreilly-book/

CSP

http://vl.fmnet.info/csp/ http://www.usingcsp.com/cspbook.pdf 並列プロセスの代数モデル。Monadでも実装可能。

Concurrent Crean 1部3章続き

代数データ型 :: Day = Mon | Tue | Wed | Thu | Fri | Sat | Sundatatype。列挙する。多相ツリー型 :: Tree a = Node a (Tree a) (Tree a) | Leafツリーデータ Node 7 (Node 3 (Node 5 Leaf Leaf ) Leaf ) Leafパターン形式の関数定義 sizeT :: Tree a -> I…

Concurrent Clean 1部3章つづき

正格に http://sky.zero.ad.jp/~zaa54437/programming/clean/CleanBook/part1/Chap3.html 関数foldrとは対照的に、要素は、foldlによって、リストと比較してちょうど逆順にグループ化される。関数foldlの定義はこのように書くことができる。 foldl :: (a->(b…

CONCURRENT CLEAN 1部3章

「リストの比較と整列」で リストに関する==の定義について、多重定義演算子==の新しいインスタンスは以下の型で定義されるべきである。instance == [a] == a where (==) infix 4 :: [a] [a] -> Bool | == a これは、==はリスト要素についても定義されている…

Concurrent Clean1部2章

Cleanの2項演算子には優先順位と、結合順序(左(infixl)、右(infixr)、未(infix))があるのか。 (%) infixl 7 :: Int Int -> Int (%) n m | n < m = n | otherwise = (%) (n - m) minfixlは 5 % 3 % 2が(5 % 3) % 2になるもので、infixr なら5 % (2 % 3)、i…

IBM dW : XML : XJによるXML処理の単純化 - Japan

http://www-6.ibm.com/jp/developerworks/xml/050805/j_x-awxj.html いまいちですね。やっぱり処理側の拡張が無いと辛いか。この面でCωは優れている。でもいまだにPolyphonic C#とXenを組み合わせたいいアプリケーション例が思いつかない。

An overview of the Atom 1.0 Syndication Format

http://www-128.ibm.com/developerworks/xml/library/x-atom10.html Atom1.0ならこういうこともできますよーって話。 例にはFOAFやPodcastingもあってそういうところがいい。