首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有类型的Haskell

没有类型的Haskell
EN

Stack Overflow用户
提问于 2012-05-25 02:22:34
回答 4查看 1.2K关注 0票数 12

在Haskell中可以禁用或绕过类型系统吗?在有些情况下,所有非类型的东西都可以像Forth和BCPL那样方便地输入,或者在Mathematica中是单类型的。我的思路是将所有内容声明为同一类型,或者完全禁用类型检查。

编辑:符合SO原则,这是一个狭窄的技术问题,而不是要求讨论不同编程方法的相对优点。要重新表达这个问题,“Haskell的使用方式是否可以使避免类型冲突完全是程序员的责任?”

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-25 02:41:30

还可以查看Data.Dynamic,它允许您在代码的部分中具有动态类型值,而不需要在整个过程中禁用类型检查。

票数 10
EN

Stack Overflow用户

发布于 2012-05-25 02:29:52

GHC7.6(尚未发布)具有类似的特性,-fdefer-type-errors

http://hackage.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime

它将把所有类型错误推迟到运行时。它并不是真正的非类型化,但它允许几乎同样多的自由。

票数 9
EN

Stack Overflow用户

发布于 2012-05-25 05:39:20

即使使用fdefer-type-errors,也不能避免使用类型系统。它也不允许类型独立。该标志的要点是允许具有类型错误的代码进行编译,只要Main函数不调用这些错误。特别是,当Haskell解释器实际调用任何类型错误的代码时,仍然会失败。

虽然Haskell中的非类型化函数的前景可能很诱人,但值得注意的是,类型系统实际上是语言的核心。代码在编译中证明了自己的功能,类型系统的刚性防止了大量错误的发生。

也许,如果你给出了一个具体的例子,你的问题,社区可以解决它。数字类型之间的相互转换是我以前问过的问题,有很多好的技巧。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10747703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档