2015-04-25 02:36:30 +0000 <songzh_> SYB也可以用业实现通用的show函数
2015-04-25 02:36:50 +0000 <Javran> 好像syb里也提到过top-down bottom-up什么的
2015-04-25 02:37:23 +0000 <songzh_> 对的,那个就是从上而下,如果类型满足,就应用函数,如果不满足就保持不变。
2015-04-25 02:37:36 +0000 <Javran> ok
2015-04-25 02:38:17 +0000 <Javran> 我总觉现在还不是很好想像这个会用在什么地方
2015-04-25 02:38:52 +0000 <Javran> 感觉generic了之后大部分类型签名就非得自己写了
2015-04-25 02:39:01 +0000 <songzh_> 这就是问题啦,你自上而上的这个data必然是一堆类型复合起来的,你每个类型都要是Data,Typeable的实例,有3、5个还好,有10几个要写10几次就不爽了。
2015-04-25 02:39:25 +0000 <Javran> 不过这个好像是自动的吧
2015-04-25 02:39:27 +0000 <songzh_> 用还好,造API的话就大部分都要 写了。
2015-04-25 02:39:52 +0000 <songzh_> 自动的你只能一个data定义一个data定义的derive,我要top-down derive
2015-04-25 02:40:14 +0000 <Javran> 哦我知道了
2015-04-25 02:41:30 +0000 <Javran> 确实感觉平常写的都玩具代码,很少有复杂的结构
2015-04-25 02:41:51 +0000 <Javran> 似乎除了玩以外就没用过generic一类的东西的样子
2015-04-25 02:42:33 +0000 <songzh_> https://github.com/HaskellZhangSong/TemplateHaskellUtils/blob/master/src/Language/Haskell/TH/Utils…
2015-04-25 02:42:36 +0000 <Javran> 哦对,有没人想合作写写啥东西呢
2015-04-25 02:43:04 +0000 <songzh_> 玩TH的时候就要搞Haskell的语法,你看看那一堆蛋疼的deriving instance就知道了。
2015-04-25 02:43:14 +0000 <Javran> 23333
2015-04-25 02:43:20 +0000 <Javran> 我看到你那个sorry的注释了
2015-04-25 02:44:03 +0000 <songzh_> 很明显,那堆空Out类型类可以自上到下生成。
2015-04-25 02:44:05 +0000 <Javran> 等等怎么magichash都用上了..
2015-04-25 02:44:31 +0000 <Javran> 顺便话说unlifted和unboxed到底啥区别
2015-04-25 02:44:38 +0000 <songzh_> 那个是Haskell下面的NameFlavour用了,我就得跟着用。
2015-04-25 02:45:13 +0000 <songzh_> 就是原始的类型吧
2015-04-25 02:45:23 +0000 <songzh_> 没有指针
2015-04-25 02:46:00 +0000 <Javran> 我记得在什么地方看到过,不过好像看了还是不太明白..
2015-04-25 02:46:02 +0000 <songzh_> 不是通过指针分配在堆上的。
2015-04-25 02:46:03 +0000 <Javran> 我找找看..
2015-04-25 02:47:17 +0000 <Javran> https://downloads.haskell.org/~ghc/latest/docs/html/libraries/ghc-7.10.1/Type.html
2015-04-25 02:47:53 +0000 <Javran> 那个表搞得我有点混乱..
2015-04-25 02:49:46 +0000 <songzh_> 如果不是指针表示的,那么就是unlifted
2015-04-25 02:50:10 +0000zhangjun_(~zhangjun@218.82.187.115)
2015-04-25 02:50:24 +0000 <Javran> ok
2015-04-25 02:50:29 +0000 <Javran> 那unboxed呢?
2015-04-25 02:50:46 +0000 <Javran> 等等我看看
2015-04-25 02:51:25 +0000 <Javran> 哦哦哦我知道了