eflint: Reference interpreter for eFLINT specifications and scenario evaluation
Software systems that share potentially sensitive data are subjected to laws, regulations, policies and/or contracts. The monitoring, control and enforcement processes applied to these systems are currently to a large extent manual, which we rather automate by embedding the processes as dedicated and adaptable software services in order to improve efficiency and effectiveness. This approach requires such regulatory services to be closely aligned with a formal description of the relevant norms.
eFLINT is a domain-specific language developed for formalizing norms from a variety of sources. The theoretical foundations of the language are found in transition systems and in Hohfeld’s framework of legal fundamental conceptions. The language can be used to formalize norms from a large variety of sources. The resulting specifications are executable and support several forms of reasoning such as automatic case assessment, manual exploration and simulation. Moreover, the specifications can be used to develop regulatory services for several types of monitoring, control and enforcement. The language is evaluated through a case study formalizing articles 6(1)(a) and 16 of the General Data Protection Regulation (GDPR).
The main academic paper is to be cited as follows.
Reflections on the design, applications and implementations of eFLINT, a domain-specific language for legal compliance reasoning. L. Thomas van Binsbergen, Christopher A. Esterhuyse, Tim Müller. Journal of Computer Languages. Volume 88, 2026. https://doi.org/10.1016/j.cola.2026.101411.
More related papers and preprints available at https://ltvanbinsbergen.nl
Modules
- Language
- EFLINT
- Language.EFLINT.Explorer
- Language.EFLINT.Interpreter
- Language.EFLINT.Parse
- Language.EFLINT.Print
- Language.EFLINT.Saturation
- Language.EFLINT.Spec
- Language.EFLINT.State
- EFLINT
Downloads
- eflint-4.1.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 3.0.0.1, 3.0.0.2, 3.1.0.0, 3.1.0.1, 3.1.0.2, 4.1.0.1 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | aeson (>=2.3 && <2.4), base (>=4.9 && <5), bytestring (>=0.11 && <0.12), containers (>=0.5 && <0.7), directory (>=1.3.6 && <1.4), exploring-interpreters (>=1.4.0 && <1.5), filepath (>=1.4.2 && <1.5), gll (>=0.4.1 && <0.5), haskeline (>=0.8.1 && <0.9), mtl (>=2.2 && <2.3), network (>=3.1 && <3.2), regex-applicative (>=0.3.3 && <0.4), text (>=1.2.4 && <1.3), transformers (>=0.5.6 && <0.6) [details] |
| License | BSD-3-Clause |
| Copyright | Copyright (C) 2019-2020 Centrum Wiskunde & Informatica (CWI), Copyright (C) 2019- University of Amsterdam (UvA) |
| Author | L. Thomas van Binsbergen |
| Maintainer | ltvanbinsbergen@acm.org |
| Uploaded | by ltvanbinsbergen at 2026-08-24T09:57:20Z |
| Category | Language |
| Home page | https://gitlab.com/eflint |
| Bug tracker | https://gitlab.com/eflint/haskell-implementation |
| Distributions | |
| Executables | eflint-repl, eflint-server |
| Downloads | 513 total (10 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs not available [build log] All reported builds failed as of 2026-08-24 [all 2 reports] |