packages feed

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