Changes between Version 73 and Version 74 of IR
- Timestamp:
- 11/26/15 15:26:06 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR
v73 v74 252 252 Function prototypes are considered to be declarations similar to variable declarations. 253 253 254 Example of declaration of a function:255 {{{ 256 f(x: Real, b: Bool): Float[32,33];257 }}} 258 259 Additional modifiers that may be placed on any of above: 254 Example of declaration of a system function defined in library Concurrency: 255 {{{ 256 def[lib="Concurrency"] f(x: Real, b: Bool): Float[32,33]; 257 }}} 258 259 Function modifiers that may be placed in the brackets after def: 260 260 * `pure` : the function has no side effects, but may be nondeterministic 261 261 * `abstract`: function is a pure, mathematical function: deterministic function of inputs 262 262 * `atomic`: function definition is atomic, and it never blocks **ISN'T THIS TRUE OF EVERY SYSTEM FUNCTION? IN WHICH CASE, IS THIS ONLY FOR NON-SYSTEM FUNCTIONS?** 263 * `'lib="..."`: function is a system function defined in specified library 263 264 264 265 System functions: … … 271 272 {{{ 272 273 g(x:Real):Bool { ... } 273 f(x:Real):Integer guard g;274 def[lib="Blah"] f(x:Real):Integer guard g; 274 275 }}} 275 276
