haskell-ja > Archives > 2009/07/25

2009/07/25 02:01:47 UTCnwn
#
FRP げっとだぜ; http://hackage.haskell.org/package/peakachu-0.1
#
入れようと思ったら OpenGL のインストールでこけた
#
ライチュウのほうが絶対かわいい
2009/07/25 02:18:20 UTCikegami
#
ひひ
2009/07/25 02:19:07 UTC[1..100]>>=pen
#
> let m = Nil :: MyList Int in (m >>= return) == m
False
#
なんですう。
2009/07/25 02:26:22 UTCnwn
#
あ、そうか、instance Arbitrary (MyList a) で Nil が返らないようになってる
#
後で試してみるね
#
OpenGL のインストールがこけたのは -split-objs の仕業だった
#
instance (Arbitrary a) => Arbitrary (MyList a) where
    arbitrary = do
      lis <- listOf arbitrary
      return $ if null lis then Nil else My lis
#
monad laws:
  left  identity: +++ OK, passed 100 tests.
  right identity: *** Failed! Falsifiable (after 1 test):
Nil
  associativity:  +++ OK, passed 100 tests.
#
:-)
2009/07/25 02:50:53 UTC[1..100]>>=pen
#
サンキューです。
2009/07/25 02:53:17 UTCnwn
#
data MMMMaybe a = Nil | Null | None | Some a deriving (Eq, Show)

instance Monad MMMMaybe where
    return = Some
    Nil >>= _ = Nil
    Null >>= _ = Nil
    None >>= _ = Nil
    Some a >>= k = k a
#
pen さんの偽モナド見てたら思いついた
#
これも右結合則だけ成り立たない(はず。QuickCheckしただけ)
#
右結合則ってなんだ右単位元です
2009/07/25 02:56:00 UTC[1..100]>>=pen
#
お、いけそうですね。すごい。
#
これで2、3則の簡単な例そろったかな。
#
1、2則だった。
#
1則のみダメ、3則のみダメももっと簡単な例あるかな。
2009/07/25 03:07:43 UTC[1..100]>>=pen
#
今日は層圏トポス勉強会の日か。
#
私はトラポリン練習があるのでいけないけど。
2009/07/25 08:05:56 UTCikegami
#
cabal-install をようやくインストール中 (いつも Setup.(l)hs していた派)
#
さくさくインストールしてくれるのは助かるけど、既存の distribution の依存関係と仲良くしなきゃいけないから、それが心配かなー
#
まあいいや、皆が使ってる test-framework 便利だから、ぼくも sudo cabal install --prefix=/hoge test-framework するお
2009/07/25 08:15:15 UTCikegami
#
はいったお、嬉しいお (^^
2009/07/25 16:24:20 UTCnwn
#
Haddock はモジュールのヘッダに小見出しだけでもつけておくと後々いろいろと楽だなあ