]> Git — Sourcephile - haskell/symantic.git/blob - symantic.cabal
Add Compiling, Interpreting and Transforming.
[haskell/symantic.git] / symantic.cabal
1 author: Julien Moutinho <julm+symantic@autogeree.net>
2 -- bug-reports: http://doc.autogeree.net/symantic/bugs
3 build-type: Simple
4 cabal-version: >= 1.10
5 category: Language
6 -- data-dir: data
7 -- data-files:
8 description:
9 Library for composing, typing, compiling, transforming and interpreting
10 a custom DSL (Domain-Specific Language)
11 expressing a subset of GHC's Haskell.
12 .
13 Your comments, problem reports, or questions are very welcome! :-)
14 .
15 NOTE: the symantic approach was developped for embedded DSL
16 by Jacques Carette, Oleg Kiselyov and Chung-chieh Shan,
17 see: <http://okmij.org/ftp/tagless-final/ Tagless-Final>.
18 .
19 NOTE: alternative libraries to do more or less the same things
20 include: <https://hackage.haskell.org/package/syntactic syntactic>.
21 extra-source-files:
22 extra-tmp-files:
23 -- homepage: http://pad.autogeree.net/informatique/symantic/
24 license: GPL-3
25 license-file: COPYING
26 maintainer: Julien Moutinho <julm+symantic@autogeree.net>
27 name: symantic
28 stability: experimental
29 synopsis: Library for Typed Tagless-Final Higher-Order Extensible DSL
30 tested-with: GHC==7.10.3
31 version: 2.20161201
32
33 Source-Repository head
34 location: git://git.autogeree.net/symantic
35 type: git
36
37 Flag dev
38 Default: False
39 Description: Turn on development settings.
40 Manual: True
41
42 Flag dump
43 Default: False
44 Description: Dump some intermediate files.
45 Manual: True
46
47 Flag prof
48 Default: False
49 Description: Turn on profiling settings.
50 Manual: True
51
52 Flag threaded
53 Default: False
54 Description: Enable threads.
55 Manual: True
56
57 Library
58 default-extensions:
59 ghc-options: -Wall -fno-warn-tabs
60 if flag(dev)
61 cpp-options: -DDEVELOPMENT
62 ghc-options:
63 -- -ddump-splices
64 -- -fno-warn-unused-do-bind -fno-warn-name-shadowing -fno-warn-missing-signatures
65 -- -fno-warn-type-defaults -fno-warn-orphans
66 if flag(dump)
67 ghc-options: -ddump-simpl -ddump-stg -ddump-to-file
68 if flag(prof)
69 cpp-options: -DPROFILING
70 ghc-options: -fprof-auto
71 default-language: Haskell2010
72 exposed-modules:
73 Language.Symantic
74 Language.Symantic.Lib.Data.Type.List
75 Language.Symantic.Lib.Data.Type.Peano
76 Language.Symantic.Typing
77 Language.Symantic.Typing.Kind
78 Language.Symantic.Typing.Constant
79 Language.Symantic.Typing.Type
80 Language.Symantic.Typing.Constraint
81 Language.Symantic.Typing.Syntax
82 Language.Symantic.Compiling
83 Language.Symantic.Compiling.Term
84 Language.Symantic.Compiling.Bool
85 Language.Symantic.Compiling.Eq
86 Language.Symantic.Interpreting
87 Language.Symantic.Interpreting.Host
88 Language.Symantic.Interpreting.Text
89 Language.Symantic.Interpreting.Dup
90 Language.Symantic.Transforming
91 Language.Symantic.Transforming.Trans
92 build-depends:
93 base >= 4.6 && < 5
94 , containers
95 , ghc-prim
96 -- , mono-traversable
97 , transformers
98 , text
99
100 Test-Suite symantic-test
101 type: exitcode-stdio-1.0
102 default-extensions:
103 OverloadedStrings
104 default-language: Haskell2010
105 ghc-options: -Wall -fno-warn-tabs
106 -main-is Test
107 hs-source-dirs: Language/Symantic
108 main-is: Test.hs
109 other-modules:
110 Typing.Test
111 Compiling.Test
112 if flag(threaded)
113 ghc-options: -threaded -rtsopts -with-rtsopts=-N
114 if flag(dev)
115 cpp-options: -DDEVELOPMENT
116 ghc-options:
117 if flag(prof)
118 cpp-options: -DPROFILING
119 ghc-options: -fprof-auto
120 build-depends:
121 base >= 4.6 && < 5
122 , containers
123 -- , mono-traversable
124 , transformers
125 , tasty >= 0.11
126 , tasty-hunit
127 , text
128 , symantic