-
Notifications
You must be signed in to change notification settings - Fork 60
Interface Design Notes
neilconway edited this page Feb 10, 2011
·
7 revisions
Defects of the current design of interfaces and modules:
- Cannot import a given module twice
- Interface names aren't scoped (#49)
- Need to explicitly include Anise for the "declare" decorator (#59)
- Easiest fix is to have a root BudModule/BudProtocol/etc. module that includes Anise and defines "declare"
- "state" blocks in an interface need to explicitly call "super"
- Possible fix: replace "def state" with a "state { ... }"; state is a method defined by BudModule
- No clear distinction between importing a module for use as a client vs. importing an interface to provide an implementation of it
- Should temporal properties be exposed as part of an interface's API?
- Constraints on interfaces?