2006-06-01から1ヶ月間の記事一覧

引数の順序

cf. 結城浩のHaskell日記 - type宣言とりとめもない話なんだけど。 エントリのなかに isPrefixOf という関数がでてくる。 xs `isPrefixOf` ysは文字列 xs が ys のプレフィックスである時に True を返すんだけど,この xs と ys の順序について。 上のように…

『ふつうのHaskellプログラミング』

夕べ帰ったらAmazon.co.jpから届いていた。ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門作者: 青木峰郎,山下伸夫出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/06/01メディア: 単行本購入: 25人 クリック: 314回こ…

Haskellグループに参加

結城浩のHaskell日記にコメントをつけようとしたら,グループに参加しろと(はてなが)言うので参加してみた。 せっかくなので Haskellリング にも参加。 みなさん,よろしくお願いします。

高階関数版 filter'

下のエントリは前段でこっちが本題。id:hyukiさんとこにコメントをつけたんだけど,忘れないようにこっちにも書いておく。 filter' f xs = foldr (\m n -> if f m then m:n else n) [] xs結果。 *Main> take 50 $ filter' odd [1..] [1,3,5,7,9,11,13,15,17,…

major

リスト中に,関数 f(述語って言うの?)を満たす要素のほうが多ければ True をかえす,というのを考えた。all と any の中間みたいなもの。 major f xs = (length $ filter f xs) > (length $ filter (not . f) xs)結果。 *Main> major odd [1..5] True *Ma…

はてなグループとコメントについて

id:takatoh:20060604:group についた hyuki さんのコメント。 参加ありがとうございます。ところで、コメントつけるときに「グループに参加」というのはどういう状況でしたか?いちおう誰で も書き込めるようになっていたはずですが…。 たぶん,はてなにログ…

レコード

レコードは代数的でないデータ型。C の構造体のようなもの。うまい例を思いつかないから,本に載ってるのをそのまま書くとこんな感じ。 data Point = Pt {x :: Integer, y :: Integer}x,y をフィールドといい,それぞれ Integer 型の値を取る。具体的に値を…

型シノニムと新しい型

型シノニム(type synonym)とは,既存のデータ型に別名をつけるというもの。String が [Char] であるのがよい例。 型シノニムを宣言するには type 宣言を使う。 type String = [Char] newtype 宣言は「新しい型」を宣言する。type 宣言と data 宣言の中間的…