idris: Functional Programming Language with Dependent Types

[ bsd3, compilers-interpreters, dependent-types, library, program ] [ Propose Tags ]

Idris is a general purpose language with full dependent types. It is compiled, with eager evaluation. Dependent types allow types to be predicated on values, meaning that some aspects of a program's behaviour can be specified precisely in the type. The language is closely related to Epigram and Agda. There is a tutorial at http://www.idris-lang.org/documentation. Features include:

Versions 0.1.3, 0.1.3.1, 0.1.4, 0.1.5, 0.1.7, 0.1.7.1, 0.9.0, 0.9.1, 0.9.2, 0.9.2.1, 0.9.3, 0.9.3.1, 0.9.4, 0.9.4.1, 0.9.5, 0.9.5.1, 0.9.6, 0.9.6.1, 0.9.7, 0.9.8, 0.9.9, 0.9.9.1, 0.9.9.2, 0.9.9.3, 0.9.10, 0.9.10.1, 0.9.11, 0.9.11.1, 0.9.11.2, 0.9.12, 0.9.13, 0.9.13.1, 0.9.14, 0.9.14.1, 0.9.14.2, 0.9.14.3, 0.9.15, 0.9.15.1, 0.9.16, 0.9.17, 0.9.17.1, 0.9.18, 0.9.18.1, 0.9.19, 0.9.19.1, 0.9.20, 0.9.20.1, 0.9.20.2, 0.10, 0.10.1, 0.10.2, 0.10.3, 0.11, 0.11.1, 0.11.2, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.99, 0.99.1, 0.99.2, 1.0, 1.1.0, 1.1.1, 1.2.0
Dependencies annotated-wl-pprint (>=0.5.3), ansi-terminal, ansi-wl-pprint, base (==4.*), base64-bytestring, binary, blaze-html (>=0.6.1.3), blaze-markup (>=0.5.2.1 && <0.7.0.0), bytestring, Cabal, cheapskate, containers (>=0.5), deepseq, directory (>=1.2), filepath, fingertree (>=0.1), haskeline (>=0.7), idris, language-java (>=0.2.6), lens (>=4.1.1), mtl, network, optparse-applicative (>=0.8), parsers (>=0.9 && <0.11.0.2), pretty, process, split, text, time (>=1.4), transformers, trifecta (>=1.1), unix, unordered-containers, utf8-string, vector, vector-binary-instances, Win32, xml, zlib [details]
License BSD-3-Clause
Author Edwin Brady
Maintainer Edwin Brady <eb@cs.st-andrews.ac.uk>
Category Compilers/Interpreters, Dependent Types
Home page http://www.idris-lang.org/
Source repo head: git clone git://github.com/idris-lang/Idris-dev.git
Uploaded by EdwinBrady at Wed Jul 30 18:55:20 UTC 2014
Distributions Arch:1.2.0, NixOS:1.2.0
Executables idris
Downloads 30856 total (207 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-14 [all 6 reports]
Hackage Matrix CI

Modules

  • IRTS
    • IRTS.BCImp
    • IRTS.Bytecode
    • IRTS.CodegenC
    • IRTS.CodegenCommon
    • IRTS.CodegenJava
    • IRTS.CodegenJavaScript
    • IRTS.Compiler
    • IRTS.Defunctionalise
    • IRTS.DumpBC
    • IRTS.Inliner
    • Java
      • IRTS.Java.ASTBuilding
      • IRTS.Java.JTypes
      • IRTS.Java.Mangling
      • IRTS.Java.Pom
    • JavaScript
      • IRTS.JavaScript.AST
    • IRTS.Lang
    • IRTS.Simplified
    • IRTS.System
  • Idris
    • Idris.ASTUtils
    • Idris.AbsSyntax
    • Idris.AbsSyntaxTree
    • Idris.Apropos
    • Idris.CaseSplit
    • Idris.Chaser
    • Idris.CmdOptions
    • Idris.Colours
    • Idris.Completion
    • Core
      • Idris.Core.Binary
      • Idris.Core.CaseTree
      • Idris.Core.Constraints
      • Idris.Core.DeepSeq
      • Idris.Core.Elaborate
      • Idris.Core.Evaluate
      • Idris.Core.Execute
      • Idris.Core.ProofState
      • Idris.Core.TC
      • Idris.Core.TT
      • Idris.Core.Typecheck
      • Idris.Core.Unify
    • Idris.Coverage
    • Idris.DSL
    • Idris.DataOpts
    • Idris.DeepSeq
    • Idris.Delaborate
    • Idris.Docs
    • Idris.Docstrings
    • Elab
      • Idris.Elab.Class
      • Idris.Elab.Clause
      • Idris.Elab.Data
      • Idris.Elab.Instance
      • Idris.Elab.Provider
      • Idris.Elab.Record
      • Idris.Elab.Type
      • Idris.Elab.Utils
      • Idris.Elab.Value
    • Idris.ElabDecls
    • Idris.ElabQuasiquote
    • Idris.ElabTerm
    • Idris.Erasure
    • Idris.ErrReverse
    • Idris.Error
    • Idris.Help
    • Idris.IBC
    • Idris.IdeSlave
    • Idris.IdrisDoc
    • Idris.Imports
    • Idris.Inliner
    • Idris.Interactive
    • Idris.Output
    • Idris.ParseData
    • Idris.ParseExpr
    • Idris.ParseHelpers
    • Idris.ParseOps
    • Idris.Parser
    • Idris.PartialEval
    • Idris.Primitives
    • Idris.ProofSearch
    • Idris.Prover
    • Idris.Providers
    • Idris.REPL
    • Idris.REPLParser
    • Idris.Transforms
    • Idris.TypeSearch
    • Idris.Unlit
    • Idris.WhoCalls
  • Pkg
    • Pkg.Package
  • Util
    • Util.DynamicLinker
    • Util.ScreenSize

Flags

NameDescriptionDefaultType
llvm

Build the LLVM backend

DisabledManual
ffi

Build support for libffi

DisabledManual
gmp

Use GMP for Integers

DisabledManual
curses

Use Curses to get the screen width

DisabledManual
release

This is an official release

EnabledManual
freestanding

Build an Idris that doesn't use cabal

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees