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 を考える必要がありますね。