-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathghc-language-plugin.cabal
104 lines (98 loc) · 2.63 KB
/
ghc-language-plugin.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
cabal-version: 3.0
name: ghc-language-plugin
synopsis: A compiler plugin to provide nondeterminism as a language feature
version: 0.1.0.0
license: BSD-3-Clause
license-file: LICENSE
copyright: (c) 2019-2020, Kai-Oliver Prott
maintainer: [email protected]
author: Kai-Oliver Prott
category: Language
build-type: Simple
stability: experimental
description:
This compiler plugin for GHC enables the use of nondeterminism with
call-time-choice as a language feauture.
It can be activated per-module and provides the user with an
operator "(?) :: a -> a -> a",
that nondeterministically chooses between its arguments.
The user can get all values of a particular nondeterministic computation from
within normal Haskell code by using the function "eval".
extra-source-files:
README.md
source-repository head
type: git
location: https://git.ps.informatik.uni-kiel.de/theses/2020/2020-kprott-ma/
common deps
hs-source-dirs: src
build-depends:
base ^>= 4.16.0.0,
ghc ^>= 9.2,
ghc-prim -any,
template-haskell -any,
bytestring -any,
containers -any,
transformers -any,
mtl -any,
extra -any,
split -any,
ghc-options: -Wall
default-language: Haskell2010
other-extensions:
TupleSections,
RecursiveDo,
EmptyCase,
LambdaCase,
OverloadedStrings,
TypeFamilies,
RankNTypes,
ScopedTypeVariables,
ExistentialQuantification,
TypeOperators,
FlexibleContexts,
FlexibleInstances,
UndecidableInstances,
FunctionalDependencies,
DeriveFunctor,
DeriveGeneric,
DeriveDataTypeable,
GeneralizedNewtypeDeriving,
DeriveAnyClass,
EmptyDataDeriving,
StandaloneDeriving,
DefaultSignatures,
MultiParamTypeClasses,
TemplateHaskell
other-modules:
Data.Syb
Plugin.Dump
Plugin.Trans.Config
Plugin.Trans.Coerce
Plugin.Trans.Expr
Plugin.Trans.Import
Plugin.Trans.Constr
Plugin.Trans.Class
Plugin.Trans.CreateSyntax
Plugin.Trans.ClsInst
Plugin.Trans.TyCon
Plugin.Trans.Record
Plugin.Trans.DictInstFun
Plugin.Trans.Type
Plugin.Trans.Util
Plugin.Trans.Var
Plugin.Trans.Pat
Plugin.Trans.LExprEQ
Plugin.Trans.FunWiredIn
Plugin.Trans.TysWiredIn
Plugin.Trans.Preprocess
Plugin.Trans.Derive
Plugin.Trans.PatternMatching
Plugin.Trans.ConstraintSolver
Plugin.Trans.Rule
library
import: deps
exposed-modules:
Plugin.LanguagePlugin
Plugin.Effect.Classes
Plugin.Effect.Transformers
Plugin.Effect.Annotation