Thanks as always to everyone who has contributed, either with code, documentation or by testing and reporting issues. You can find the names of all contributors in the CONTRIBUTORS file in the source repository.
Idris is still research software, so we expect there to be bugs. Please don’t keep them to yourself! If you find any problem, please report it on the github issue tracker. It is very helpful if you can also provide a small test case which reproduces your problem.
Also, do let us know how you get on in general either via the mailing list or the #idris channel on irc.freenode.net.
The main new features and updates are:
Library operators have been renamed for consistency with corresponding operators in Haskell. In particular,
(<$>)is now an alias for
(<$)have been renamed to
(*>). The cascading effects of this rename are that
Algebra.(<*>)has been renamed to
- Types errors have been improved, now giving the provenance of incorrect types
- Documentation has been updated and moved to
docs.idris-lang.org, hosted by Read the Docs.
- Web documentation is now available for packages, from the Documentation page.
- A new package
contribhas been added to the libraries. This is for things which are less mature or less used than the contents of
contribis not available by default, so you may need to add
-p contribto your
.ipkgfile or Idris command line.
- Instances and type providers can now be given documentation strings.
- Lots of issues relating to type class resolution have been resolved. In particular:
- Arguments are now checked for injectivity, since this is assumed throughout unification
- Multi-parameter type classes can now be given determining parameters, which are the parameters used to resolve class instances. Only determining parameters are assumed and checked to be injective.
- Binding forms in
dslnotation are now given an extra argument: a reflected representation of the name that the user chose. Specifically, the rewritten
letbinders will now get an extra argument of type
TTName. This allows more understandable dynamic errors in DSL code and more readable code generation results.
- The Foreign Function Interface has been updated to support multiple back end descriptions.
- A new
FFI_Exporttype has been added, supporting export of functions to be called by foreign code. Details of the FFI and its interaction with back ends are given in this draft paper.