タグ

難しいに関するpeketaminのブックマーク (3)

  • 合成できるモナド、モナドが合成できる時 - Milestones to EVERPEACE 〜alius via〜

    (今回のコードは github:everpeace/composing-monads にあります。) 一般に、モナドって合成できないって言われますよね。 でも、モナドって合成できる場合も有るんです。 今回はまず、合成が難しい(できない)理由を説明して、 じゃぁ「モナドが合成できる時」はいつなのか? というのと「合成できるモナドたち」をちょっとだけ紹介してみます。 それにはまず、ここから始めましょう。 モナドをflatMapじゃなくてflattenで定義してみる。 flatMapで定義されるモナドのおさらい Mというモナドは次の用に定義されます。 trait Functor[F[_]]{ def map[A,B](fa:F[A])(f:(A) => B):F[B] } trait Monad[M[_]] extends Functor[M]{ def unit[A](a:A):M[A] de

    合成できるモナド、モナドが合成できる時 - Milestones to EVERPEACE 〜alius via〜
  • ベックの法則と複合モナド - 檜山正幸のキマイラ飼育記 (はてなBlog)

    連休で疲れて、いまいち気力に欠けるんですけど … けど、モナドの話をします。2つのモナドを複合(合成)する、という話題。ある程度モナドに慣れている人向けかもしれない。 (F, μ, η), (F', μ', η') が同じ圏上の2つのモナド(μ, μ'はモナド乗法、η, η'はモナド単位)であるとき、関手としての結合F;F'(反図式順で書くならF'・F)が再びモナドになるかどうか?つまり、F;F'とうまく適合する乗法と単位を定義できるかどうか? これについては、1960年代にベック(Jon Beck)が詳しく調べていて、事情がハッキリとわかっています*1。 で、実際に“複合モナドを構成可能な2つのモナド”の具体例を出します。この実例に対してベックの法則*2や、複合の方法を紹介します。しかし、複合がうまくいく内的なメカニズムまで説明できそうにありません。グチャグチャした複雑な等式を天下りに出

    ベックの法則と複合モナド - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 【ためになる】 口に指くわえてピューーイッって鳴らすのってどうやんの? 教えてくれ!!!!!!!!!!!!!|気になるニト速

    1 :以下、名無しにかわりましてVIPがお送りします 2012/06/19(火) 18:43:13.48 ID:PYH7ITwG0 外国のなんかの試合で観客が よくピュピィーーユッってすごい音で鳴らしてんだけど どうやってんの? できるようになりたいんだけど 俺がやるとフシューって空気が漏れるだけだ コツを教えてくれ 3 :以下、名無しにかわりましてVIPがお送りします 2012/06/19(火) 18:44:07.79 ID:nVVh3ZgD0 ベロを折って、その上に輪を乗せる 7 :以下、名無しにかわりましてVIPがお送りします 2012/06/19(火) 18:45:07.10 ID:UX40vOIL0 >>3 できたワロタwwww 9 :以下、名無しにかわりましてVIPがお送りします 2012/06/19(火) 18:46:14.60 ID:PYH7ITwG0 >>3 できねえ

  • 1