compile-time vs. run-time

以前在玩 C++Template 的時候,意識到將程式計算分成兩部份,一部份在 compile-time,另一部份當然是 run-time。最早寫程式,對 type 的認知不過就是最基礎的正確性檢查,以及電腦如何「理解」資料怎麼被 intepreter,但透過 C++Template 發現許多計算可以在 compile-time 完成,一般 compile 也有做類似的事情,例如程式碼展開之類的,最簡單的例子是固定次數的迴圈展開。但那時候的認知也僅限於此 …

最近看到 dependent type 能做到的事情後,認為這東西發揮到極限之後,是不是能夠將 run-time 壓縮到極限?這時候 code 就會分成兩部份,一是能在 type 上作的部份,二是傳統的部份。中間應該能找到至少是充分條件,哪些能做到 type 上去,以及必要條件哪些得在 value 上作,well …從現有的分類好像沒做過這種事情?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s