Separate discussion of standard Chapel procedures from exported Chapel procedures and declarations for calling external functions
Merge pull request #519 from noakesmichael/spec-update-procedure

Spec update for Procedures vs Export/Extern declarations

The production for Statements provides separate rules for procedure-declaration-statement,
external-procedure-declaration-statement, and exported-procedure-declaration-statement.

The definition of procedure-declaration-statement in Procedure includes the linkage extern/exported but the full discussion of those productions in in Interoperability; without a reference in Procedure.  Further there are subtle
inconsistencies in the production in Procedures vs the two in Interoperability.

All of this has the potential to confuse.

For this update I have added some additional cross references and more fully separated the discussions.  The partitioning of procedure in this way might benefit from revisiting in the next release.


Reviewed by Tom