我没有在ML中做任何编程,但我正在研究函数式编程。 ML在一般情况下是非常特别的类型,但我想知道你是否可以做类型转换以解决其严格的类型限制?如果你不能,是因为ML想要减少错误类型的机会,还是只是没有实现?
答案 0 :(得分:3)
“类型转换”可能意味着很多不同的东西。至少有3种完全不同的用例:
在特定的不同类型(例如数字类型)之间进行转换。这在ML中可能通过各自的功能,他们只是不伪装成“演员”
从顶部类型(如Object
或void*
)来回滚动。这只是一种破解无法解决的类型系统。幸运的是,ML具有适当的参数多态性和代数数据类型,因此通常不需要这样。
做一些令人讨厌的低级技巧,完全颠覆类型系统。 ML通常不支持这一点,因为它被设计成一种安全的高级语言。
您对哪种类型的铸造特别感兴趣?为什么?