関数型プログラミング言語Haskell Part28 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0061デフォルトの名無しさん
2016/02/09(火) 22:06:42.84ID:T/GcQe87data Common = Cmn Int String
data Type1 = T1 {num :: Int, cmn :: Common}
data Type2 = T2 {name :: String, cmn :: Common}
これだと当然 cmn 関数が2つ定義されてるからコンパイルエラーになる。
これの回避策として、cmn 関数をメンバに持つ型クラスを作る方法があるが、
オブジェクト指向のクラスのように型クラスを使うのは何か違う気がする。
かと言って、あとは両者の cmn で名前を変える方法しか思いつかない。
そりゃ終域が同じでも定義域が違うのだから別の関数になる理屈は分かるが、
関数の意味は同じなんだけどなぁ・・・
どうしたものか。
何かいい案はない?
■ このスレッドは過去ログ倉庫に格納されています