Contract systems enable programmers to state specifications and have them enforced at run time. First-order contracts are expressed using ordinary code, while higher-order contracts are expressed using the notation familiar from type systems. Most interface descriptions, though, come with properties that involve not just assertions about single method calls, but entire call chains. Typical contract systems cannot express these specifications concisely. Such specifications demand domain-specific notations. In response, the related article proposes that contract systems abstract over the notation used for stating specifications. It presents an architecture for such a system, some illustrative examples, and an evaluation in terms of common notations from the literature.
@Article{moy_et_al:DARTS.11.2.4, author = {Moy, Cameron and Jung, Ryan and Felleisen, Matthias}, title = {{Contract Systems Need Domain-Specific Notations (Artifact)}}, pages = {4:1--4:2}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2025}, volume = {11}, number = {2}, editor = {Moy, Cameron and Jung, Ryan and Felleisen, Matthias}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.11.2.4}, URN = {urn:nbn:de:0030-drops-233472}, doi = {10.4230/DARTS.11.2.4}, annote = {Keywords: software contracts, domain-specific languages} }
2544798173d4e73a99d1891d7b1e34b7
(Get MD5 Sum)
The artifact has been evaluated as described in the ECOOP 2025 Call for Artifacts and the ACM Artifact Review and Badging Policy.
Feedback for Dagstuhl Publishing