-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathelemental.cabal
119 lines (112 loc) · 3.41 KB
/
elemental.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
cabal-version: 2.2
name: elemental
version: 0.1.0.0
synopsis: A compiler for the Elemental intermediate language
description:
The Elemental language is a lambda calculus similar to System F but extended
with a foreign function interface intended for use as an intermediate
language for more practical total functional programming languages.
This package is a compiler of the language that targets LLVM and requires no
runtime system or heap.
See the "Language.Elemental" module for more information on how to use the
library.
bug-reports: https://github.com/AlexandreTunstall/Elemental-Compiler/issues
-- There is no license yet (i.e. all rights reserved)
-- Please contact me if you would like to use the package or contribute to it
-- license: AllRightsReserved
-- license-file: LICENSE
author: Alexandre Tunstall
maintainer: alexandrejamestunstall@gmail.com
copyright: © 2020-2021 Alexandre Tunstall
-- homepage:
category: Compiler, Development, Language
build-type: Simple
tested-with: GHC == 8.10.7
extra-source-files: test/Golden/*.elem, test/Golden/*.ll
common shared
build-depends:
base ^>= 4.14
, bytestring ^>= 0.10
, containers ^>= 0.6
, data-fix ^>= 0.3
, fused-effects ^>= 1.1
, integer-logarithms ^>= 1.0
, llvm-hs == 9.0.1
, llvm-hs-pure ^>= 9.0
, megaparsec ^>= 9.0
, prettyprinter ^>= 1.7
, text ^>= 1.2
, text-short ^>= 0.1
default-language: Haskell2010
ghc-options:
-Wall
-Wcompat
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wmonomorphism-restriction
-Wmissing-home-modules
-Widentities
-Wredundant-constraints
-Wpartial-fields
-Wmissed-specialisations
-Wstar-is-type
-- Warnings not documented as not being enabled by -Wall?
-Wmissing-deriving-strategies
-- -Wunused-packages
library
import: shared
hs-source-dirs: src
exposed-modules:
Language.Elemental
, Language.Elemental.Algebra
, Language.Elemental.AST.Decl
, Language.Elemental.AST.Expr
, Language.Elemental.AST.Program
, Language.Elemental.AST.Type
, Language.Elemental.AST.Unchecked
, Language.Elemental.Diagnostic
, Language.Elemental.Emit
, Language.Elemental.Location
, Language.Elemental.Parser
, Language.Elemental.Pretty
, Language.Elemental.Primitive
, Language.Elemental.Singleton
, Language.Elemental.Singleton.Unsafe
, Language.Elemental.TypeCheck
, Control.Carrier.IRBuilder
, Control.Carrier.ModuleBuilder
, Control.Effect.IRBuilder
, Control.Effect.ModuleBuilder
other-modules:
Paths_elemental
ghc-options:
-Wmissing-export-lists
executable elemental
import: shared
main-is: Main.hs
hs-source-dirs: cli
build-depends:
prettyprinter-ansi-terminal ^>= 1.1
ghc-options:
-threaded
-- Very creatively named
test-suite test
import: shared
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
other-modules:
Gen
, Golden
, Location
, Pretty
, Util
build-depends:
elemental
, filepath ^>= 1.4
, hedgehog ^>= 1.0
, tasty ^>= 1.4
, tasty-golden ^>= 2.3
, tasty-hedgehog ^>= 1.1
ghc-options:
-threaded