


[38;5;12m                                  [39m[38;2;255;187;0m[1m[4mAwesome Idris [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://github.com/sindresorhus/awesome)[0m

[38;5;12m (https://www.idris-lang.org/)[39m

[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mAn auxiliary list of awesome [39m[38;5;14m[1mIdris[0m[38;5;12m (https://www.idris-lang.org/) resources.[39m

[38;5;12mIdris[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mgeneral[39m[38;5;12m [39m[38;5;12mpurpose[39m[38;5;12m [39m[38;5;12mpure[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mdependent[39m[38;5;12m [39m[38;5;12mtypes.[39m[38;5;12m [39m[38;5;12mDependent[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mallow[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mpredicated[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mvalues,[39m[38;5;12m [39m[38;5;12mmeaning[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12maspects[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mprogram’s[39m[38;5;12m [39m[38;5;12mbehaviour[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mspecified[39m[38;5;12m [39m[38;5;12mprecisely[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtype.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m
[38;5;12mis[39m[38;5;12m [39m[38;5;12mcompiled,[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12meager[39m[38;5;12m [39m[38;5;12mevaluation.[39m[38;5;12m [39m[38;5;12mIts[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12minfluenced[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mHaskell[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mML.[39m

[38;2;255;187;0m[4mContents[0m

[38;5;12m- [39m[38;5;14m[1mOfficial resources[0m[38;5;12m (#official-resources)[39m
[38;5;12m- [39m[38;5;14m[1mArticles[0m[38;5;12m (#articles)[39m
[38;5;12m- [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
[38;5;12m- [39m[38;5;14m[1mPapers[0m[38;5;12m (#papers)[39m
[38;5;12m- [39m[38;5;14m[1mPresentations[0m[38;5;12m (#presentations)[39m
[38;5;12m- [39m[38;5;14m[1mProjects[0m[38;5;12m (#projects)[39m

[38;2;255;187;0m[4mOfficial resources[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOfficial website[0m[38;5;12m (https://www.idris-lang.org/)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOfficial repo[0m[38;5;12m (https://github.com/idris-lang/Idris-dev)[39m

[38;2;255;187;0m[4mArticles[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1m10 things Idris improved over Haskell[0m[38;5;12m (https://deque.blog/2017/06/14/10-things-idris-improved-over-haskell/)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMeet Idris, a language that will change the way you think about programming[0m[38;5;12m (https://crufter.com/idris-a-language-that-will-change-the-way-you-think-about-programming)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTests vs. Types[0m[38;5;12m (http://kevinmahoney.co.uk/articles/tests-vs-types/)[39m

[38;2;255;187;0m[4mBooks[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mType Driven Development With Idris[0m[38;5;12m (https://www.manning.com/books/type-driven-development-with-idris) - Most important book published so far.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mType Theory and Functional Programming[0m[38;5;12m (https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProgramming in Martin-Löf's Type Theory[0m[38;5;12m (http://www.cse.chalmers.se/research/group/logic/book/book.pdf)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSoftware Foundations[0m[38;5;12m (https://idris-hackers.github.io/software-foundations/pdf/sf-idris-2018.pdf) - Repo is [39m[38;5;14m[1mhere[0m[38;5;12m (https://github.com/idris-hackers/software-foundations).[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGentle Introduction to Dependent Types with Idris[0m[38;5;12m (https://leanpub.com/gidti)[39m

[38;2;255;187;0m[4mPapers[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mElaborator Reflection: Extending Idris in Idris[0m[38;5;12m (https://eb.host.cs.st-andrews.ac.uk/drafts/elab-reflection.pdf) - David Christiansen and Edwin Brady, 2016.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCross-platform Compilers for Functional Languages[0m[38;5;12m (https://eb.host.cs.st-andrews.ac.uk/drafts/compile-idris.pdf) - Edwin Brady, 2015.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProgramming and Reasoning with Side-Effects in Idris[0m[38;5;12m (https://eb.host.cs.st-andrews.ac.uk/drafts/eff-tutorial.pdf) - Edwin Brady, 2014.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mIdris, a General Purpose Dependently Typed Programming Language: Design and Implementation[0m[38;5;12m (https://pdfs.semanticscholar.org/1407/220ca09070233dca256433430d29e5321dc2.pdf) - Edwin Brady, 2013.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProgramming and Reasoning with Algebraic Effects and Dependent Types[0m[38;5;12m (https://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf) - Edwin Brady, 2013.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSequential decision problems, dependently typed solutions[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/writings/plmms13.pdf) - Nicola Botta, Cezar Ionescu and Edwin Brady, 2013.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProgramming in Idris: a tutorial[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/writings/idris-tutorial.pdf) - Edwin Brady, 2012.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mIdris — Systems Programming Meets Full Dependent Types[0m[38;5;12m (https://eb.host.cs.st-andrews.ac.uk/writings/plpv11.pdf) - Edwin Brady, 2011.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mScrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/writings/icfp10.pdf) - Edwin Brady and Kevin Hammond, 2010.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCorrect-by-Construction Concurrency: using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/writings/fi-cbc.pdf) - Edwin Brady and Kevin Hammond, 2010.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDomain Specific Languages (DSLs) for Network Protocols[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/drafts/ngna2009-dsl.pdf) - Saleem Bhatti, Edwin Brady, Kevin Hammond and James McKinna, 2009.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLightweight Invariants with Full Dependent Types[0m[38;5;12m (http://eb.host.cs.st-andrews.ac.uk/drafts/tfp08.pdf) - Edwin Brady, Christoph Herrmann and Kevin Hammond, 2008.[39m

[38;2;255;187;0m[4mPresentations[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mIdris: General Purpose Programming with Dependent Types[0m[38;5;12m (https://www.youtube.com/watch?v=vkIlW797JN8) - Presentation by Edwin Brady, Idris' creator.[39m

[38;2;255;187;0m[4mProjects[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGitHub's trending Idris repos[0m[38;5;12m (https://github.com/trending/idris)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1miridium[0m[38;5;12m (https://github.com/puffnfresh/iridium) - xmonad with the X11 abstracted and configured with Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mlightyear[0m[38;5;12m (https://github.com/ziman/lightyear) - Parser combinators for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mquantities[0m[38;5;12m (https://github.com/timjb/quantities) Type-safe physical computations and unit conversions in Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-type-providers[0m[38;5;12m (https://github.com/david-christiansen/idris-type-providers) - Type provider library for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mIdrisScript[0m[38;5;12m (https://github.com/idris-hackers/IdrisScript) - FFI Bindings to interact with the unsafe world of JavaScript.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-containers[0m[38;5;12m (https://github.com/jfdm/idris-containers) - Various data structures for use in the Idris Language.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mIdrisSqlite[0m[38;5;12m (https://github.com/david-christiansen/IdrisSqlite) - Effectful bindings for SQLite.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-http[0m[38;5;12m (https://github.com/uwap/idris-http) - HTTP library for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRingIdris[0m[38;5;12m (https://github.com/FranckS/RingIdris) - Ring solver for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mspecdris[0m[38;5;12m (https://github.com/pheymann/specdris) - Test framework for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-config[0m[38;5;12m (https://github.com/jfdm/idris-config) - Parsers for various configuration files written in Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mprobability[0m[38;5;12m (https://github.com/BlackBrane/probability) - Probabilistic computation in Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-protobuf[0m[38;5;12m (https://github.com/google/idris-protobuf) - Partial implementation of Protocol Buffers in Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-free[0m[38;5;12m (https://github.com/idris-hackers/idris-free) - Free Monads and useful constructions to work with them.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-ct[0m[38;5;12m (https://github.com/statebox/idris-ct) - Formally verified category theory library[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mtypedefs[0m[38;5;12m (https://github.com/typedefs/typedefs) - Programming language-agnostic, algebraic data type definition language[39m

[38;2;255;187;0m[4mBackends[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-jvm[0m[38;5;12m (https://github.com/mmhelloworld/idris-jvm) - JVM bytecode backend for Idris.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-llvm[0m[38;5;12m (https://github.com/idris-hackers/idris-llvm) - LLVM backend.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-erlang[0m[38;5;12m (https://github.com/lenary/idris-erlang) - Erlang backend.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1midris-malfunction[0m[38;5;12m (https://github.com/stedolan/idris-malfunction) - Experimental Malfunction (OCaml internal representation) backend.[39m

[38;2;255;187;0m[4mBuild tools | Package managers[0m

[38;5;12m- [39m[38;5;14m[1mIdris Rules[0m[38;5;12m (http://idris.build) - Idris rules for Bazel[39m
[38;5;12m- [39m[38;5;14m[1mIkan[0m[38;5;12m (https://github.com/idris-industry/ikan) - A package manager for idris, in idris[39m
[38;5;12m- [39m[38;5;14m[1mElba[0m[38;5;12m (https://github.com/elba/elba) - A package manager for Idris[39m
[38;5;12m- [39m[38;5;14m[1midream[0m[38;5;12m (https://github.com/idream-build/idream) - A simple build system for Idris[39m

[38;2;255;187;0m[4mCommunity[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMailing list[0m[38;5;12m (http://groups.google.com/group/idris-lang)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mIRC: #idris on [39m[38;5;14m[1mfreenode.net[0m[38;5;12m (https://webchat.freenode.net/)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGitHub organization[0m[38;5;12m (https://github.com/idris-hackers)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCommunity Standards[0m[38;5;12m (https://www.idris-lang.org/documentation/community-standards/)[39m

[38;2;255;187;0m[4mLicense[0m

[38;5;14m[1m![0m[38;5;12mCC0[39m[38;5;14m[1m (http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)[0m[38;5;12m (https://creativecommons.org/publicdomain/zero/1.0/)[39m
