Contracts only are a sub-concept of Aspects (inspired by
TypesAreContracts) or more specifically: Contract is an aspect pattern.
See
http://nanning.snipsnap.org/space/Contracts+are+Aspects
--
StephanSchmidt
I don't see how it can be true that "contracts are only a sub-concept of aspects", since contracts are primarily
documents for the human reader, describing what each part of a system requires and guarantees. A good DbC system will provide ways to enforce (parts of) the contracts, but the tests are not the contract.
You can certainly use aspects to implement some of the checking found in systems that support DbC. But it's not clear to me that everything you
can do using aspects
is a "sub-concept of aspects" or an "aspect pattern". --
GarethMcCaughan