Haskell

The History of Haskell, Simon Peyton Jones, Paul Hudak, John Hughes, and Philip Wadler

最近久しくHaskellを触っていないわけですが、こんな論文(?)見つけました。まだまったく読んでないです。 どうやらHistory of Programming Languages Conference*1という集まりがあるらしく、本稿はその2007年に投稿したものみたいです。まだドラフトなので…

JParsec

これまで知らなかったのだけど、ParsecのJava版であるJParsecというものがあるみたい。 確かに、Parsec使うときって、do記法使ってゴリゴリみたいなイメージだからJavaで使っても結構うれしいのかもしれない。

Haskell本

ふつうのHaskellプログラミング、2005年度内発売予定 おおお!今年度内ってことは結構もうすぐ出るんですね.

The Mini-Haskell Partial Evaluator

めも

union,unionBy

Listの中の union :: (Eq a) => [a] -> [a] -> [a] union = unionBy (==)unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs となっているがunionという名前をつけるならunionByを (n…

リストからあるものと一致する全ての要素を取り除く関数deleteAllは deleteAll :: (Eq a) => a -> [a] -> [a] deleteAll x = delete x . nub とするのがいいのかな。

List.hs

今度はHaskellライブラリのList.hsを読んでいるのだがdelete関数はなんでdeleteFirstという名前じゃないんだろう?まわりの関数名から見ていくとdeleteFirstの方が適切な名前のような気がするんだけど。deleteFirstsByと紛らわしいからだろうか? それと(\\)…

Prelude.hs

なんとなくhugs/Prelude.hsを読んでいたら otherwise :: Bool otherwise = True となっていた。otherwiseがTrueと定義されているのは恥ずかしいけど知らなかった。。。まあ当たり前のことか

Haskellソース読み

酒井君のアドバイスから、Lazy Depth-First Search and Linear Graph Algorithms in Haskellを読んでみる。 色々なところでつまづいてしまい、まだ読み終わっていないのだがHaskellプログラムの組み方などで参考になる部分が多い。 さらに、本論文で登場する…

Code Reading読んでソース読みの大切さを改めて痛感。そこで、なにかいいHaskellコード知っている方がいたら教えてください。やっぱGHCなのかなぁ。もうちょっと規模の小さいソースがいいです。