-
Notifications
You must be signed in to change notification settings - Fork 2
/
curry-ghc-language-plugin.cabal
145 lines (136 loc) · 3.6 KB
/
curry-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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
cabal-version: 3.0
name: curry-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
Plugin.CurryPlugin
Plugin.CurryPlugin.Prelude
Plugin.CurryPlugin.BuiltIn
Plugin.CurryPlugin.Encapsulation
Plugin.CurryPlugin.Monad
other-modules:
Plugin.CurryPlugin.ForeignExport
Plugin.CurryPlugin.THEval
Plugin.CurryPlugin.Tree
test-suite tests
import: deps
type: detailed-0.9
hs-source-dirs: test
test-module: Tests
other-modules:
SemanticTests
Tests.Guards
Tests.UnknownNat
Tests.LetPattern
Tests.Bang
Plugin.LanguagePlugin
Plugin.CurryPlugin
Plugin.CurryPlugin.BuiltIn
Plugin.CurryPlugin.ForeignExport
Plugin.CurryPlugin.Encapsulation
Plugin.CurryPlugin.Prelude
Plugin.CurryPlugin.Monad
Plugin.Effect.Classes
Plugin.Effect.Annotation
Plugin.Effect.Transformers
Plugin.CurryPlugin.THEval
Plugin.CurryPlugin.Tree
build-depends:
curry-ghc-language-plugin,
process -any,
filepath -any,
directory -any,
Cabal ^>= 3.4.0.0