Eiger: Auditable, executable, flexible legal regulations
Despite recent advances in communication and automation, regulations are still written in natural-language prose, subject to ambiguity, inconsistency, and incompleteness. How can we craft regulations with precision? Our solution is embodied in Eiger, a domain-specific programming language embedded i...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Despite recent advances in communication and automation, regulations are
still written in natural-language prose, subject to ambiguity, inconsistency,
and incompleteness. How can we craft regulations with precision? Our solution
is embodied in Eiger, a domain-specific programming language embedded in
Haskell. A domain expert pairs with a software engineer to write regulations in
Eiger. The domain expert needs only to read and audit the code, but not write
it. A first, limited, user study suggests that this works well in practice
because Eiger code mostly looks like Excel formulas with simple SQL queries.
Eiger forms the kernel of a new strategy to deliver value to clients in our
professional services business with increased automation and precision. The
framework is executable: based on client data, we can use Eiger both to deduce
how best to adapt to a new regulation and then maintain compliance. This paper
reviews the design of Eiger and walks through its implementation. To preserve a
straightforward surface syntax but with monadic semantics, we have leveraged
advanced features, including GHC.Generics, the new OverloadedRecordDot
extension, and a novel approach to performing class instance selection at
run-time. |
---|---|
DOI: | 10.48550/arxiv.2209.04939 |