| 69 | | |
| 70 | | === Types === |
| 71 | | * `$bool` : boolean type ($true and $false, unrelated to integers) |
| 72 | | * `$char` : character type (Unicode characters, unrelated to integers) |
| 73 | | * `$int` : mathematical integers |
| 74 | | * `$real` : mathematical reals |
| 75 | | * `$float<e,f>` : IEEE floating-point numbers e=significand bits, f=exponent bits |
| 76 | | * `$herbrand<T>` : Herbrand type of non-Herbrand numeric type T |
| 77 | | * `$proc` : process type |
| 78 | | * `$bundle`: bundle type for sequence of any type (same as seq<T>?) |
| 79 | | * `$heap` : heap type, for dynamic allocation |
| 80 | | * `$range` : regular sequence of integers |
| 81 | | * `$domain` : tuple of ranges |
| 82 | | * `$mem` : set of memory locations |
| 83 | | * `enum tag` : enumerated type |
| 84 | | * `struct tag` : structured type, can also be used for "tuples" |
| 85 | | * `union tag` : union type |
| 86 | | * `T[]` : array of T |
| 87 | | * `void *` : pointer to anything |
| 88 | | * `T *` : pointer to T |
| 89 | | * `T(T1, ..., Tn)` : function (aka procedure) consuming T1, ..., Tn and returning T |
| 90 | | * `$seq<T>` : sequence of T |
| 91 | | * `$set<T>` : set of T |
| 92 | | * `$map<T1,T2>` : map from T1 to T2 |
| 93 | | * `$rel<T1, ..., Tn>` : relation, set of n-tuples |
| 94 | | |