2010-10-12 103 views
4

具有聲音類型系統的語言是強類型語言的子集嗎?聲音類型系統的語言是強類型語言的子集嗎?

+1

恐怕標題不說全部。這沒有多大意義。這就像問一輛帶立體聲的汽車是否是SUV的一個子類型。請詳細解釋你的意思。 – DarkDust 2010-10-12 13:38:10

+4

什麼是「聲音型系統」?什麼_makes_類型系統「聽起來?」 – 2010-10-12 13:38:59

+0

@Matt:http://delivery.acm.org/10.1145/1650000/1646361/p16-wright.html?key1=1646361&key2=0931986821&coll=GUIDE&dl=GUIDE&CFID=108384857&CFTOKEN=75596631 – 2010-10-12 13:51:33

回答

5

什麼是聲音類型系統?你認爲靜態輸入比動態輸入更「健全」嗎?弱類型是否意味着類型系統「不健全」?您是否認爲C或C++的輸入類型很弱,因爲它們允許進行一些特殊的類型轉換?

lua弱類型,但提供的類型爲asyncishing力量。健全在於旁觀者的眼中。

+1

談論用問題回答問題(或三個!)。無論如何,因爲它將討論推進。 – Edmund 2010-10-12 13:49:43

+0

「聲音類型系統」意味着不可能顛覆類型系統進行不安全的操作。 C是一個不健全的類型系統的主要例子 - 你可以很容易地將0賦值給一個指針並寫入它。這並不一定使它成爲其預定領域的更好或更差的語言。但許多其他語言的目標是消除做這種事情的可能性,因爲它很容易出錯。 – 2010-10-12 14:10:55

+2

聲音類型系統意味着如果語言定義確定某個值具有類型T,則語言實現必須強制該值具有類型T.因此,Ada是靜態類型的(在編譯時檢查類型),並且Scheme是動態類型的(類型在運行時被檢查),但兩者都是合理的,因爲值保證具有類型系統所標識的類型。在C或C++中,因爲您可以隨意施放值,所以您沒有健全性,所以在這種情況下使用術語弱類型:您可以聲明類型,但這些類型並不總是強制執行。 – Giorgio 2013-02-24 13:12:14