複製鏈接
請複製以下鏈接發送給好友

類型擦除

鎖定
類型擦除是計算機程序設計時,在編譯期明確去掉所編程序(某部分)的類型系統
中文名
類型擦除
外文名
Type erasure

目錄

類型擦除簡介

操作語義不需要程序伴隨着類型,這稱作“類型擦除語義”(type-erasure semantics)。 類型擦除語義的一種可能是通過抽象原理,確保程序在運行時執行不依賴類型信息。
與之相對的是類型傳遞語義(type-passing semantics)。如通過具體化。類型擦除的逆操作是類型推斷。 [1] 

類型擦除類型推論

類型推論類型推斷、或隱含類型,是指編程語言在編譯期中能夠自動推導出值的數據類型的能力,它是一些靜態類型語言的特性。一般而言,函數式編程語言也具有此特性。自動推斷類型的能力讓很多編程任務變得容易,讓程序員可以忽略類型標註的同時仍然允許類型檢查。
具有類型推論的語言有:Rust,Haskell,Cayenne,Clean,ML,OCaml,Epigram,Scala,Nemerle,D,Chrome,Visual Basic 2008和Boo。計劃支持類型推論的有Fortress,Vala,C# 3.0,C++11和Perl 6。
顯式的轉換到另一種數據類型叫做“強制”。 [1] 

類型擦除參見

  • Java的類型擦除
  • 類型多態
參考資料
  • 1.    Crary, Karl; Weirich, Stephanie; Morrisett, Greg. Intensional Polymorphism in Type-Erasure Semantics. Journal of Functional Programming. 2002, 12 (6): 567–600. doi:10.1017/S0956796801004282.