- 论坛徽章:
- 2
|
回复 47# Monox
其实自己相比动态类型更喜欢静态类型一些。学Haskell的原因之一也是动态类型语言用多了总感觉有点心虚于是想找一个静态类型的语言来学。。。
而前面对Haskell静态类型的那些言论主要是为了避免自己盲从一些新技术。
除了它本身是什么之外,还包括它意图解决的问题、适合的领域、和其他解决方案的比较等等。
可能是C++留下的习惯吧,如果总想把学到的东西尽可能地用上,一般来说最终是会倒霉的。。。
关于选择Text.XML.Light。
因为当时需要解析darcs的输出,于是根据这里的推荐:
I would recommend:
xml, if your task is simple
haxml, if your task is complex
hxt, if you like arrows
hexpat if you need high performance
没有多余的时间一个一个尝试而选了(他说的)最简单的那个。。。
关于统一处理,我的意思这样的。
如果有一套函数能统一地将[(k,v)],Map k v,以及xml里的attributes等等当作关联性容器处理而不是分别使用Prelude.lookup, Data.Map.lookup或者Text.XML.Light.Proc.findAttr各自一套,那么根据问题领域定义不同的类型也没什么问题。
所以才提到type class。
而Arrow不是解决这个问题的吧? 还是我理解错了? |
|