Introduction
DCPL (pronounced "disciple", standing for duty, claim, power, claim and liability, or digital contracts programming language) is a domain specific language that serves as an information model for specififying norms. As discussions on several aspects of normative concepts and normative systems are still open in the literature, DCPL (at first named DPCL) attempts to remain as much as neutral with respect to the actual semantics, yet aims to provide a minimal common ground to encode normative computational artefacts.
Warning
This documentation is a work in progress and might contain some inaccuracies.
Comparison with other norm-specification languages
- DCPL like ODRL aims to provive primarily an informational model, and is JSON-centred, but DCPL include power categories, and focuses on normative mechanisms (it does not include inherently concepts as assets);
- DCPL like FLINT/eFLINT takes as primitives frames constructs from Hohfeld's framework of normative concepts, but DCPL strictly separates conditional from normative aspects, and allow specifying a wider array of normative concepts;
- DCPL like Logical English takes as primitives transformational and reactive rules to deal with conditional aspects, but DCPL includes explicit normative concepts.
References
- Sileno, G., van Binsbergen, T., Pascucci, M., van Engers, T., DPCL: a Language Template for Normative Specifications, Workshop on Programming Languages and the Law (ProLaLa 2022), co-located with POPL 2022 https://arxiv.org/abs/2201.04477