gksato
今ちょっと気になったのですが、Haskellの型と関数の「圏」Hask って、
で定義すると本物の圏ですか?
f: a → b, g: b → c
に対して、f >>> g = f `seq` g `seq` \x -> g (f x)
で定義すると本物の圏ですか?
f: a → b, g: b → c
に対して、f >>> g = f `seq` g `seq` \x -> g (f x)
->
b に instantiateできる式の全体に適切な同値関係を入れたもの、とすれば射になるし、Hom(a,b) は a ->
b に型推論される式の全体に適切な同値関係を入れたもの、とするなら射にはなりません。後者とするなら undefined ::
a ->
b とか (\x -> undefined) ::
a ->
b を考える必要がありますね。