10.07.2015 Views

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

98 van Wijngaarden, et al.Assignations and other COMORFs are voided without any deproeeduringso that, in proc void p;.p := finish, the assignation p := finish does notprescribe an unexpected calling of the routine finish.}6.7.1. SyntaxA) NONPROC :: PLAIN ; STOWED ; REF to NONPROC ;procedure with PARAMETERS yielding MOlD ; UNITED.a) voided to{flA} void MORF : deprocedured to{63a} NONPROC MORF ;unchanged from{61f} NONPROC MORF.b) voided to{61A} void COMORF :unchanged from{61f} MODE COMORF.{Examples:a) random (in skip; random;) •next random (last random)(in skip; next random (last random);)b) proc void (pp) (in proc proc void pp = proc void : (print (1);void : print (2)); proc void (pp);) }6.7.2. SemanticsThe elaboration of a voided-to-void-FORM consists of that of its directdescendent, and yields empty.7. Modes and nests{The identification of a property in a nest is the static counterpart ofthe dynamic determination (4.8.2.b) of a value in an environ: the search isconducted from the newest (youngest) level towards the previous (older)ones.Modes are composed from the primitive modes, such as 'boolean', withthe aid of "HEAD's, such as "structured with', and they may be reeursive.Recursive modes spelled in different ways may nevertheless beequivalent. The syntax tests the equivalence of such modes by provingthat it is impossible to find any discrepancy between their respectivestructures or component modes.A number of unsafe uses of properties are prevented. An identifier ormode-indication is not declared more than once in each reach. The modesof the operands of a formula do not determine more than one operation.Reeursions in modes do not cause the creation of dynamic objects ofunlimited size and do not allow ambiguous coercions.}7.1. Independence of properties{The following syntax determines whether two properties (i.e., two"PROP's), such as those corresponding to teal x and int x, may or may notbe enveloped by the same 'LAYER'.}7.1.1. SyntaxA)B)C)a)b)e)d)e)f)g)h)i)J)k)ALGOL <strong>68</strong> Revised ReportPREF :: procedure yielding ; REF to.NONPREF :: PLAIN ; STOWED ;procedure with PARAMETERS yielding MOID ; UNITED ; void."PREFSETY :: PREF PREFSETY ; EMPTY.{PROP :: DEC ; LAB ; FIELD.QUALITY :: MODE ; MOlD TALLY ; DYADIC ; label ; MODE field.TAX :: TAG ; TAB ; TAD ; TAM.TAO :: TAD ; TAM.}WHETHER PROPI independent PROPS2 PROP2{a,48a,c,72a} :WHETHER PROPI independent PROPS2{a,c}and PROPI independent PROP2{c}.WHETHER PROP independent EMPTY{48a,e,72a} : WHETHER true.WHETHER QUALITYI TAXiindependent QUALITY2 TAX2{a,48a,c,72a} :unless (TAXI) is (TAX2), WHETHER true ;where (TAXI) is (TAX2) and (TAXI) is (TAO),WHETHER QUALITYI independent QUALITY2{d}.WHETHER QUALITYI independent QUALITY2{e} :where QUALITYI related QUALITY2{e,f,g,h,i,j,-},WHETHER false ;unless QUALITY 1 related QUALITY2{e,f,g,h,i,j,-},WHETHER true,WHETHER MONO related DUO{d} : WHETHER false.WHETHER DUO related MONO{d} : WHETHER false.WHETHER PRAM related DYADIC{d} : WHETHER false.WHETHER DYADIC related PRAM{d} : WHETItER false.WHETHER procedure with MODEl parameter MODE2 parameteryielding MOIDI relatedprocedure with MODE3 parameter MODE4 parameteryielding MOID2{d} :WHETHER MODEl firmly related MODE3{k}and MODE2 firmly related MODE4{k}.WHETHER procedure with MODEl parameter yielding MOIDIrelated procedure with MODE2 parameter yieldingMOID2{d} : WHETHER MODEl firmly related MODE2{k}.WHETHER MOIDI firmly related MOID2{i,j} :WHETHER MOODSI is firm MOID2{I,m}or MOODS2 is firm MOIDI{I,m},where (MOODSI) is (MOIDI)or (union of MOODSI mode) is (MOIDI),where (MOODS2) is (MOLD2)or (union of MOODS2 mode) is (MOLD2).99

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

Saved successfully!

Ooh no, something went wrong!