Open LB-- opened 9 years ago
Some expressions have special types that are context-sensitive and are handles by the compiler.
null
- take a guess. Very similar if not the same as C++'s nullptr
With characters: there should probably be two types: fast and small. Fast characters will take up a fixed width and be able to hold any unicode code point, at the expense of wasting memory. Small characters will only use the needed memory, but obviously this has performance penalties.
EDIT: see instead #36
each constant has its own unique type that can be used for ADL/disambiguation.
Not sure what I was thinking here. Probably a bad idea.
Bitwise operations are not allowed on signed types.
void
- special type with 0 size (may be instantiated, but optimized out)boolean
/bool
- boolean typeint@8
,int@16
,int@32
,int@64
, etc - signed integral typesuint@8
,uint@16
,uint@32
,uint@64
, etc - unsigned integral typesfloat@32
,float@64
, etc - signed floating point typescharacter
- special non-numeric type for holding a character from the unicode character set