on aeb032a help sign in
Idris-dev/idris.cabal
421 lines 13 kB history raw
1Name: idris
2Version: 1.1.1
3License: BSD3
4License-file: LICENSE
5Author: Edwin Brady
6Maintainer: Edwin Brady <eb@cs.st-andrews.ac.uk>
7Homepage: http://www.idris-lang.org/
9Stability: Beta
10Category: Compilers/Interpreters, Dependent Types
11Synopsis: Functional Programming Language with Dependent Types
12Description: Idris is a general purpose language with full dependent types.
13 It is compiled, with eager evaluation.
14 Dependent types allow types to be predicated on values,
15 meaning that some aspects of a program's behaviour can be
16 specified precisely in the type. The language is closely
17 related to Epigram and Agda. There is a tutorial at
18 <http://www.idris-lang.org/documentation>.
19 Features include:
20 .
21 * Full, first class, dependent types with dependent pattern matching
22 .
23 * where clauses, with rule, case expressions,
24 pattern matching let and lambda bindings
25 .
26 * Interfaces (similar to type classes), monad comprehensions
27 .
28 * do notation, idiom brackets, syntactic conveniences for lists,
29 tuples, dependent pairs
30 .
31 * Totality checking
32 .
33 * Coinductive types
34 .
35 * Indentation significant syntax, extensible syntax
36 .
37 * Cumulative universes
38 .
39 * Simple foreign function interface (to C)
40 .
41 * Hugs style interactive environment
43Cabal-Version: >= 1.18
45Build-type: Custom
47Tested-With: GHC == 7.10.3, GHC == 8.0.1
49Data-files: idrisdoc/styles.css
50 jsrts/jsbn/jsbn-browser.js
51 jsrts/jsbn/jsbn-node.js
52 jsrts/Runtime-common.js
53 jsrts/Runtime-javascript.js
54 jsrts/Runtime-node.js
55 jsrts/jsbn/LICENSE
56 rts/arduino/idris_main.c
57 rts/idris_bitstring.c
58 rts/idris_bitstring.h
59 rts/idris_gc.c
60 rts/idris_gc.h
61 rts/idris_gmp.c
62 rts/idris_gmp.h
63 rts/idris_heap.c
64 rts/idris_heap.h
65 rts/idris_main.c
66 rts/idris_net.c
67 rts/idris_net.h
68 rts/idris_opts.c
69 rts/idris_opts.h
70 rts/idris_rts.c
71 rts/idris_rts.h
72 rts/idris_stats.c
73 rts/idris_stats.h
74 rts/idris_stdfgn.c
75 rts/idris_stdfgn.h
76 rts/mini-gmp.c
77 rts/mini-gmp.h
78 rts/libtest.c
80Extra-doc-files:
81 CHANGELOG.md
82 CITATION.md
83 CONTRIBUTING.md
84 CONTRIBUTORS
85 README.md
86 RELEASE-CHECKS.md
87 idris-tutorial.pdf
88 samples/effects/*.idr
89 samples/misc/*.idr
90 samples/misc/*.lidr
91 samples/tutorial/*.idr
93-- extra-source-files is generated by Setup.hs using `git --ls-files`.
94Extra-source-files:
96source-repository head
97 type: git
98 location: git://github.com/idris-lang/Idris-dev.git
100custom-setup
101 setup-depends:
102 Cabal >= 1.10 && <2.1,
103 base >= 4 && <5,
104 directory,
105 filepath,
106 process
108Flag FFI
109 Description: Build support for libffi
110 Default: False
111 manual: True
113Flag GMP
114 Description: Use GMP for Integers
115 Default: False
116 manual: True
118-- This flag determines whether to show Git hashes in version strings
119-- Defaults to True because Hackage is a source release
120Flag release
121 Description: This is an official release
122 Default: False
123 manual: True
125Flag freestanding
126 Description: Build an Idris that doesn't use cabal
127 Default: False
128 manual: True
130Flag CI
131 Description: Built everything using "-Werror", meant for CI-builds only
132 Default: False
133 manual: True
135Flag execonly
136 Description: Build executables only, skip the libraries and RTS
137 Default: False
138 manual: True
140Library
141 hs-source-dirs: src
142 Exposed-modules:
143 Idris.Core.Binary
144 , Idris.Core.CaseTree
145 , Idris.Core.Constraints
146 , Idris.Core.DeepSeq
147 , Idris.Core.Elaborate
148 , Idris.Core.Evaluate
149 , Idris.Core.Execute
150 , Idris.Core.ProofState
151 , Idris.Core.ProofTerm
152 , Idris.Core.TT
153 , Idris.Core.Typecheck
154 , Idris.Core.Unify
155 , Idris.Core.WHNF
157 , Idris.Elab.Utils
158 , Idris.Elab.Type
159 , Idris.Elab.AsPat
160 , Idris.Elab.Clause
161 , Idris.Elab.Data
162 , Idris.Elab.Record
163 , Idris.Elab.Interface
164 , Idris.Elab.Implementation
165 , Idris.Elab.Provider
166 , Idris.Elab.RunElab
167 , Idris.Elab.Transform
168 , Idris.Elab.Value
169 , Idris.Elab.Term
170 , Idris.Elab.Quasiquote
171 , Idris.Elab.Rewrite
173 , Idris.REPL.Browse
175 , Idris.AbsSyntax
176 , Idris.AbsSyntaxTree
177 , Idris.Apropos
178 , Idris.ASTUtils
179 , Idris.CaseSplit
180 , Idris.Chaser
181 , Idris.Colours
182 , Idris.Completion
183 , Idris.Coverage
184 , Idris.DSL
185 , Idris.DataOpts
186 , Idris.DeepSeq
187 , Idris.Delaborate
188 , Idris.Directives
189 , Idris.Docs
190 , Idris.Docstrings
191 , Idris.ElabDecls
192 , Idris.Erasure
193 , Idris.Error
194 , Idris.ErrReverse
195 , Idris.Help
196 , Idris.IBC
197 , Idris.IdeMode
198 , Idris.IdrisDoc
199 , Idris.Imports
200 , Idris.Info
201 , Idris.Info.Show
202 , Idris.Inliner
203 , Idris.Interactive
204 , Idris.Output
205 , Idris.Main
206 , Idris.ModeCommon
207 , Idris.Options
208 , Idris.Parser
209 , Idris.Parser.Helpers
210 , Idris.Parser.Ops
211 , Idris.Parser.Expr
212 , Idris.Parser.Data
213 , Idris.PartialEval
214 , Idris.Primitives
215 , Idris.ProofSearch
216 , Idris.Prover
217 , Idris.Providers
218 , Idris.Reflection
219 , Idris.REPL
220 , Idris.REPL.Parser
221 , Idris.REPL.Commands
222 , Idris.Termination
223 , Idris.Transforms
224 , Idris.TypeSearch
225 , Idris.Unlit
226 , Idris.WhoCalls
227 , Idris.CmdOptions
229 , IRTS.Bytecode
230 , IRTS.CodegenC
231 , IRTS.CodegenCommon
232 , IRTS.CodegenJavaScript
233 , IRTS.Exports
234 , IRTS.JavaScript.AST
235 , IRTS.JavaScript.Name
236 , IRTS.JavaScript.Codegen
237 , IRTS.JavaScript.LangTransforms
238 , IRTS.JavaScript.Specialize
239 , IRTS.JavaScript.PrimOp
240 , IRTS.Compiler
241 , IRTS.Defunctionalise
242 , IRTS.DumpBC
243 , IRTS.Inliner
244 , IRTS.Lang
245 , IRTS.LangOpts
246 , IRTS.Portable
247 , IRTS.Simplified
248 , IRTS.System
250 , Idris.Package
251 , Idris.Package.Common
252 , Idris.Package.Parser
254 , Util.DynamicLinker
255 , Util.ScreenSize
256 , Util.System
258 Other-modules:
259 Util.Pretty
260 , Util.Net
264 -- Auto Generated
265 , Paths_idris
266 , Version_idris
267 , Tools_idris
269 Build-depends: base >=4 && <5
270 , aeson >= 0.6 && < 1.3
271 , annotated-wl-pprint >= 0.7 && < 0.8
272 , ansi-terminal < 0.7
273 , ansi-wl-pprint < 0.7
274 , array >= 0.4.0.1 && < 0.6
275 , base64-bytestring < 1.1
276 , binary >= 0.8.4.1 && < 0.9
277 , blaze-html >= 0.6.1.3 && < 0.10
278 , blaze-markup >= 0.5.2.1 && < 0.9
279 , bytestring < 0.11
280 , cheapskate >= 0.1.1 && < 0.2
281 , code-page >= 0.1 && < 0.2
282 , containers >= 0.5 && < 0.6
283 , deepseq < 1.5
284 , directory >= 1.2.2.0 && < 1.2.3.0 || > 1.2.3.0
285 , filepath < 1.5
286 , fingertree >= 0.1 && < 0.2
287 , haskeline >= 0.7 && < 0.8
288 , ieee754 >= 0.7 && < 0.9
289 , megaparsec >= 6.2 && <6.3
290 , mtl >= 2.1 && < 2.3
291 , network < 2.7
292 , optparse-applicative >= 0.13 && < 0.15
293 , pretty < 1.2
294 , process < 1.7
295 , regex-tdfa >= 1.2
296 , safe >= 0.3.9
297 , split < 0.3
298 , terminal-size < 0.4
299 , text >=1.2.1.0 && < 1.3
300 , time >= 1.4 && < 1.9
301 , transformers < 0.6
302 , transformers-compat >= 0.3
303 , uniplate >=1.6 && < 1.7
304 , unordered-containers < 0.3
305 , utf8-string < 1.1
306 , vector < 0.13
307 , vector-binary-instances < 0.3
308 , zip-archive > 0.2.3.5 && < 0.4
309 , fsnotify >= 0.2 && < 2.2
310 , async < 2.2
312 if !impl(ghc >= 8.0)
313 Build-Depends: semigroups == 0.18.*
315 Default-Language: Haskell2010
316 ghc-prof-options: -auto-all -caf-all
318 if os(windows)
319 build-depends: mintty >= 0.1 && < 0.2
320 , Win32 < 2.7
321 else
322 build-depends: unix < 2.8
323 if flag(FFI)
324 build-depends: libffi < 0.2
325 cpp-options: -DIDRIS_FFI
326 if flag(GMP)
327 build-depends: libffi < 0.2
328 extra-libraries: gmp
329 cpp-options: -DIDRIS_GMP
330 if flag(freestanding)
331 other-modules: Target_idris
332 cpp-options: -DFREESTANDING
333 if flag(CI)
334 ghc-options: -Werror
336Executable idris
337 Main-is: Main.hs
338 hs-source-dirs: main
340 Build-depends: idris
341 , base
342 , filepath
343 , directory
344 , haskeline >= 0.7
345 , transformers
347 Default-Language: Haskell2010
348 ghc-prof-options: -auto-all -caf-all
349 ghc-options: -threaded -rtsopts -funbox-strict-fields -with-rtsopts=-I0
351Test-suite regression-and-feature-tests
352 Type: exitcode-stdio-1.0
353 Main-is: TestRun.hs
354 Other-modules: TestData
355 hs-source-dirs: test
357 Build-depends: idris
358 , base
359 , containers
360 , process
361 , time
362 , filepath
363 , directory
364 , haskeline >= 0.7
365 , optparse-applicative >= 0.13 && < 0.15
366 , tagged
367 , tasty >= 0.8
368 , tasty-golden >= 2.0
369 , tasty-rerun >= 1.0.0
370 , bytestring
371 , transformers
374 Default-Language: Haskell2010
375 ghc-prof-options: -auto-all -caf-all
376 ghc-options: -threaded -rtsopts -with-rtsopts=-N -funbox-strict-fields
378Executable idris-codegen-c
379 Main-is: Main.hs
380 other-modules: Paths_idris
381 hs-source-dirs: codegen/idris-codegen-c
383 Build-depends: idris
384 , base
385 , filepath
386 , haskeline >= 0.7
387 , transformers
389 Default-Language: Haskell2010
390 ghc-prof-options: -auto-all -caf-all
391 ghc-options: -threaded -rtsopts -funbox-strict-fields
393Executable idris-codegen-javascript
394 Main-is: Main.hs
395 other-modules: Paths_idris
396 hs-source-dirs: codegen/idris-codegen-javascript
398 Build-depends: idris
399 , base
400 , filepath
401 , haskeline >= 0.7
402 , transformers
404 Default-Language: Haskell2010
405 ghc-prof-options: -auto-all -caf-all
406 ghc-options: -threaded -rtsopts -funbox-strict-fields
408Executable idris-codegen-node
409 Main-is: Main.hs
410 other-modules: Paths_idris
411 hs-source-dirs: codegen/idris-codegen-node
413 Build-depends: idris
414 , base
415 , filepath
416 , haskeline >= 0.7
417 , transformers
419 Default-Language: Haskell2010
420 ghc-prof-options: -auto-all -caf-all
421 ghc-options: -threaded -rtsopts -funbox-strict-fields