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.

iv3Type<strong>and</strong>TypestateChecking 5ResearchDirectionsin<strong>Hermes</strong> 4Additional<strong>Hermes</strong>Constructs 4.4Polymorphs:::::::::::::::::::::::::::64 4.3Variants:::::::::::::::::::::::::::::61 4.2Send:::::::::::::::::::::::::::::::60 4.1ExpressionBlocks:::::::::::::::::::::::59 67 55<br />

II<strong>Hermes</strong><strong>Reference</strong><strong>Manual</strong> 8Resolution 6Introduction 7Lexical<strong>and</strong>SyntacticRules 69<br />

8.2TypeNames:::::::::::::::::::::::::::77 8.1VariableNames:::::::::::::::::::::::::75 8.1.2ComponentNames:::::::::::::::::::77 8.1.1BaseVariables:::::::::::::::::::::76 73<br />

71<br />

10TypestateChecking 9TypeChecking<strong>and</strong>Inference 8.6ProcessNames:::::::::::::::::::::::::79 8.4ExceptionNames::::::::::::::::::::::::78 8.5ExitNames:::::::::::::::::::::::::::79 8.3AttributeNames::::::::::::::::::::::::78<br />

10.3ValidTypestates::::::::::::::::::::::::86 10.6Constants::::::::::::::::::::::::::::88 10.4OrderingofTypestates:::::::::::::::::::::87 10.2FormalTypestates:::::::::::::::::::::::85 10.5Coercions::::::::::::::::::::::::::::87 10.1SyntaxofTypestates::::::::::::::::::::::84 80<br />

10.7HowtoApplytheTypestateRules::::::::::::::88 10.8TheCheckingAlgorithm::::::::::::::::::::90<br />

11<strong>Hermes</strong>Operations 11.3ControlFlowOperations::::::::::::::::::::96 11.1UbiquitousOperations:::::::::::::::::::::93 11.4ScalarOperations::::::::::::::::::::::::101 10.9TypestateErrors::::::::::::::::::::::::91 11.2TheDepletionException:::::::::::::::::::95 11.5RecordOperations:::::::::::::::::::::::107

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

Saved successfully!

Ooh no, something went wrong!