Literals in MAL follow the lexical conventions of the programming language C. A default type is attached, e.g. the literal 1 is typed as an int value. Likewise, the literal 3.14 is typed flt rather than dbl.
A literal can be coerced to another type by tagging it with a type qualifier, provided a coercion operation is defined. For example,
1:lng marks the literal 1 as of type
"1999-12-10":date creates a
MonetDB comes with the hardwired types bit, bte, chr, wrd, sht, int, lng, oid, flt, dbl, and str. The kernel code has been optimized to deal with these types efficiently, i.e. without unnecessary function call overheads. In addition, the system supports temporal types
date, daytime, time, timestamp, timezone, extensions to deal with
IPv4 addresses and URLs using
inet, url, UUID and JSON formatted strings. An 128-integer arithmetic is compiled in on platforms that can support it.