定义Haskell中列表的长度

Neo*_*ets 1 haskell list

所以我是Haskell的新手,我正在尝试定义一个最长为4个元素的列表.到目前为止,我有,type IntL = [Int,Int,Int,Int] 但我认为必须有一个更好/正确的方法来做到这一点.在那儿?

Bar*_*icz 6

这在Haskell中是有问题的,因为幻像类型编码大小需要适当的编译器支持(否则使用起来非常烦人),并且GHC中的类型nat最近出现了一些.

据说存在 ,只是为了给你一个想法.

或者,只需使用元组.

  • 这取决于.4个元素的列表和MAXIMUM 4个元素的列表之间存在很大差异. (6认同)

Car*_*ten 5

它可能看起来很愚蠢,它肯定不会扩展,但是怎么样

data Max4 a
   = Empty
   | One a
   | Two a a
   | Three a a a
   | Four a a a a
Run Code Online (Sandbox Code Playgroud)

type IntL = Max4 Int?它是基本的,您应该能够理解它,并且您可以通过在其上实施操作来学习很多东西.