Maestumプログラミング、囲碁、読書の話題この広告は、90日以上更新していないブログに表示しています。Haskellがすこし進んできたので、ちょっと今まで出てきた概念と関連するところまで圏論について調べてみた。まごうことなき私的勉強メモ。Bool)などはHaskのObjectなのか?違うのだと思うが、Haskellにおいて関数は第一級な存在ではないのか?型クラスはこの体系だとどういう扱いになるのか?(まあ特定の性質を持つ型の集合みたいなものだろう)Haskに含まれる型というのは、あるプログラムで定義された型(preludeなどからimportしたものも含めて)のみなのか?それともHaskellという言語が扱い得る無限の型すべてが含まれるのか?対象間の射はmorphismやらmappingやらarrowやら別名が多く、Haskellだとarrowは別の意味を持つから云々とか言われると色々と思うところは多くなる。(無意味に難しくしてない?)律と則ってどう違うんだっけ?といったところ。疑問があってもとりあえず進んで、理解が深くないと難しそうだったら手戻りを惜しまない、という戦略で続けることにする。射F(f):F(X)->F(Y)に、以下の二つの公理が成り立つように対応させる。g)HaskellにおけるFunctorは型変数を含んだ形で定義される型でfmapが正しく定義されているFunctor型。Boolは含まないのでHaskの真部分集合であるFunctor型によって形作られるHaskの部分集合は、すべてのHaskの型と関数に対して1対1の単射でありえる(そうでないこともある)。aに対応させるFunctor。今のところは、概念はとりあえず納得できたけれども何の役に立つのかはいまいち実感がわかない。TFwHでモナドの話が出てくるのはけっこうあとのほう(たしか10章)なので、気長にやっていくつもり。右辺左辺どちらでも型変換が必要な可能性があるオ...ごくたまに暗黙の型変換が役にたつ時がある。)はてなブログをはじめよう!zehnpaardさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。