19.11.2014 Views

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Several builtin generators (such as those for array indices) have an associated distribution. For these generators,<br />

sequential function simply re-distributes the underlying object as follows:<br />

sequential(r) = Sequential.distribute(r)<br />

As a convenient shorthand, the sequential function is also defined to work for distributions themselves. <strong>The</strong> complete<br />

signature for the overloadings of sequential is as follows:<br />

sequential E (g : GeneratorE) : GeneratorE<br />

sequential E (d : Distribution) : Distribution<br />

<strong>The</strong> sequential function has special meaning to the <strong>Fortress</strong> implementation; there is no need to distinguish reduction<br />

variables in loops for which generator is surrounded by a direct call to sequential .<br />

Note that at the moment there is no way to tell the compiler for performance reasons that we really mean it when<br />

we ask for sequentiality, as opposed to saying that we should preserve sequential semantics. Future versions of this<br />

specification may use the Local distribution for this purpose, or provide additional functions on generators which<br />

guarantee serial execution (rather than simply providing sequential semantics).<br />

226

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!