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