トップページ > プログラム > 2014年09月06日 > k4mTz2ku

書き込み順位&時間帯一覧

31 位/219 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000000010002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part26

書き込みレス一覧

関数型プログラミング言語Haskell Part26
146 :デフォルトの名無しさん[sage]:2014/09/06(土) 10:22:32.78 ID:k4mTz2ku
>>145
有り難うございます。wikipediaの説明が難しかったので、他の解説を探したのですが、下記のような説明を見つけました。

―――――――――――――
http://kinokkory.hatenablog.com/entry/20131203/p1#f-4c58ff88
同型というのは、ふたつのデータ型がある意味で同じものとしてみなせるということです。
AとBが同型であるとは、

・関数 f :: A -> B と g :: B -> A が存在する。
・g . f が A についての恒等関数であり、f . g が B についての恒等関数である。
―――――――――――――
ところで上記の説明の2つ目の条件と、「一対一対応する」は微妙に違うと思うのですが、どうでしょうか.
data Fruits = Apple | Banana | Strawberry
data Number = One | Two | Three
f :: Fruits -> Number
f Apple = One
f Banana = Two
f Strawberry = Three
g :: Number -> Fruits
g One = Banana
g Two = Strawberry
g Three = Apple

― f . g /= id
関数型プログラミング言語Haskell Part26
151 :デフォルトの名無しさん[sage]:2014/09/06(土) 20:37:15.28 ID:k4mTz2ku
>>150
diagramsです!
http://projects.haskell.org/diagrams/gallery.html


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。