2012-03-04 30 views

回答

17

deftypedefprotocol定義了Clojure中的動態行爲。在Racket中,我們會用structstruct-property來做類似的事情,儘管在Racket中沒有什麼比較像defprotocol

編輯:球拍現在有generics,這就像Clojure協議。

reifyextend,我認爲,對應於在Racket中使用make-struct-type,它動態創建新的結構類型。

類型化的球拍的最大區別,所有的這些功能,是類型化的球拍檢查您靜態程序 - 試圖運行它。您不能在Typed Racket程序中應用錯誤的訪問器,或將數字用作函數。你甚至不能運行一個可能有這樣的錯誤的程序。

目前,Clojure最類似於Type Racket的功能是它用於性能的註釋。

編輯:現在有Ambrose Bonnaire-Sergeant的Typed Clojure,這是靈感和基於類型球拍。

相關問題