Further Refine AST
d-xo opened this issue · comments
dxo commented
The following changes to the AST would proabaly be nice:
- Add a
Contract
type that bundles all constructors / methods / invariants / storage declarations for a particular contract. It would be nice if this had some constraints on the constructors (e.g. only one passing constructor). - Add a
System
type that is a collection of related contracts. In the future this could perhaps contain system level invariants
MrChico commented
This opens some questions about modules and imports that I think requires a bit of thought
dxo commented
modules and imports at the haskell level or for the act language itself?
MrChico commented
for act
dxo commented
ah, yes that is quite of an interesting rabbit hole...
dxo commented
Did you have some ideas in this area?
I've been having some vague thoughts around being able to export only invariants, and pre/post conditions from contracts for use in proving system level properties.