我學習一些類型化的球拍的那一刻,我有幾分哲學的兩難境地:類型化的球拍優化
球拍宣稱自己是語言發展的框架和類型化的球拍是在它的基礎上實現的一個這樣的語言。該文檔提到,由於正在使用類型,編譯器現在可以做更多/更好的優化。
的具體問題:
在哪裏這些優化發生?
1)在編譯/擴大部分(其是「可編程」作爲語言建築物框架的一部分)
- 或 -
2)進一步向下的(字節碼)優化器的線(這是用C編寫的,不能通過框架直接修改)。
如果2)爲真,那麼這是否意味着類型信息在編譯/展開階段後丟失,並在稍後由優化器「重新生成/猜測」,或者中間表示已被更改爲適應類型信息並稍後通知關於他們的階段?
我問這個具體問題的原因是因爲我想知道Racket語言框架的真實性如何,也就是說,對於靜態類型語言也是可行的,而不需要在後端進行任何修改,而只對類型系統進行修改一個前端的東西,而在運行時的代碼仍然是動態類型的(但當然靜態檢查)。
謝謝。
這回答我想知道的一切!謝謝! – Lazarus535