man(1) Idris man page man(1)

idris - a general purpose pure functional programming language with dependent types.

idris [ options] [FILES]

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

+ Simple case expressions, where-clauses, with-rule

+ Pattern matching let- and lambda-bindings

+ Overloading via Interfaces (Type class-like), 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

+ 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.

--nobanner Suppress the banner -q,--quiet Quiet verbosity --ide-mode Run the Idris REPL with machine-readable syntax --ide-mode-socket Choose a socket for IDE mode to listen on --ideslave Deprecated version of --ide-mode --ideslave-socket Deprecated version of --ide-mode-socket --log LEVEL Debugging log level --logging-categories CATS Colon separated logging categories. Use --listlogcats to see list. --nobasepkgs Do not use the given base package --noprelude Do not use the given prelude --nobuiltins Do not use the builtin functions --check Typecheck only, don't start the REPL -o,--output FILE Specify output file --interface Generate interface files from ExportLists --typeintype Turn off Universe checking --total Require functions to be total by default --warnpartial Warn about undeclared partial functions --warnreach Warn about reachable but inaccessible arguments --listlogcats Display logging categories --link Display link flags --listlibs Display installed libraries --libdir Display library directory --include Display the includes flags --V2 Loudest verbosity --V1 Louder verbosity -V, --V0, --verbose Loud verbosity --ibcsubdir FILE Write IBC files into sub directory -i,--idrispath ARG Add directory to the list of import paths --sourcepath ARG Add directory to the list of source search paths -p,--package ARG Add package as a dependency --port PORT REPL TCP port --build IPKG Build package --install IPKG Install package --repl IPKG Launch REPL, only for executables --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 --codegen TARGET Select code generator: C, Javascript, Node and bytecode are bundled with Idris --cg-opt ARG Arguments to pass to code generator -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) --partial-eval Switch on partial evaluation --target TRIPLE If supported the codegen will target the named triple. --cpu CPU If supported the codegen will target the named CPU e.g. corei7 or cortex-m3. --color,--colour Force coloured output --nocolor,--nocolour Disable coloured output --optimise-nat-like-types,--optimize-nat-like-types Compile Nat-like types to big ints --no-optimise-nat-like-types,--no-optimize-nat-like-types Do not compile Nat-like types to big ints --consolewidth WIDTH Select console width: auto, infinite, nat --highlight Emit source code highlighting --no-tactic-deprecation-warnings Disable deprecation warnings for the old tactic sublanguage -v,--version Print version information -h,--help Show this help text

+ The IDRIS web site (https://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

The Idris Community
23 May 2020 1.3.3