什麼是Scala中的類型投影有用?爲什麼Scala的類型系統支持類型投影和路徑依賴類型?這個設計決定背後的理由是什麼?什麼是有用的類型投影?
17
A
回答
13
不是一個完整的答案,但這裏有型預測某些用途,我也遇到過:
類型級別元編程。例如,參見Michid的系列(部分I,II,III),Jesper的implementation of HList和series at Apocalisp。
一種將一堆類型捆綁到單個類型參數中的方法。例如,在我開發的矩陣庫中,我定義了
trait Scalar { type A; type B; type C; ... }
,然後將其作爲單個參數傳遞給我的矩陣特徵,trait Matrix[S <: Scalar] ...
各個類型可以稱爲S#A
,S#B
等等。在兩個類型爲Matrix[S]
的矩陣之間,對於相同的S
,這些類型將是兼容的(與路徑相關類型不同)。
9
一件事型投影可用於爲部分類型的應用程序:
({type λ[x]=Tuple2[Int,x]})#λ
相關問題
- 1. 什麼是投影?
- 2. 爲什麼循環引用的類型投影是非法的?
- 3. 斯卡拉類型投影的正確限制是什麼?
- 4. 什麼是價值投影?
- 5. 投影矩陣的用途是什麼?
- 6. 什麼是Gall-Peters投影的proj4js投影代碼?
- 7. MKMapView使用什麼投影?
- 8. 什麼是NHibernate中的投影?
- 9. Haskell類型級別投影
- 10. WinRT投影類型文檔
- 11. 路徑依賴類型是否是類型投影?
- 12. 什麼設備類是電視機還是投影儀?
- 13. 什麼是一種投影機
- 14. 投影轉換有什麼不同?
- 15. 使用cocos2d-iphone啓用2D投影的好理由是什麼?
- 16. 應用投影的最佳方法是什麼?
- 17. 不能使用類型投影到遞歸(f-bound)類型
- 18. 理解型投影
- 19. WinJS.Binding.List投影原型
- 20. 爲什麼Null無效的LINQ投影?
- 21. 地圖拼貼 - 什麼樣的投影?
- 22. 如何使用Spring Data REST獲得所有投影類型
- 23. nhibernate投影到匿名類型
- 24. 強類型視圖投影linq
- 25. 從NHibernate投影中獲取子類型
- 26. 將實體類型映射到投影
- 27. EntityFramework。 SelectMany與匿名類型和投影
- 28. 如何從投影類型推斷正確的類型參數?
- 29. 什麼是通用類型?
- 30. 使用類型對Grails服務有什麼影響?
你鏈接的Jesper的帖子指出,代碼不工作,但以後的文章中解釋說,Scala的新版本支持: http://jnordenberg.blogspot.com/2009/09/type-lists-and-heterogeneously-typed.html – Blaisorblade