型別推導是否可以理解為一種編譯期計算?

時間 2021-05-31 08:49:29

1樓:腳趾頭

事實上是在解釋type rule的基礎上解方程。

解釋type rule相當於解釋相繼式,順便有可能會涉及到語言本身的reduce,於是也需要乙個語言本身的直譯器。

2樓:冒泡

是編譯時候計算出來的

廣義上說,這是乙個CSP,具體複雜程度看你語言的型別系統和語法設計在合適的設計和需求下,還是可以弄出個快速演算法之前做語言的時候總結過一些文章:

再議型別推導 - xtlisk的專欄 - CSDN部落格larva的型別推導 - xtlisk的專欄 - CSDN部落格

3樓:

可是你這個例子明明是型別檢查,型別推導是如其他的回答所說的solving constraint。

我覺得在說「編譯期計算」的時候,應該是像constexpr或者template programming一樣,計算的過程是能被你要編譯的程式語言直接表達的。如果在haskell的語境下,我不覺得solving constraint這種事是能被haskell直接表達的。(又不是Z3 或者logic programming).

我覺得還是把它理解成編譯器對你的程式做的靜態分析比較好。

4樓:藥罐子千里冰封

Yes exactly.

順帶一提,我們可以給這種計算帶上指令碼,就是Agda/Idris的Reflection,Haskell的Generics和Template Haskell。

朊病毒是否可以理解為一種自催化酶?

不明白你們有些人生化是怎麼學的,自我複製的蛋白質都出來了。求求你先搞清楚複製的名詞解釋。複製要有模板的,朊病毒模板是啥?什麼書上講過朊病毒以自身為模板合成蛋白質了?所以變性的朊蛋白,也就是朊病毒,具有一種性質,可以將正常的朊蛋白也轉變為朊病毒。同時朊蛋白轉變為朊病毒在正常環境下是非常苛刻的。這個時候...

智商可否理解為是一種記憶力?

東不可止 那最多只是印象比較深而已。記憶本來也是智力的一種。很多時候,使用記憶能夠省略思維過程,例如,有了99乘法表,還要費心研究五五二十五嗎?好記性固然重要,思考能力亦是關鍵 所謂流體智力,以往的經驗只算晶體智力 因為很多玩意需要開動腦筋自己思考。至於戀愛變傻,我的見解是,在這種全力投入感情的場合...

民科的疑惑,引力是不是也可以理解為一種壓力?

斥引量子 先講解一下引力是怎麼產生的,你就會明白了。引力是來自一種能夠體現和反映出宇宙本質的事物,這種事物的存在狀態即是以引力的顯現為佐證的。對這種事物存在的理解,必須以建立在對基本力斥力的發現和證實為基礎。那麼什麼又是基本力斥力呢?基本力斥力是由另一種能夠體現和反映出宇宙本質的事物所體現,這種事物...