そして、これがたまたま入ってないのか、何か理由があるのか気になる。自分が小一時間考えた限りは、Monoidの性質満たす気がするけど https://t.co/KfBBdk7q stackoverflowとかで質問してみようか
2012-01-31 01:04:30I posted a question "Scala PartialFunction can be Monoid ?" http://t.co/FdeyXEKJ :)
2012-01-31 02:21:05自分でつくった PartialFunction の Monoid (っぽいもの)を Scalaz の既存のテストを真似て確かめようとしたら、MonoidのテストしたいだけなのにEqualが必要で、Equalのinstanceがなくてあばばばばばばってなったので ↓
@xuwei_k I think Equal instance is required to check “associative law”. https://t.co/fvi720lP
2012-01-31 11:24:37最初の milessabin さんの回答に対して↓
あれダメなのか・・・?(´・ω・`)いろんな意味で全然理解出来ないな・・・もう一回ゆっくり考えよう http://t.co/FdeyXEKJ
2012-01-31 04:37:55A monoid less ordinary: http://t.co/DmmLeyb6 #scalaz #SO
2012-01-31 08:09:49@xuwei_k ナイスな質問と名回答ですね。少なくとも3種類のモノイドがあることが明快に示されていて参考になりました。同型写像で議論しやすい領域に変換する点とか素晴らしいですね。
2012-01-31 12:16:26@akihiro4chawon 圏論的知識 and 英語能力(どちらかというとこっちが) の不足で、というかretronymさんのほうの回答はまだ時間なくてまともに読めてないので、まったく理解できてません・・・(´・ω・`)
2012-01-31 12:21:00直接言及しているのは、first と last の二種類だけど、同型写像を使うという方針が示されているので、戻り値がモノイドである場合に、第3のモノイドができることがわかる。
2012-01-31 12:22:31@xuwei_k 英語とか大変ですよね。PartialFuntion の代わりに、戻り値がOptionの関数で考えると、xuwei さんの提案は (orElse ) はFirstOption の場合に相当すると言ってくれてる、と私は理解しました。
2012-01-31 12:26:21#Coq Proof for "PartialFunction is Monoid" http://t.co/mhTVMsPT QT @xuwei_k I posted a question "Scala PartialFunction can be Monoid ?"
2012-01-31 13:54:50http://t.co/SZLBjMGq は結局、PartialFunction[A, B]はA=>Option[B]と同型だから、A=>Option[B]がモノイドな事を示す→Monoid[Z]が与えられた時にMonoid[A=>Z]が作れるので、この時にA=>Zはモノイド→
2012-02-01 00:45:03Option[B]がモノイドならばA=>Option[B]もモノイドと言えるのでOption[B]のモノイド例を3つ示す。で、 @xuwei_k さんの考えは2つ目って感じ?かなぁ。英語難しい><
2012-02-01 00:46:55Haskellには、ScalaのPartialFunctionにあたるものが直接的にはない(?)だろうし、OptionとLazyOptionの違いとかそのあたりもデフォルト遅延評価なのでScalaと違ってくるし、Haskellを参考にしようとしても色々違っていて難しい
2012-02-01 00:53:58そのために、FirstとLastと2種類のOption があるのか https://t.co/G1A5k2Py Monoid自体は可逆性を持つとは限らない(a・b≠b・a)から、結合の順番によって違う種類のものができると
2012-02-01 01:04:45こんな発言したけど https://t.co/Dq8U0rDB FirstとLastをMaybeのNewtypeとして定義するって完全にHaskellと同じじゃないか https://t.co/KJSip8vS Haskell由来・・というか既にあったから命名規則は踏襲したのかな
2012-02-01 01:35:53