名前
- 五十嵐 雄 (Twitter: @yu_i9 / GitHub: @yu-i9)
所属
- 京大情報学科計算機科学コース3回生
- CAMPHOR- 副代表
興味
- 型システム
class Show a where
show :: a -> String
共通の性質は「String へ変換できる」こと
その性質を表す関数は「show」
class Show a where
show :: a -> String
instance Show String where
show :: String -> String
show = id
> show "Type Class" --> "Type Class"
メンバ関数を具体的に実装することで
StringがShow型クラスに属する証拠を与える
class Show a where
show :: a -> String
instance Show String where
show = id
instance (Show a) => Show [a] where
show [] = ""
show [x] = show x
show (x:xs) = show x ++ ", " ++ show xs
> show ["Hello", "World"] --> "Hello, World"
Show型クラスの性質を再帰的に表現できる
instance (Show a, Show b) => Show (a, b) where
show (x, y) = "(" ++ show x ++ ", " ++ show y ++ ")"
> show ("hoge", "fuga") --> "(hoge, fuga)"