haskell-ja > Archives > 2010/01/05

2010/01/05 09:53:35 UTC[1..100]>>=pen
#
haskell-jp ML にも話が出た RWH日本語版 P62の練習問題2
#
data TreeMaybe a = NodeMaybe a (Maybe (TreeMaybe a)) (Maybe (TreeMaybe a))
#
私が考えていたのは別の答えだったんですが皆さんはどうですか?
2010/01/05 09:58:46 UTCnwn
#
data TreeMaybe a = Fork a (TreeMaybe a) (TreeMaybe a) | Leaf (Maybe a) もありかなーと思いながら見てました
2010/01/05 10:02:09 UTC[1..100]>>=pen
#
constructor は一つにしないといけない問題なんです。
2010/01/05 10:50:05 UTCnwn
#
あ、そっか。じゃあ data TreeMaybe = Node (Maybe (a,(Maybe (TreeMaybe a)),(Maybe (TreeMaybe a)))) はどうだろう。これは空の木を表すことができる (Node Nothing) いかにも「練習問題の答え」という感じだけど
2010/01/05 14:55:07 UTCrst76
#
data Node a = Node a (Tree a) (Tree a) deriving Show
type Tree a = Maybe (Node a)
#
みたいなのも考えてみたのですが、
#
無駄に複雑な気もします。