8
A
回答
8
沒有區別。有人可能會認爲沒有提到的類型變量在頭將需要在構造函數簽名使用它們不同的名稱,如:
data A :: * -> * -> * where
AN :: Num x => x -> b -> A x b
AS :: IsString s => s -> b -> A s b
然而,隨着the GHC Users Guide說...
與Haskell-98式數據類型聲明不同,
data Set a where
頭中的類型變量沒有作用域。
...等等這也適用:
data A a b where
AN :: Num x => x -> b -> A x b
AS :: IsString s => s -> b -> A s b
相關問題
- 1. 在C++中,說變量具有類型右值引用是否有意義?
- 2. 驗證輸入變量的名稱是否有意義?
- 3. 檢測是否變量是sympy類型
- 4. onkeydown類型的事件在服務器端是否有意義?
- 5. 在drupal中,是否有可變數量值的字段類型?
- 6. forward_iterator模板類是否有意義?
- 7. 即使定義了變量,變量也沒有類類型
- 8. 是否有任何有意義的用例將未定義的變量賦值給變量?
- 9. 在Swift中聲明函數類型的變量有什麼意義?
- 10. 在Ruby類中定義的普通變量是什麼意思?
- 11. 檢查變量的類型是否是Python中的特定類型
- 12. 是否有可能不在類頭文件中包含類變量?
- 13. 類變量是否可變?
- 14. 如何確定變量是否是C#中的類型引用?
- 15. 歧義類型變量
- 16. 是否有比BigInteger更大的變量類型?
- 17. 召回是否在2類分類任務中有意義?
- 18. TypeRep與「類型」GADT之間的關係
- 19. 在CodeIgniter的模型中加載視圖是否有意義?
- 20. 從backbone.js中的DOM初始化模型是否有意義?
- 21. C#類變量的定義類型
- 22. 是否有類似於mysql中的oracle rowtype的類型定義
- 23. C++:隱藏子類中的成員。是否有意義?
- 24. 在groovy中定義變量類型
- 25. Rank2Types/RankNTypes沒有多類型變量是否可行?
- 26. 使用一個隱含類型種姓是否改變變量的類型?
- 27. 在TypeScript中,選項或可選類型(選項<T>)是否有意義?
- 28. 如何找出文件是否在File類型的變量中?
- 29. 是否有意義定義const scope_refptr()?
- 30. 打字稿泛型類型的所有變量定義
非常好的問題。這是我的寵兒 - 我總是想知道爲什麼我們需要命名索引時,名稱似乎在其他地方不相關。這與在Agda/Coq等依賴系統中使用的歸納類型中的索引與參數非常不同。 – chi
請注意,相反,在類型族中,我們確實在類型族A :: * - > * - > *'和類型族A a :: * - > *'之間存在差異 - 第一個允許例如'A Int Bool = Char; Int Char = Bool「,而後者不是,只允許例如'一個Int =也許'。 (儘管在'type family a a * * - > *'中,'a'這個名字仍然是不相關的) – chi
...而'type family B b :: *'不允許你使用例如'MaybeT B a',這可以通過'type family B :: * - > *'來實現。前者將是[部分類型同義詞應用](http://stackoverflow.com/a/4923883/745903)。 ('LiberalTypeSynonyms'有時可以繞過這個限制。) – leftaroundabout