on 385dcbf help sign in
Idris-dev/idris.cabal
436 lines 14 kB history raw
1Name: idris
2Version: 1.0
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.8.1
45Build-type: Custom
47Tested-With: GHC == 7.6.3, GHC == 7.8.4, 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
100Flag FFI
101 Description: Build support for libffi
102 Default: False
103 manual: True
105Flag GMP
106 Description: Use GMP for Integers
107 Default: False
108 manual: True
110-- This flag determines whether to show Git hashes in version strings
111-- Defaults to True because Hackage is a source release
112Flag release
113 Description: This is an official release
114 Default: False
115 manual: True
117Flag freestanding
118 Description: Build an Idris that doesn't use cabal
119 Default: False
120 manual: True
122Flag CI
123 Description: Built everything using "-Werror", meant for CI-builds only
124 Default: False
125 manual: True
127Flag execonly
128 Description: Build executables only, skip the libraries and RTS
129 Default: False
130 manual: True
132Library
133 hs-source-dirs: src
134 Exposed-modules:
135 Idris.Core.Binary
136 , Idris.Core.CaseTree
137 , Idris.Core.Constraints
138 , Idris.Core.DeepSeq
139 , Idris.Core.Elaborate
140 , Idris.Core.Evaluate
141 , Idris.Core.Execute
142 , Idris.Core.ProofState
143 , Idris.Core.ProofTerm
144 , Idris.Core.TT
145 , Idris.Core.Typecheck
146 , Idris.Core.Unify
147 , Idris.Core.WHNF
149 , Idris.Elab.Utils
150 , Idris.Elab.Type
151 , Idris.Elab.AsPat
152 , Idris.Elab.Clause
153 , Idris.Elab.Data
154 , Idris.Elab.Record
155 , Idris.Elab.Interface
156 , Idris.Elab.Implementation
157 , Idris.Elab.Provider
158 , Idris.Elab.RunElab
159 , Idris.Elab.Transform
160 , Idris.Elab.Value
161 , Idris.Elab.Term
162 , Idris.Elab.Quasiquote
163 , Idris.Elab.Rewrite
165 , Idris.REPL.Browse
167 , Idris.AbsSyntax
168 , Idris.AbsSyntaxTree
169 , Idris.Apropos
170 , Idris.ASTUtils
171 , Idris.CaseSplit
172 , Idris.Chaser
173 , Idris.Colours
174 , Idris.Completion
175 , Idris.Coverage
176 , Idris.DSL
177 , Idris.DataOpts
178 , Idris.DeepSeq
179 , Idris.Delaborate
180 , Idris.Directives
181 , Idris.Docs
182 , Idris.Docstrings
183 , Idris.ElabDecls
184 , Idris.Erasure
185 , Idris.Error
186 , Idris.ErrReverse
187 , Idris.Help
188 , Idris.IBC
189 , Idris.IdeMode
190 , Idris.IdrisDoc
191 , Idris.Imports
192 , Idris.Info
193 , Idris.Info.Show
194 , Idris.Inliner
195 , Idris.Interactive
196 , Idris.Output
197 , Idris.Main
198 , Idris.ModeCommon
199 , Idris.Options
200 , Idris.Parser
201 , Idris.Parser.Helpers
202 , Idris.Parser.Ops
203 , Idris.Parser.Expr
204 , Idris.Parser.Data
205 , Idris.PartialEval
206 , Idris.Primitives
207 , Idris.ProofSearch
208 , Idris.Prover
209 , Idris.Providers
210 , Idris.Reflection
211 , Idris.REPL
212 , Idris.REPL.Parser
213 , Idris.REPL.Commands
214 , Idris.Termination
215 , Idris.Transforms
216 , Idris.TypeSearch
217 , Idris.Unlit
218 , Idris.WhoCalls
219 , Idris.CmdOptions
221 , IRTS.BCImp
222 , IRTS.Bytecode
223 , IRTS.CodegenC
224 , IRTS.CodegenCommon
225 , IRTS.CodegenJavaScript
226 , IRTS.Exports
227 , IRTS.JavaScript.AST
228 , IRTS.JavaScript.Name
229 , IRTS.JavaScript.Codegen
230 , IRTS.JavaScript.LangTransforms
231 , IRTS.JavaScript.Specialize
232 , IRTS.JavaScript.PrimOp
233 , IRTS.Compiler
234 , IRTS.Defunctionalise
235 , IRTS.DumpBC
236 , IRTS.Inliner
237 , IRTS.Lang
238 , IRTS.LangOpts
239 , IRTS.Portable
240 , IRTS.Simplified
241 , IRTS.System
243 , Idris.Package
244 , Idris.Package.Common
246 , Util.DynamicLinker
247 , Util.ScreenSize
248 , Util.System
250 Other-modules:
251 Util.Pretty
252 , Util.Net
254 , Idris.Package.Parser
256 -- Auto Generated
257 , Paths_idris
258 , Version_idris
259 , Tools_idris
261 Build-depends: base >=4 && <5
262 , aeson >= 0.6 && < 1.2
263 , annotated-wl-pprint >= 0.7 && < 0.8
264 , ansi-terminal < 0.7
265 , ansi-wl-pprint < 0.7
266 , array >= 0.4.0.1 && < 0.6
267 , base64-bytestring < 1.1
268 , binary >= 0.7 && < 0.9
269 , blaze-html >= 0.6.1.3 && < 0.10
270 , blaze-markup >= 0.5.2.1 && < 0.9
271 , bytestring < 0.11
272 , cheapskate < 0.2
273 , code-page >= 0.1 && < 0.2
274 , containers >= 0.5 && < 0.6
275 , deepseq < 1.5
276 , directory >= 1.2.2.0 && < 1.2.3.0 || > 1.2.3.0
277 , filepath < 1.5
278 , fingertree >= 0.1 && < 0.2
279 , haskeline >= 0.7 && < 0.8
280 , ieee754 >= 0.7 && <= 0.8.0
281 , mtl >= 2.1 && < 2.3
282 , network < 2.7
283 , optparse-applicative >= 0.13 && < 0.14
284 , parsers >= 0.9 && < 0.13
285 , pretty < 1.2
286 , regex-tdfa >= 1.2
287 , split < 0.3
288 , terminal-size < 0.4
289 , text >=1.2.1.0 && < 1.3
290 , time >= 1.4 && < 1.7
291 , transformers < 0.6
292 , transformers-compat >= 0.3
293 , trifecta >= 1.6 && < 1.7
294 , uniplate >=1.6 && < 1.7
295 , unordered-containers < 0.3
296 , utf8-string < 1.1
297 , vector < 0.13
298 , vector-binary-instances < 0.3
299 , zip-archive > 0.2.3.5 && < 0.4
300 , fsnotify >= 0.2 && < 2.2
301 , async < 2.2
304 -- zlib >= 0.6.1 is broken with GHC < 7.10.3
305 -- Travis is broken for 7.6 and 7.8 with a newer process
306 if impl(ghc < 7.10.3)
307 build-depends: zlib < 0.6.1
308 , process < 1.3
309 else
310 build-depends: process < 1.5
312 -- safe 0.3.10 is having issues with cabal 1.20 and ghc 7.6.3, the
313 -- hvr ghc ppa doesn't provide a new enough cabal library. Temporary
314 -- fix until hvr ghc ppa is fixed or we deprecate support for 7.6.3.
315 if impl(ghc < 7.8.4)
316 build-depends: safe == 0.3.9
317 else
318 build-depends: safe >= 0.3.9
320 if impl(ghc < 7.8.4)
321 build-depends: tagsoup < 0.14.1
323 Extensions: MultiParamTypeClasses
324 , DeriveFoldable
325 , DeriveTraversable
326 , FunctionalDependencies
327 , FlexibleContexts
328 , FlexibleInstances
329 , TemplateHaskell
331 ghc-prof-options: -auto-all -caf-all
333 if os(linux)
334 build-depends: unix < 2.8
335 if os(freebsd)
336 build-depends: unix < 2.8
337 if os(dragonfly)
338 build-depends: unix < 2.8
339 if os(darwin)
340 build-depends: unix < 2.8
341 if os(windows)
342 build-depends: mintty >= 0.1 && < 0.2
343 , Win32 < 2.4
344 if flag(FFI)
345 build-depends: libffi < 0.2
346 cpp-options: -DIDRIS_FFI
347 if flag(GMP)
348 build-depends: libffi < 0.2
349 extra-libraries: gmp
350 cpp-options: -DIDRIS_GMP
351 if flag(freestanding)
352 other-modules: Target_idris
353 cpp-options: -DFREESTANDING
354 if flag(CI)
355 ghc-options: -Werror
357Executable idris
358 Main-is: Main.hs
359 hs-source-dirs: main
361 Build-depends: idris
362 , base
363 , filepath
364 , directory
365 , haskeline >= 0.7
366 , transformers
368 ghc-prof-options: -auto-all -caf-all
369 ghc-options: -threaded -rtsopts -funbox-strict-fields -with-rtsopts=-I0
371Test-suite regression-and-feature-tests
372 Type: exitcode-stdio-1.0
373 Main-is: TestRun.hs
374 Other-modules: TestData
375 hs-source-dirs: test
377 Build-depends: idris
378 , base
379 , containers
380 , process
381 , time
382 , filepath
383 , directory
384 , haskeline >= 0.7
385 , optparse-applicative >= 0.11 && < 0.14
386 , tagged
387 , tasty >= 0.8
388 , tasty-golden >= 2.0
389 , tasty-rerun >= 1.0.0
390 , bytestring
391 , transformers
392 if impl(ghc < 7.10)
393 Extensions: DeriveDataTypeable
396 ghc-prof-options: -auto-all -caf-all
397 ghc-options: -threaded -rtsopts -with-rtsopts=-N -funbox-strict-fields
399Executable idris-codegen-c
400 Main-is: Main.hs
401 hs-source-dirs: codegen/idris-codegen-c
403 Build-depends: idris
404 , base
405 , filepath
406 , haskeline >= 0.7
407 , transformers
409 ghc-prof-options: -auto-all -caf-all
410 ghc-options: -threaded -rtsopts -funbox-strict-fields
412Executable idris-codegen-javascript
413 Main-is: Main.hs
414 hs-source-dirs: codegen/idris-codegen-javascript
416 Build-depends: idris
417 , base
418 , filepath
419 , haskeline >= 0.7
420 , transformers
422 ghc-prof-options: -auto-all -caf-all
423 ghc-options: -threaded -rtsopts -funbox-strict-fields
425Executable idris-codegen-node
426 Main-is: Main.hs
427 hs-source-dirs: codegen/idris-codegen-node
429 Build-depends: idris
430 , base
431 , filepath
432 , haskeline >= 0.7
433 , transformers
435 ghc-prof-options: -auto-all -caf-all
436 ghc-options: -threaded -rtsopts -funbox-strict-fields