摘要: 前面给了一个Product的等价表示,还有一种是Sum的。同样的先给出两种表示。表示:data S a b = L a | R b等价的表示:newtype S' a b = S' { unS' :: forall r. (a -> r) -> (b -> r) -> r }证明:这里对于S’,f... 阅读全文
posted @ 2015-03-23 23:45 wehu 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: 这里我想讨论下一些haskell类型的等价表示。对于一个类型我们可以给出不同的表示。通常我们会使用所谓代数数据结构,但是其实那不是必须的。我们需要的是函数,以及RankNTypes。表示:通常我们使用data定义一个product如下。data P a b = P a b等价的我们可以用一个函数类型... 阅读全文
posted @ 2015-03-23 18:06 wehu 阅读(422) 评论(0) 推荐(0) 编辑