Changes between Version 73 and Version 74 of IR


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

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v73 v74  
    252252Function prototypes are considered to be declarations similar to variable declarations.
    253253
    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:
     254Example of declaration of a system function defined in library Concurrency:
     255{{{
     256def[lib="Concurrency"] f(x: Real, b: Bool): Float[32,33];
     257}}}
     258
     259Function modifiers that may be placed in the brackets after def:
    260260* `pure` : the function has no side effects, but may be nondeterministic
    261261* `abstract`: function is a pure, mathematical function: deterministic function of inputs
    262262* `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
    263264
    264265System functions:
     
    271272{{{
    272273g(x:Real):Bool { ... }
    273 f(x:Real):Integer guard g;
     274def[lib="Blah"] f(x:Real):Integer guard g;
    274275}}}
    275276