【发布时间】:2015-09-19 01:08:46
【问题描述】:
最近我一直在尝试一般问题,GHC 允许我做什么?我惊讶地发现,它认为以下程序是有效的
module BrokenRecursiveType where
data FooType = Foo FooType
main = print "it compiles!"
一开始我想,这有什么用?然后我想起 Haskell 是懒惰的,所以我可以定义一个类似下面的函数来使用它
allTheFoos = Foo allTheFoos
然后我想,那么这有什么用呢?
对于与FooType 类似的表单类型,是否有任何有价值的用例(构思或实际体验)?
【问题讨论】:
-
一个猜想:每一种现存的语言要么允许你做一些无用的事情,要么限制得如此之大以至于它作为一个整体是无用的。
-
@DanielWagner,我同意。