The carrier (underlying set) associated with a unit type can be any singleton set. There is an isomorphism between any two such sets, so it is customary to talk about the unit type and ignore the details of its value. One may also regard the unit type as the type of 0-tuples, i.e. the product of no types.
The unit type is the terminal object in the category of types and typed functions. It should not be confused with the zero or bottom type, which allows no values and is the initial object in this category.
()and its only value is also
(), reflecting the 0-tuple interpretation. In ML, the type is called
unitbut the value is written as
(). In Common Lisp the type named NULL is a unit type which has one value, namely the symbol NIL. NIL itself is used as the name of the bottom type.
In C, C++, C#, and Java,
void expresses the unit type. These languages do not provide any way to declare an object or represent a value with type
void. In practice this feature is usually not necessary because all expressions with the unit type have the same value, and explicit values are therefore redundant. However, it may cause problems in generic programming, such as C++ templates, where
void must be treated differently from other types.
Wipo Publishes Patent of Wenling Anneng Energy Efficency Technology, Xiaohua Wang for "Single Unit Type Dehumidification and Drying Method and System Having Boundary Layer Control Cooperating with Enhanced Heat-Exchange by Main Stream Disturbance" (Chinese Inventor)
Jan 22, 2013; GENEVA, Jan. 22 -- Publication No. WO/2013/007111 was published on Jan. 17.Title of the invention: "SINGLE UNIT TYPE...
Wipo Publishes Patent of Harmonic Drive Systems, Horiuchi Masashi, Yokoyama Akihiro, Shirasawa Naomi for "Unit Type Wave Gear Device" (Japanese Inventors)
Nov 30, 2012; GENEVA, Nov. 30 -- Publication No. WO/2012/157022 was published on Nov. 22. Title of the invention: "UNIT TYPE WAVE GEAR DEVICE."...