eflint-4.1.0.1: eflint.cabal
cabal-version: 2.0
name: eflint
version: 4.1.0.1
synopsis: Reference interpreter for eFLINT specifications and scenario evaluation
description:
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>
bug-reports: https://gitlab.com/eflint/haskell-implementation
homepage: https://gitlab.com/eflint
license: BSD3
license-file: LICENSE
author: L. Thomas van Binsbergen
maintainer: ltvanbinsbergen@acm.org
copyright: Copyright (C) 2019-2020 Centrum Wiskunde & Informatica (CWI),
Copyright (C) 2019- University of Amsterdam (UvA)
category: Language
build-type: Simple
extra-source-files: CHANGELOG.md
executable eflint-server
main-is: Server.hs
other-modules: Language.EFLINT.State
Language.EFLINT.Spec
Language.EFLINT.Parse
Language.EFLINT.Print
Language.EFLINT.StaticEval
Language.EFLINT.FormExtraction
Language.EFLINT.Eval
Language.EFLINT.Saturation
Language.EFLINT.Binders
Language.EFLINT.JSON
Language.EFLINT.Explorer
Language.EFLINT.Interpreter
Language.EFLINT.Util
Language.EFLINT.Options
build-depends: base >=4.9 && < 5
, containers >=0.5 && <0.7
, gll ^>= 0.4.1
, regex-applicative ^>= 0.3.3
, aeson ^>= 2.3
, bytestring ^>= 0.11
, network ^>= 3.1
, text ^>= 1.2.4
, filepath ^>= 1.4.2
, directory ^>= 1.3.6
, exploring-interpreters ^>= 1.4.0
, mtl ^>= 2.2
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -fwarn-incomplete-patterns -fwarn-unused-imports -fwarn-unused-packages
executable eflint-repl
main-is: REPL.hs
other-modules: Language.EFLINT.State
Language.EFLINT.Spec
Language.EFLINT.Parse
Language.EFLINT.Print
Language.EFLINT.StaticEval
Language.EFLINT.Eval
Language.EFLINT.Saturation
Language.EFLINT.Binders
Language.EFLINT.JSON,
Language.EFLINT.Explorer
Language.EFLINT.Interpreter
Language.EFLINT.Util
Language.EFLINT.Options
build-depends: base >=4.9 && < 5
, containers >=0.5 && <0.7
, gll ^>= 0.4.1
, regex-applicative ^>= 0.3.3
, aeson ^>= 2.3
, filepath ^>= 1.4.2
, directory ^>= 1.3.6
, mtl ^>= 2.2
, haskeline ^>= 0.8.1
, transformers ^>= 0.5.6
, exploring-interpreters ^>= 1.4.0
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -fwarn-incomplete-patterns -fwarn-unused-imports -fwarn-unused-packages
library
exposed-modules : Language.EFLINT.State
, Language.EFLINT.Spec
, Language.EFLINT.Parse
, Language.EFLINT.Print
, Language.EFLINT.Interpreter
, Language.EFLINT.Explorer
, Language.EFLINT.Saturation
other-modules:
Language.EFLINT.StaticEval
Language.EFLINT.Eval
Language.EFLINT.Binders
Language.EFLINT.JSON
Language.EFLINT.Util
Language.EFLINT.Options
build-depends: base >=4.9 && < 5
, containers >=0.5 && <0.7
, gll ^>= 0.4.1
, regex-applicative ^>= 0.3.3
, aeson ^>= 2.3
, filepath ^>= 1.4.2
, directory ^>= 1.3.6
, exploring-interpreters ^>= 1.4.0
, mtl ^>= 2.2
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -fwarn-incomplete-patterns -fwarn-unused-imports -fwarn-unused-packages