28.01.2015 Views

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

788.2.TypeNames withinthespeciedmodule.Themodulenamemustbeeitherpredefined, Attributenamesareusedintypestates.Thesyntaxofattributenamesis oradenitionsmoduleontheimportslist. 8.3AttributeNames Ifamodulenameisspecied,thetypenamereferstothedenition<br />

denitions,soitislegaltodeneatypeT<strong>and</strong>aconstraintTinthesame constraintattributesThatnamespaceisdierentfromthespaceoftype identicaltothesyntaxoftypenames.<br />

module. namesarenamesofconstraintsdenedindenitionsmodules.Thesetof constraintdenitionsofeachdenitionsmoduleformsanamespace.of denotesabuiltinattributedescribedinsection11.10.Allotherattribute fullisabuiltinabbreviationforasetofinitattributes.Thename checkeddenotesabuiltinconstraintattribute.Thenamecheckeddefinitions Thenamesinit<strong>and</strong>casearebuiltintypestateattributes.Thename<br />

Exceptionnamesareusedinexceptionh<strong>and</strong>lers,<strong>and</strong>onthereturnstatement.Exceptionnamesareeitherbuiltin,oruser-dened.Thetwohave<br />

primitiveoperations.Abuiltinexceptionnameiswrittenasasimpleidentier.Theidentiermustbeoneofthenamesinthepredenedtype<br />

dierentsyntax. statements.Theyarewrittenas: predefined!builtinexception. Builtinexceptionnamesdenotetheexceptionsassociatedwith<strong>Hermes</strong><br />

rulesforattributenamesareidenticaltotheresolutionrulesfortypenames. 8.4ExceptionNames Exceptforthespecialtreatmentofthevebuiltinnames,theresolution<br />

written.Thereisanamespaceofexceptionidentiersforeachcallmessage User-denedexceptionnamesdenotetheexceptionsreturnedfromcall<br />

isresolvedsimplybyresolvingthetypename.Thetypenamemustbea asthetypeofthecallmessageoper<strong>and</strong>,soonlytheexceptionidentieris denition.Thatnamespacecontainstheuser-denedexceptions,plusthe automaticallydenedexceptiondiscarded.Auser-denedexceptionname Onthereturnstatement,thetypenameisunderstoodtobethesame exception{name<br />

callmessagetype.Thisdeterminesasinglenamespacewhichisusedto ::=type{name.user{exception{name<br />

resolvetheexceptionname.

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

Saved successfully!

Ooh no, something went wrong!