Can you summarize the following document?
        
  Ada在標準包中定義codice_1為一種列舉型別,有兩種值codice_2和codice_3,並且codice_2 < codice_3。  相關的操作(codice_6, codice_7, codice_8, codice_9, codice_10, codice_11)使用語所有的列舉型別,包括codice_1。布林運算codice_13, codice_14, codice_15和codice_16由codice_1及任意宣告的子型別定義。布林運算也適用於codice_1值陣列。

  Algol 60有codice_1資料型別和相關的操作,定義在Algol 60報告中。這在ALGOL 68中被簡化為codice_20。  ALGOL 68語言詳細說明(177頁)中關於布林操作定義的原文:  10.2.2. 布林運算元的運算

  在C99之前,C語言的標準沒有提供布林型別,但是這不意味著C90不能表示布林值的概念。C中的所有布林運算(&&, ||)以及條件宣告(if, while)都以非零值代表真,零值代表假。這樣,在其他型別如一個整數或一個列舉中儲存布林值就變得很平常。為了方便,常常為布林型別建立一個typedef來和一些已存在的資料型別相關聯。C99標準也提供了一個內建的布林型別。  為了說明C中的布林型,注意以下C程式碼: 等價於: 簡單來說這就是一個整數型別。由於C標準要求codice_21用在指標上下文中時要代表空指標,上面的概念也可以用來檢查一個指標是否為空,雖然一些程式風格不建議這樣用。這種情況同樣適用於浮點值,當比較它們的時候要特別小心,因為它們通常包含四捨五入的結果。通常,整型用來包含布林變數。  雖然為了測試一個變數的真假值時沒必要來命名真或假,但是在給它們分配值的時候卻是需要的。(一種方法是使用零值和一,這樣做的好處是語言獨立。)其他方法,codice_22關鍵字允許在語言中根據你的選擇來命名元素,例如: 如下典型的預處理巨集經常被使用。  有時codice_23可能被定義為-1或~0(位運算0的補)。這意味著在現在常見的二補數計算機架構的整型中所有的位都被設定為1。  但是,在C中任意非零值都代表真就帶來了問題,因為codice_23由一個特定的值來表示,因此在其他語言中codice_25只不過是多餘的,而在C中,就是錯誤的程式碼。

  C99中有codice_20型別,取值為codice_27和codice_28,定義在codice_29標頭檔案中:

  C++程式語言在其標準化過程中引入了codice_20、codice_27和codice_28關鍵字,增加了原生資料型別來支援布林資料,其大小被實現定義。 codice_20在1993年被引入。.  1998年的C++標準庫定義了一個codice_34類的特例。為了優化空間,其中的元素被打包,使得每一個布林變數只使用一位記憶體。這被認為是一個錯誤。codice_34不符合STL容器的需要。例如一個codice_36必須為codice_37型別的一個真值左值。這和codice_34的情況不同。類似地,codice_39在解除引用時不產生一個codice_40。在C++標準委員會和庫工作組之間有個共識,就是codice_34應該被反對或完全從下一個標準中被移除。

  在C#中,布林變數通過保留字codice_20來識別,這個保留字是預定義結構型別codice_43的別名,佔一位元組。在codice_20和其他型別之間不存在標準的轉換。此語言還提供了一個布林型別codice_45,可以表示三種值:codice_27、codice_28和codice_48。這和SQL中布林表示式的用法類似。  輸出一個布林型的程式碼如下:

  在Fortran被標準化之前,於1950年代引入了codice_49關鍵字和相關的操作codice_50、codice_51、codice_52等等。

  在Java語言中,布林變數由原始型別codice_53表示。Java虛擬機器將實際在記憶體中的表現抽象,這樣JVM開發者可以使用儘可能方便的方式來代表布林量(例如,一個位元組或者一個字)。  Java語言規範不允許任何顯式或隱式的從codice_53的轉換。這樣就需要編譯器拒絕如下程式碼:  因為整型變數codice_55不能轉換為一個布林型並且codice_56語句需要一個codice_53條件。  在Java中,codice_53值(和其他原始型別相同)可以被附加到字串。這個特性提供了一個預設的布林型的視覺化表現(codice_27被顯示為"true",codice_28被顯示為"false")。

  JavaScript有兩個關鍵字,codice_27和codice_28,兩者都為小寫。JavaScript是一種弱型別的語言,沒有明確的布林資料型別供其變數使用。但是許多值用在邏輯上下文時可以被當成codice_28,包括零(codice_21)、codice_48、零長度字串(codice_66)、codice_67以及codice_68。所有其他變數值,包括一(codice_69)、空陣列和空物件,都被認為是codice_27。JavaScript 提供了一個codice_1 物件,可以被用作控制布林值的容包裝。  但如果使用codice_1物件的話,它總是會被當成codice_27,儘管其包含codice_28值。  若僅使用 codice_75 function,則視同將引數轉為布林值

  在λ演算計算模型中,布林型由Church數表示。

  LISP有兩個特殊的符號codice_37和codice_77,分別代表了邏輯值真和假。但是,任意非codice_77值都由LISP系統翻譯成真。特殊的符號codice_77也用空列表codice_80表示。因此空列表為假,但是任何有資料的列表都為真。這樣,什麼都沒有為假,其他所有都為真。

  和Ocaml類似,ML語言擁有codice_20型別,包含codice_27和codice_28值,例如:

  Objective-C提供了codice_84型別,以及巨集codice_85和codice_86。由於Objective-C是C語言的超集,因此C語言的布林語義也適用。

  Swift的布林型別是 codice_87,主要用於 if 和 while 的條件判斷,值只能是真codice_27或假codice_28。

  Ocaml 擁有一個 codice_20 值,為 codice_27 或 codice_28。  和很多其它的語言一樣,Ocaml使用 codice_27 或 codice_28關鍵字來表示布林值。

  codice_1是Pascal提供的基本資料型別,定義和用法如下:  列舉外的值沒有被定義。某些編譯器實現(如Delphi)為了介面目的擁有特殊的擴充套件布林型別,並將其對映到C數值型別上,例如bytebool、wordbool、longbool等。
布林(英語:Boolean)是電腦科學中的邏輯資料型別,以發明布林代數的數學家喬治·布林為名。它是隻有兩種值的原始型別,通常是真和假。布林資料型別主要與條件語句相關聯,條件語句通過根據開發人員指定的條件式,更改程式控制流來允許評估語句的運算值為真或假(即條件成立或不成立)。這是一種更廣泛的邏輯資料型別的特殊情況(參見概率邏輯)-邏輯並不總是隻屬於布林型別的。