Awesome Idris Overview
𝛌 Awesome Idris resources
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 joaomilho/awesome-idris · ⭐ 353 · 🏷️ Programming Languages
Awesome Idris
An auxiliary list of awesome Idris resources.
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.
Contents
Official resources
Articles
- 10 things Idris improved over Haskell
- Meet Idris, a language that will change the way you think about programming
- Tests vs. Types
Books
- Type Driven Development With Idris - Most important book published so far.
- Type Theory and Functional Programming
- Programming in Martin-Löf's Type Theory
- Software Foundations - Repo is here (⭐423).
- Gentle Introduction to Dependent Types with Idris
Papers
- Elaborator Reflection: Extending Idris in Idris - David Christiansen and Edwin Brady, 2016.
- Cross-platform Compilers for Functional Languages - Edwin Brady, 2015.
- Programming and Reasoning with Side-Effects in Idris - Edwin Brady, 2014.
- Idris, a General Purpose Dependently Typed Programming Language: Design and Implementation - Edwin Brady, 2013.
- Programming and Reasoning with Algebraic Effects and Dependent Types - Edwin Brady, 2013.
- Sequential decision problems, dependently typed solutions - Nicola Botta, Cezar Ionescu and Edwin Brady, 2013.
- Programming in Idris: a tutorial - Edwin Brady, 2012.
- Idris — Systems Programming Meets Full Dependent Types - Edwin Brady, 2011.
- Scrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation - Edwin Brady and Kevin Hammond, 2010.
- Correct-by-Construction Concurrency: using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols - Edwin Brady and Kevin Hammond, 2010.
- Domain Specific Languages (DSLs) for Network Protocols - Saleem Bhatti, Edwin Brady, Kevin Hammond and James McKinna, 2009.
- Lightweight Invariants with Full Dependent Types - Edwin Brady, Christoph Herrmann and Kevin Hammond, 2008.
Presentations
- Idris: General Purpose Programming with Dependent Types - Presentation by Edwin Brady, Idris' creator.
Projects
- GitHub's trending Idris repos
- iridium (⭐201) - xmonad with the X11 abstracted and configured with Idris.
- lightyear (⭐235) - Parser combinators for Idris.
- quantities (⭐151) Type-safe physical computations and unit conversions in Idris.
- idris-type-providers (⭐84) - Type provider library for Idris.
- IdrisScript (⭐88) - FFI Bindings to interact with the unsafe world of JavaScript.
- idris-containers (⭐94) - Various data structures for use in the Idris Language.
- IdrisSqlite (⭐39) - Effectful bindings for SQLite.
- idris-http (⭐39) - HTTP library for Idris.
- RingIdris (⭐20) - Ring solver for Idris.
- specdris (⭐57) - Test framework for Idris.
- idris-config (⭐19) - Parsers for various configuration files written in Idris.
- probability (⭐32) - Probabilistic computation in Idris.
- idris-protobuf (⭐28) - Partial implementation of Protocol Buffers in Idris.
- idris-free (⭐25) - Free Monads and useful constructions to work with them.
- idris-ct (⭐231) - Formally verified category theory library
- typedefs (⭐359) - Programming language-agnostic, algebraic data type definition language
Backends
- idris-jvm (⭐378) - JVM bytecode backend for Idris.
- idris-llvm (⭐77) - LLVM backend.
- idris-erlang (⭐190) - Erlang backend.
- idris-malfunction (⭐80) - Experimental Malfunction (OCaml internal representation) backend.
Build tools | Package managers
- Idris Rules - Idris rules for Bazel
- Ikan (⭐34) - A package manager for idris, in idris
- Elba (⭐187) - A package manager for Idris
- idream (⭐22) - A simple build system for Idris
Community
- Mailing list
- IRC: #idris on freenode.net
- GitHub organization
- Community Standards