.. _sect-concs:

***************
Further Reading
***************

Further information about Idris programming, and programming with
dependent types in general, can be obtained from various sources:

*  `Type-Driven Development with Idris <https://www.manning.com/books/type-driven-development-with-idris>`_
   by Edwin Brady, available from `Manning <https://www.manning.com>`_.

*  The Idris web site (https://www.idris-lang.org/) and by asking
   questions on the mailing list.

*  The IRC channel ``#idris``, on
   `webchat.freenode.net <https://webchat.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

*  Examining the prelude and exploring the ``samples`` in the
   distribution. The Idris 2 source can be found online at:
   
   * https://github.com/edwinb/Idris2.

*  Existing projects on the ``Idris Hackers`` web space:
   
   * https://idris-hackers.github.io.

*  Various papers (e.g. [#BradyHammond2012]_, [#Brady]_, and [#BradyHammond2010]_).  Although these mostly
   describe older versions of Idris.

.. [#BradyHammond2012] Edwin Brady and Kevin Hammond. 2012. Resource-Safe systems
       programming with embedded domain specific languages. In
       Proceedings of the 14th international conference on Practical
       Aspects of Declarative Languages (PADL'12), Claudio Russo and
       Neng-Fa Zhou (Eds.). Springer-Verlag, Berlin, Heidelberg,
       242-257. DOI=10.1007/978-3-642-27694-1_18
       https://dx.doi.org/10.1007/978-3-642-27694-1_18

.. [#Brady] Edwin C. Brady. 2011. IDRIS ---: systems programming meets full
       dependent types. In Proceedings of the 5th ACM workshop on
       Programming languages meets program verification (PLPV
       '11). ACM, New York, NY, USA,
       43-54. DOI=10.1145/1929529.1929536
       https://doi.acm.org/10.1145/1929529.1929536

.. [#BradyHammond2010] Edwin C. Brady and Kevin Hammond. 2010. Scrapping your
       inefficient engine: using partial evaluation to improve
       domain-specific language implementation. In Proceedings of the
       15th ACM SIGPLAN international conference on Functional
       programming (ICFP '10). ACM, New York, NY, USA,
       297-308. DOI=10.1145/1863543.1863587
       https://doi.acm.org/10.1145/1863543.1863587