Kepsec
wip straw-man kepsec proposal. types and expressions may apply, see store for details.
Contents
Types
Bool
The "bool" type represents two values: true and false.
String
The "string" type represents ordered, finite sequences of textual characters. The length of a string is its number of elements. The size of each element is fixed, but unspecified. A string can contain zero or more elements. The maximum size of a string is unspecified, but must be at least 65,535 characters.
Integer
The "int" type represents any integer in ℤ. Integers have infinite, arbitrary precision. An implementation may limit the precision of integers if and only if it does not violate their operational semantics as described in this document.
NOTE: For example, a resource-constrained implementation may choose to trigger "out of memory" errors if an integer cannot be expressed in a 32-bit, signed machine register. However, it cannot violate the semantics of integer operations, such as overflow.
Double
The "double" type represents any value in the IEEE-754 double-precision, 64-bit floating point standard, with one exception: the 2^53-2 "NaN" values are represented by a single NaN value.
Three special values are also defined:
- Positive Infinity, referred to symbolically in this document as ∞.
- Negative Infinity, referred to symbolically in this document as -∞.
- Negative Zero. Unless specified otherwise, as in the language, 0 is a positive zero, and -0 is a negative zero.