Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 此类型定义是否处理空列表?_List_Haskell - Fatal编程技术网

List 此类型定义是否处理空列表?

List 此类型定义是否处理空列表?,list,haskell,List,Haskell,我正在回答Haskell的99个问题。然而,我已经到了他们定义类型的地步 data NestedList a = Elem a | List [NestedList a] 据我所知,它不会处理空列表(即[]) 但在他们的示例测试中,他们展示了 *Main> flatten (List []) [] 这种类型包括空列表吗?若然,原因为何 如果没有,并且这是网站的一个错误,那么如何编写处理空列表的嵌套列表类型呢?数据类型NestedList a包含类型Elem a的元素,或者类型list[

我正在回答Haskell的99个问题。然而,我已经到了他们定义类型的地步

data NestedList a = Elem a | List [NestedList a]
据我所知,它不会处理空列表(即
[]

但在他们的示例测试中,他们展示了

*Main> flatten (List [])
[]
这种类型包括空列表吗?若然,原因为何


如果没有,并且这是网站的一个错误,那么如何编写处理空列表的嵌套列表类型呢?

数据类型
NestedList a
包含类型
Elem a
的元素,或者类型
list[NestedList a]
的元素


首先,你似乎已经明白了。不过,第二个参数有一个
嵌套列表a
的列表(正常排序)。这可以是任何列表,包括
[]
。因此,
List[]
是一个有效的
NestedList
,就像
List[Elem 5]
,或者
List[Elem 5,List[Elem 3,Elem 2]

啊,谢谢你-我假设因为
List
声明中填充了某种东西,这意味着它是一个或多个。。。这在我写这篇文章的时候没有意义,因为它们只是类型。再次感谢。