Changes between Version 5 and Version 6 of IR
- Timestamp:
- 11/21/15 21:28:26 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR
v5 v6 25 25 == Static Types == 26 26 27 * ` Boolean`27 * `$bool` : boolean type, values are `$true` and `$false` 28 28 * `$proc` 29 29 * `$scope` … … 37 37 * `enum` types 38 38 * Integer types 39 * `Integer` : the mathematical integers 40 * `Int<Integer lo, Integer hi, Boolean wrap>` 39 * `$integer` : the mathematical integers 40 * `$int(lo,hi,wrap)` 41 * lo, hi are integers, wrap is a Boolean 41 42 * finite interval of integers [lo,hi]. If `wrap` is true then all operations "wrap", otherwise, any operation resulting in a value outside of the interval results in an exception being thrown. 42 43 * Real types 43 * `Real` : the mathematical real numbers 44 * `Float<Integer e, Integer f>` : IEEE754 floating point numbers 44 * `$real` : the mathematical real numbers 45 * `$float(e,f)` 46 * e, f are integers 47 * IEEE754 floating point numbers 45 48 * `struct` types 46 49 * list of name-type pairs 47 50 * bit-widths? 48 51 * `union` types : similar to struct 49 * ` Array<T>`50 * ` Array<Integer n,T>`52 * `T[]` : array-of-T 53 * `T[n]` : array-of-length-n-of-T, subtype of above 51 54 * `Function<S1,...,Sn;T>` 52 * ` Pointer<T>`55 * `T*` : pointer-to-T 53 56 54 57 When are two types equal?
