-
Notifications
You must be signed in to change notification settings - Fork 8
State in HERMIT
andygill edited this page Jun 26, 2012
·
5 revisions
HERMIT has state. Here is a break down of what we have.
We have a map of ModGuts AST's.
ASTs : AST -> ModGuts
were AST is an Int label.
Properties
- An AST's id number is always higher that its parent
ScopedASTs : ScopedAST -> ModGuts x Path x [Path]
There are four types of commands: Commands, Queries, Shell
Commands changes things. We record this using a list.
Commands : [ ScopedAST x Command x ScopedAST ]
Queries ask questions, and perhaps fail. An assertion has type TranslateH Core (); perhaps only these are stored.
Queries : [ ScopedAST x Query ] -- assertions only???
Groups join together sequences of commands. They overlay on top of the list of commands.
Groups : [ ScopedAST x ScopedAST x Text ]
???