Can you summarize the following document?
        
  Robin Milner 對於型別安全所喊出的口號: 這一口號的涵義,取決於語言形式化語義的類別。在指稱語義學裡,型別安全意謂著一個運算式的值具有良好型別τ,則表示式是一個屬於τ的集合的真正的成員。  1994年,Andrew Wright 和 Matthias Felleisen 以操作語義學定義的公式描述:何謂現今的標準定義,以及對於型別安全的檢驗技術。根據上述方法,型別安全是以程式語言語義中的兩個性質所決定的:  這些性質不是無中生有的,而是和程式語言所描述出來的語義相連繫,而且各式各樣的語言存在著可以此基準來充實的廣大的空間。因為「型別良好」程式的概念已是靜態語義學的一部分,而「卡住」(或者「搞錯」)則是動態語義學方面的屬性。

  學術研究用途的玩具語言,常會提出型別安全方面的需求。另一方面,許多語言以人工方式所產生的型別安全,證實經常需要上千次的檢查。不過,某些語言,如標準ML,其嚴格定義了語義,且 Java 也已提供型別安全。其它語言如 Haskell 也被認為是型別安全。暫且不理會語言定義的性質,在執行時期發生的某些錯誤,應歸於實作時的缺陷,或是用了其它語言撰寫的程式庫;這種錯誤可能使給定的實作,在某些情況下的型別不再安全。

  要實現完善的型別安全語言,它至少需要垃圾回收或增加記憶體配置和解配置的限制(本節主要針對前者)。更明確地說,不允許懸置指標橫跨不同結構型別的存在。這有一技術上的原因:假定型別語言(如Pascal要求分配的記憶體必須顯式釋放)。如果存在一個仍舊指向之前的記憶體位址的懸置指標,新的資料結構可能會分配到同一空間。例如,如果初始化一個指向整數區域資料結構的指標,但新物件的指標區域卻分配在整數的地方,然後指標區域可藉由改變整數區域的值簡單改變成任可東西(經由間接引用懸置指標)。因為當指標改變時,尚未指定將會發生什麼,所以這個語言就不是型別安全的。大部分型別安全的語言滿足使用垃圾回收實現記憶體的管理。  在允許指標算術的語言中,實作垃圾回收器是最好的,所以在型別不安全的語言或型別安全可能失效的語言中,如此實作回收器的程式庫是最好的。C 和 C++ 經常使用。

  在各種強型別的定義中,其往往成為型別安全的同義詞;然而,型別安全與動態型別並不互相排斥。也可將動態型別視為非常寬鬆的靜態型別語言,而且所有語法正確的程式皆具備良好型別;只要它的動態語義學能夠保證絕不會有程式「搞錯」,它就可以滿足上述定義,且可稱為型別安全。
在電腦科學中,一部分程式語言具備型別安全的性質。這個術語在不同的社群中有不同的定義,特別是正規的型別理論上的定義遠遠強過大多數的程式設計師的理解,但對於使用型別系統的認知,皆旨在避免必然的錯誤形式,和不良的程式行為(稱為型別錯誤)。