是否可以在Haskell中禁用或解决类型系统?在某些情况下,如Forth和BCPL中的所有类型都非常方便,或者像Mathematica中那样单一化.我正在考虑将所有内容声明为相同类型或完全禁用类型检查.
编辑:根据SO原则,这是一个狭隘的技术问题,而不是讨论不同编程方法的相对优点的请求.重新解释一下这个问题,"Haskell的使用是否可以避免类型冲突完全是程序员的责任?"
GHC 7.6(尚未发布)具有类似功能-fdefer-type-errors:
http://hackage.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime
它会将所有类型错误推迟到运行时.它不是真正的无类型,但它允许几乎同样多的自由.
即使fdefer-type-errors有人也不会避免使用类型系统.它也不真正允许类型独立.标志的要点是允许编译具有类型错误的代码,只要该Main函数不调用错误即可.特别是,当Haskell解释器实际调用时,任何具有类型错误的代码仍然会失败.
虽然Haskell中无类型函数的前景可能很诱人,但值得注意的是类型系统确实是语言的核心.代码在编译时证明了它自己的功能,类型系统的刚性可以防止大量错误.
也许如果你给出了你所遇到的问题的具体例子,社区可以解决它.数字类型之间的相互转换是我之前提出过的问题,并且有很多好的技巧.