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

($) is apply

10 章の DETAILS に "The operator ($) is …. In other words it is the ``apply'' operator" という記述を発見。なんと! ($) は apply だったのかっ!Exercise 9.4 のことをおもいだし、うわ、こんな簡単な答えになるよってんで感動。 applyEach fs v = ma…

Exercise 9.9

fix 関数の型はどんなものかってのと、 fix を使って remainder を再帰でない形に書き直しなさいって問題。 fix と remainder の定義はそれぞれ以下のとおり: fix f = f (fix f) remainder :: Integer -> Integer -> Integer remainder a b = if a < b then …

Currying

9.1 Curring, More About Higher-Order Functions, "Haskell School of Expression" から引用。 This method of applying functions to one argument at a time, yielding intermediate functions along the way, is called currying, after the logician Ha…

foldl foldl が principal type を持てないわけ

foldl の型は: foldl :: (a -> b -> a) -> a -> [b] -> aこれの第一引数を foldl で束縛しようとすると何が起きるかを考えてみる。第一引数に束縛できるはずなので foldl を (a -> b -> a) にマッチさせなければならない。 foldl の型を三つの部分に分解する…

カリー化された高階関数の型

SOE の Exercise 5.2 は、部分適用済み高階関数の型を問う問題。 map map foldl foldl map foldl公式サイトの Errata に foldl foldl は principal type がなかったごめんという訂正があったので実質二問。いずれにせよ、さらっと流せない難しい問題と感じた…

School of Expression

The Haskell School of Expression (通称 SOE) という書籍を大購入して読み中。なかなか楽しい。http://www.haskell.org/soe/software1.htm にて SOEGraphics (旧称) モジュールの最新版が配布されている。インストラクションにしたがって 6.8.2 Haskell を…

ZeroMemory を使うと CRT とリンクされる

ZeroMemory や CopyMemory などの Win32 API は CRT (C Runtime Library) の呼び出しに置き換えられる模様です。 // Winbase.h より抜粋 #define MoveMemory RtlMoveMemory #define CopyMemory RtlCopyMemory #define FillMemory RtlFillMemory #define Zero…

unresolved external symbols

1>entry.obj : error LNK2019: unresolved external symbol ___security_cookie referenced in function _wWinMain@16 1>entry.obj : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _wWinMain@16 1>entry.o…