packages feed

idris-0.9.19.1: man/idris.1

.\" Manpage for Idris.
.\" Contact <> to correct errors or typos.
.TH man 1 "06 August 2014" "0.9.14.1" "Idris man page"
.SH NAME
idris -\ a general purpose pure functional programming language with dependent types.
.SH SYNOPSIS
idris [ options] [FILES]
.SH DESCRIPTION
Idris is a general purpose pure functional programming language with
dependent types. 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. It is compiled, with eager
evaluation. Its features are influenced by Haskell and ML.

+ Full dependent types with dependent pattern matching

+ where clauses, with rule, simple case expressions

+ pattern matching let and lambda bindings

+ Type classes, monad comprehensions

+ do notation, idiom brackets

+ syntactic conveniences for lists, tuples, dependent pairs

+ Totality checking

+ Coinductive types

+ Indentation significant syntax, extensible syntax

+ Tactic based theorem proving (influenced by Coq)

+ Cumulative universes

+ Simple foreign function interface (to C)

+ Hugs style interactive environment

It is important to note that Idris is first and foremost a research tool
and project. Thus the tooling provided and resulting programs created
should not necessarily be seen as production ready nor for industrial use.

.SH OPTIONS
  --nobanner               Suppress the banner
  -q,--quiet               Quiet verbosity
  --log LEVEL              Debugging log level
  -o,--output FILE         Specify output file
  --total                  Require functions to be total by default
  --warnpartial            Warn about undeclared partial functions
  --warnreach              Warn about reachable but inaccessible arguments
  --link                   Display link flags
  --libdir                 Display library directory
  --include                Display the includes flags
  -V,--verbose             Loud verbosity
  --ibcsubdir FILE         Write IBC files into sub directory
  -i,--idrispath ARG       Add directory to the list of import paths
  --build IPKG             Build package
  --install IPKG           Install package
  --clean IPKG             Clean package
  --mkdoc IPKG             Generate IdrisDoc for package
  --checkpkg IPKG          Check package only
  --testpkg IPKG           Run tests for package
  -S,--codegenonly         Do no further compilation of code generator output
  -c,--compileonly         Compile to object files rather than an executable
  --mvn                    Create a maven project (for Java codegen)
  --codegen TARGET         Select code generator: C, Java, bytecode
  -e,--eval EXPR           Evaluate an expression without loading the REPL
  --execute                Execute as idris
  --exec EXPR              Execute as idris
  -X,--extension EXT       Turn on language extension (TypeProviders or
                           ErrorReflection)
  --target TRIPLE          Select target triple (for llvm codegen)
  --cpu CPU                Select target CPU e.g. corei7 or cortex-m3 (for LLVM
                           codegen)
  --color,--colour         Force coloured output
  --nocolor,--nocolour     Disable coloured output
  -v,--version             Print version information
  -h,--help                Show this help text
.SH SEE ALSO

+ The IDRIS web site (http://idris-lang.org/

+  The IRC channel #idris, on chat.freenode.net

+ The wiki (https://github.com/idris-lang/Idris-dev/wiki/) has further user provided information, in particular:

  – https://github.com/idris-lang/Idris-dev/wiki/Manual

  – https://github.com/idris-lang/Idris-dev/wiki/Language-Features

.SH AUTHOR
The Idris Community