top page > computer > haskell > web_lecture > for_programmer > make_type_class.html
更新日:
文責: 重城良国

型クラスを作る

(工事中 0%)

はじめに

型クラスとは何か。それを考えるよりもまずは簡単な型クラスを作ってみよう。

真か偽か

真か偽かという問題はなかなかにやっかいな問題のようだ。各言語で真と偽の境界は異なっている。以下のブログに「まとめ」がある。

昼メシ物語: 各言語におけるtrue/falseまとめ

とくにPHPはひどいことになっている。偽になるものリストは以下のようになるらしい。

...( ゚д゚)

Haskellっていいね

if文の条件部分に確けるのはBool型の値FalseとTrueだけなのでなんの問題もない。

「わかりにくく」したい

Haskellって本当わかりやすいなぁ。逆にわかりにくい他の言語がうらやましいっすよぉ。

わかりにくいルール

条件分岐関数iffを作ってわかりにくい条件で分岐してみましょう!偽となる条件を以下のようにする。

(2要素以上のタプル値は真とする)

型クラスBoolLike

Boolに類似した機能を持つという性質を表す型クラスBoolLikeを作成する。

煩悶

むむむ...何がいいかな?スタッククラスとかどうかな。いまいちかな。簡単な例ほど作るのが難しいな。難しい例を作るのは簡単だけど。意味のある例は難しくなるけど、意味のない例はつまらないし、かえって理解をさまたげるということもある。a -> Boolとかそんな感じかな。たとえば整数と文字とブール値に共通する性質には何かあるかな。

BoolLikeとかどうだろうか。たとえば0, 0.0, '0'を偽とするとか。これが良さそうだな。

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics