類型系統

在計算機科學中 ， 類型系統  用於定義如何將程式語言中的數值和運算式歸類爲許多不同的型別 ， 如何操作這些型別 ， 這些型別如何互相作用 。 型別可以確認一個值或者一組值具有特定的意義和目的 （ 雖然某些型別 ， 如抽象型別和函式型別 ， 在程式執行中 ， 可能不表示爲值 ） 。 型別系統在各種語言之間有非常大的不同 ， 也許 ， 最主要的差異存在於編譯時期的語法 ， 以及執行時期的操作實現方式 。 編譯器可能使用值的靜態型別以最佳化所需的儲存區 ， 並選取對值運算時的較佳演算法 。 例如 ， 在許多C編譯器中 ， 「 浮點數 」 資料型別是以32 位元表示 ， 與IEEE 754規格一致的單精度浮點數 。 因此 ， 在數值運算上 ， C應用了浮點數規範 （ 浮點數加法 、 乘法等等 ） 。 型別的約束程度以及評估方法 ， 影響了語言的型別 。 更進一步 ， 程式語言可能就型別多態性部分 ， 對每一個型別都對應了一個極度個別的演算法的運算 。 型別理論研究型別系統 ， 儘管實際的程式語言型別系統 ， 起源於電腦架構的實際問題 、 編譯器實作 ， 以及語言設計 。