act icon indicating copy to clipboard operation
act copied to clipboard

Further Refine AST

Open d-xo opened this issue 4 years ago • 5 comments

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

d-xo avatar Dec 15 '20 12:12 d-xo

This opens some questions about modules and imports that I think requires a bit of thought

MrChico avatar Dec 15 '20 22:12 MrChico

modules and imports at the haskell level or for the act language itself?

d-xo avatar Dec 16 '20 21:12 d-xo

for act

MrChico avatar Dec 16 '20 22:12 MrChico

ah, yes that is quite of an interesting rabbit hole...

d-xo avatar Dec 16 '20 22:12 d-xo

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.

d-xo avatar Dec 16 '20 22:12 d-xo