所以我是Haskell的新手,我試圖定義一個最長爲4個元素的列表。 到目前爲止我有type IntL = [Int,Int,Int,Int]
但我想這樣做必須有一個更好/正確的方式。 是否有?定義一個列表可以在Haskell中的時間長度
1
A
回答
6
-1
基本的Haskell類型不如編碼列表的最大長度那麼強大。爲了做到這一點,你必須依賴諸如GADT和幻影類型之類的擴展,但它也不是簡單的。
如果你真的是新手,我建議你學習Monads,IO和其他成語的其他基本概念。
這個網站是一個初始的方法來Haskell的一個非常良好的閱讀:
+3
我已經低估了。答案似乎是不正確的(例如'Maybe(a,Maybe(a,Maybe(a,也許a))''是一個非常基本的Haskell類型,看起來很像一個最大長度的列表),並且評論將用戶重定向到monad,並且IO看起來不在我的目標中。 –
+0
公平。我的答案實際上是一個非答案,可能不是最適合Stackoverflow的答案,但我發現它更適合新手。 –
5
它可能看起來愚蠢的,它肯定不會擴展,但是怎麼樣
data Max4 a
= Empty
| One a
| Two a a
| Three a a a
| Four a a a a
與type IntL = Max4 Int
?這是基本的,你應該能夠理解它,並且通過對它進行操作你可以學到很多東西。
相關問題
- 1. 定時一個元素在列表中的時間長度
- 2. Haskell中未定義長度列表的二進制序列化
- 3. 是否可以在F#中定義列表的長度?
- 4. 以折線定義列表長度
- 5. 編輯另一個可變長度列表中的可變長度列表
- 6. Haskell中可以定義一個自定義防護機制嗎?
- 7. 在Haskell中創建指定長度的列表
- 8. 在Haskell中將相同長度的子列表打破列表
- 9. 在R中擴展指定時間長度的時間序列
- 10. 可以將兩個xml列表的長度定義爲要求相等嗎?
- 11. 自定義日期時間天長度
- 12. 是否可以在Puppet中定義一個定義的資源列表?
- 13. 如何在specman中聲明一個固定長度的列表?
- 14. 在Python中初始化一個特定長度的列表
- 15. 在xsd中定義最小長度列
- 16. 通過Haskell的QuickCheck生成特定長度的列表
- 17. 可以在html/css中調整定義列表的間距嗎?
- 18. 找出最長序列在一個字符串中的時間長度
- 19. 序言長度預定義列表
- 20. 在Python調用元件的一定長度以列表
- 21. Haskell中的中間列表
- 22. 我可以使IDataReader忽略列長度定義嗎?
- 23. 是否可以指定匿名類型的列表長度?
- 24. 確定客戶在數據庫表中的時間長度
- 25. 兩個類型列表可以在一個固定時間內拼接嗎?
- 26. SAS:我如何輸出一個顯示列名,最大長度和該列定義長度的表?
- 27. 給一個固定長度的選擇在數據列表
- 28. 可以在Jinja2中按長度排序列表嗎?
- 29. 在Haskell中過濾一個列表
- 30. 在Haskell中獲得一個子列表
'type IntL = [Int,Int,Int,Int]'根本不應該工作。 –
@BartekBanachewicz在GHC 7.10中,它建議啓用'DataKinds'以便利用類型到類型的提升。如果這樣做,那麼就得到'IntL :: [*]',即'IntL'是一個類型列表。不幸的是,這不是OP要求的。 – chi