Changes between Version 5 and Version 6 of IR


Ignore:
Timestamp:
11/21/15 21:28:26 (10 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v5 v6  
    2525==  Static Types ==
    2626
    27 * `Boolean`
     27* `$bool` : boolean type, values are `$true` and `$false`
    2828* `$proc`
    2929* `$scope`
     
    3737* `enum` types
    3838* 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
    4142  * 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.
    4243* 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
    4548* `struct` types
    4649 * list of name-type pairs
    4750 * bit-widths?
    4851* `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
    5154* `Function<S1,...,Sn;T>`
    52 * `Pointer<T>`
     55* `T*` : pointer-to-T
    5356
    5457When are two types equal?