eflint: Reference interpreter for eFLINT specifications and scenario evaluation

[ bsd3, language, library, program ] [ Propose Tags ] [ Report a vulnerability ]

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

[Last Documentation]

  • Language
    • EFLINT
      • Language.EFLINT.Explorer
      • Language.EFLINT.Interpreter
      • Language.EFLINT.Parse
      • Language.EFLINT.Print
      • Language.EFLINT.Saturation
      • Language.EFLINT.Spec
      • Language.EFLINT.State

Downloads

Maintainer's Corner

Package maintainers

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]