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.

Contents<br />

I Preliminaries 12<br />

1 Introduction 13<br />

1.1 <strong>Fortress</strong> in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

1.2 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

2 Overview 16<br />

2.1 <strong>The</strong> <strong>Fortress</strong> Programming Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.2 Exports, Imports, and Linking Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.3 Automatic Generation of APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.4 Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.5 Some Common Types in <strong>Fortress</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

2.6 Functions in <strong>Fortress</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.7 Some Common Expressions in <strong>Fortress</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.8 For Loops Are Parallel by Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.9 Atomic Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.10 Dimensions and Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.11 Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.12 Comprehensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.13 Summations and Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.14 Tests and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.15 Objects and Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.16 Features for Library Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

II <strong>Fortress</strong> for Application Programmers 34<br />

3 Programs 35<br />

2

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

Saved successfully!

Ooh no, something went wrong!