dhh1128 / intent

the intent formal language
https://intentlang.org
2 stars 1 forks source link

Support negation in interfaces and behavioral profiles #87

Open dhh1128 opened 9 years ago

dhh1128 commented 9 years ago

I want to be able to claim that something is not true about the implementation of an interface (see #86 for a discussion of why negation is worthwhile). For example, I might want to claim that an interface is never combined with another, or that an implementation of the interface does not ever use disk, or that an impl doesn't ever expose a particular detail.

Something as simple as "NOT " probably won't work, because will be specified in some way that is too specific. We need something more general--like being able to claim "NOT ". If behavioral profiles are automatically "acquired" by impls due to the functions they call or the methods they provide, then negation logic could have teeth.