我目前正在試圖找出我的程序的哪些方面可以通過scala編譯器進行靜態類型檢查。在閱讀this question後,我想出了類型設計模式的概念。我覺得讓我的頭腦滿意Scala的類型系統可能是非常複雜的。所以我想看看實際的用法(不是peano算術或類似的東西)。簡單的模式經常以正常的代碼重新出現。靜態類型檢查的設計模式
有沒有人知道任何博客,甚至書籍處理這個問題?最好在Scala中,但對其他語言也可能有用。
我目前正在試圖找出我的程序的哪些方面可以通過scala編譯器進行靜態類型檢查。在閱讀this question後,我想出了類型設計模式的概念。我覺得讓我的頭腦滿意Scala的類型系統可能是非常複雜的。所以我想看看實際的用法(不是peano算術或類似的東西)。簡單的模式經常以正常的代碼重新出現。靜態類型檢查的設計模式
有沒有人知道任何博客,甚至書籍處理這個問題?最好在Scala中,但對其他語言也可能有用。
我認爲最值得稱道的「設計模式」之一是「幻像類型」技術。這是一種或多或少有系統的方式來編碼靜態信息的類型參數。看一些例子:
您還可能有興趣在一個相關的奧列格wondertrick:Lightweight static capabilities(與仲傑山)。
[Scala中的幻像類型](http://james-iry.blogspot.com /2010/10/phantom-types-in-haskell-and-scala.html) – ziggystar 2011-04-06 14:55:11
你可能看the design advice for Haskell,具體而言,一些對嵌入強大的性能成爲類型系統更近的研究論文:
這裏還沒有標準的方法,雖然有許多很好的個別問題的例子。
爲什麼標記爲Haskell?這些鏈接可能很有用:http://blog.ezyang.com/2010/08/type-kata-controlled-sharing-of-references/和http://blog.ezyang.com/2010/08/type- kata-newtypes/ – 2011-04-06 13:30:29
@Edward因爲Scala的類型系統似乎與Haskell的類型系統類似,並且可能爲Haskell(已經存在更長的時間)傳輸到Java的模式。 – ziggystar 2011-04-06 14:06:00
@愛德華我認爲這是有效的,因爲Scala的類型系統最冒險的實驗似乎來自Haskell背景的人,例如, Rúnar的博客和斯卡拉茲人。 – 2011-04-06 14:16:36