【发布时间】:2011-05-04 15:29:31
【问题描述】:
假设,例如,我们有如下数据结构:
data Foo = Bool Bool | Int Int | Double Double
现在,有没有更简单的方法来做到这一点:
foo :: Typeable a => a -> Foo
foo x = maybe (error "i dunno") id $
liftM Bool (cast x) `mplus`
liftM Int (cast x) `mplus`
liftM Double (cast x)
有人想过为 Typeable 类型的模式匹配制定语法吗?
【问题讨论】:
标签: haskell syntax types dynamic-typing