2006-10-01から1ヶ月間の記事一覧
今更ながらフォントをメイリオに変更した。 以前試みた時にはClearTypeを有効にすることを知らかったため、 汚いじゃんと思ってずっと放置してたのです。馬鹿みたいな話。 手順 こちらからDL meiryo.ttc と meiryob.ttc を C:\WINDOWS\Fonts\ にコピー 画面…
フェルマーの最終定理 (新潮文庫)作者: サイモンシン,Simon Singh,青木薫出版社/メーカー: 新潮社発売日: 2006/05/30メディア: 文庫購入: 105人 クリック: 1,697回この商品を含むブログ (575件) を見る 文庫化してたので買ってみた。これは熱い。正直、ここ…
特定のエントリだけプライベート(自IDでのみ見られる)にできたらいいのに。下書きにも自分用メモにも使えるように。プライベートカテゴリなんかもあると便利だなぁ。
久しぶりに結城浩氏のデザパタ本読み返したんだけど、委譲を使ったAdapterの例で、インターフェースとして使っているクラスを敢えてインターフェースではなく抽象クラスとして定義してるのには何か意味があるんだろうか。abstractじゃないメソッドとかが入っ…
つかれた('A`)簡単なWebアプリは今までPHPでやってたけど、eRubyってのを見て、なんだこれ使えば今までPHPでやってたのも全部Rubyでやればいいじゃんって思った。で、流行ってるしRuby on Railsをちょろっと触ってみることに。まず今までほとんどデフォの設…
定義をド忘れしてた。 foldl :: (a -> b -> a) -> a -> [b] -> a foldl f z [x1, x2, ..., xn] == f (.. (f (f z x1) x2)..) xn == (..((z `f` x1) `f` x2)..) `f` xn foldr :: (a -> b -> b) -> b -> [a] -> b foldr f z [x1, x2, ..., xn] == f x1 (f x2 .…
モナドのすべてとりあえず第一部を読んだ。最後の節、「Haskell におけるモナドのサポート」がなかなか重い。 メモ。 do記法はあらゆるモナドに適用できる。 でもあくまで、モナド計算を命令型っぽく書くための syntax sugarである。 doの中でパターンマッチ…
>>= を、(>>= f) という、右辺を部分適用させたセクション単位で考えると見やすいかもしれない。 f :: a -> m b ならば (>>= f) :: m a -> m b >>= を、上のように、「(a -> m b) な関数に被せて (m a -> m b) という関数を作る仕組み」だと考えるんである。…
「Hotmail」から子音を抜き出すと「HTML」になるのか! 今さら気づいた!!!!!!あまり良いイメージ無かったけど、このセンスはなんか憎めない!
先々週あたりから、突然Googleの検索結果がタイトルしか表示されなくなって、もの凄い不便だった。 IEでは普通に見れたので疑問に思いつつも、代わりにはてな検索とYahoo!を主に使っていたのだけれど、昨日やっと原因が判明。Firefoxの拡張、Googlepedia(Go…
ひとつの話題について、複数のエントリで語るといったことはよくある。それらをまとめるための仕組みとしてカテゴリがあるわけだが、なんというかカテゴリとして扱うほどでもない程度の、3つか4つぐらいで完結するようなエントリのセットというものがある…
ネット上の著作権侵害、「引用」と「要約」このブログ自体がふつけるの内容に思いっきり触れてるのでどうなんだろうと思って調べてみた。要約も著作権に触れるのですね。原書を読まなくても内容が分かるような要約は著作権法上の「翻案」に当たり、著作権者…
今回は関数型言語ではなく、オブジェクト指向の話。サブクラスを「部分クラス」と訳してある本を見て、はじめ違和感がありました。 だって、サブクラスっていうのは、スーパークラスがまずあって、その上に新たなフィールドやメソッドを実装したりしたものじ…
$ php -r "echo md5('');" d41d8cd98f00b204e9800998ecf8427eなんとなく覚えてたおかげで、空文字の場合はエラー処理になるべきところでそのまま進んでたー、というバグ発見に役立ちました。ググるといろいろ引っかかりますね。
にわかな奴ほど語りたがる詰め込んだ知識を、自分の口で言ってみることで再確認する行為っていうのはかなり一般的なものだと思います。新しく知った言葉とかは積極的に使いたくなるものです。特に、難しげな言葉(多元的無知とか)は、知ってから忘れるまでに…
ふつけるはとりあえず終了。3部はまた後で時間取ってゆっくりやろう。
import [qualified] モジュール名 [(インポートリスト)| hiding (ハイディングリスト)] [as エイリアス] 明示的にPreludeのimport宣言をしない場合は、暗黙的に「import Prelude」が宣言される インポートしたエンティティは、import宣言を書いたモジュール…
module モジュール名 [(エクスポートリスト)] where -- []内はoptional 他のモジュールにインポートできるようにする module宣言を省略すると、「module Main (main) where」が補われる。 エクスポートリストを省略すると、すべてのエンティティがエクスポー…
エンティティの名前空間がモジュールごとに分かれている エンティティ 変数 型コンストラクタ データコンストラクタ フィールドラベル 型クラス クラスメソッド
Haskell Hierarchical Libraries
まだ完全には消化できていないので、とりあえず思ったことだけつらつらと。 モナドの前に、まずは型クラスをちゃんと理解しよう EqとかOrdみたいな単純なものは、それ自体がデータとしての意味をもつ型を対象にした型クラスだけれど、Monadは「型パラメータ…
Eq : 同値関係が定義できる Ord : 順序関係が定義できる Show : 文字列に変換できる Read : 文字列から変換できる Num : 数値型 Integral : 整数型 Numのサブクラス Fractional : 小数型 Numのサブクラス
Java等のクラスとは違い、特定の型コンストラクタの集合を定義する。 多相型に制約をつけるためのもの アドホック多相: 制約のついた多相性 パラメータ多相: 制約の無い多相性 クラスメソッド 型クラスを特徴付ける関数 ある型クラスに属する型は、その型ク…
data宣言 新しい型を定義する data 型コンストラクタ 型変数1 型変数2 ... = データコンストラクタA 型A1 型A2 ... | データコンストラクタB 型B1 型B2 ... | データコンストラクタC 型C1 型C2 ... : 型コンストラクタとデータコンストラクタの名前空間は別…
型 = 値の集合 型推論 「::」構文による型宣言 多相型: 型変数を含む型