Files
awesome-awesomeness/terminal/idris5
2024-04-20 19:22:54 +02:00

13 KiB

 
 
 
Awesome Idris !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 
(https://www.idris-lang.org/)
 
An auxiliary list of awesome Idris (https://www.idris-lang.org/) 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 (#official-resources)
- Articles (#articles)
- Books (#books)
- Papers (#papers)
- Presentations (#presentations)
- Projects (#projects)
 
Official resources
 
Official website (https://www.idris-lang.org/)
Official repo (https://github.com/idris-lang/Idris-dev)
 
Articles
 
10 things Idris improved over Haskell (https://deque.blog/2017/06/14/10-things-idris-improved-over-haskell/)
Meet Idris, a language that will change the way you think about programming (https://crufter.com/idris-a-language-that-will-change-the-way-you-think-about-programming)
Tests vs. Types (http://kevinmahoney.co.uk/articles/tests-vs-types/)
 
Books
 
Type Driven Development With Idris (https://www.manning.com/books/type-driven-development-with-idris) - Most important book published so far.
Type Theory and Functional Programming (https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/)
Programming in Martin-Löf's Type Theory (http://www.cse.chalmers.se/research/group/logic/book/book.pdf)
Software Foundations (https://idris-hackers.github.io/software-foundations/pdf/sf-idris-2018.pdf) - Repo is here (https://github.com/idris-hackers/software-foundations).
Gentle Introduction to Dependent Types with Idris (https://leanpub.com/gidti)
 
Papers
 
Elaborator Reflection: Extending Idris in Idris (https://eb.host.cs.st-andrews.ac.uk/drafts/elab-reflection.pdf) - David Christiansen and Edwin Brady, 2016.
Cross-platform Compilers for Functional Languages (https://eb.host.cs.st-andrews.ac.uk/drafts/compile-idris.pdf) - Edwin Brady, 2015.
Programming and Reasoning with Side-Effects in Idris (https://eb.host.cs.st-andrews.ac.uk/drafts/eff-tutorial.pdf) - Edwin Brady, 2014.
Idris, a General Purpose Dependently Typed Programming Language: Design and Implementation
(https://pdfs.semanticscholar.org/1407/220ca09070233dca256433430d29e5321dc2.pdf) - Edwin Brady, 2013.
Programming and Reasoning with Algebraic Effects and Dependent Types (https://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf) - Edwin Brady, 2013.
Sequential decision problems, dependently typed solutions (http://eb.host.cs.st-andrews.ac.uk/writings/plmms13.pdf) - Nicola Botta, Cezar Ionescu and Edwin Brady, 2013.
Programming in Idris: a tutorial (http://eb.host.cs.st-andrews.ac.uk/writings/idris-tutorial.pdf) - Edwin Brady, 2012.
Idris — Systems Programming Meets Full Dependent Types (https://eb.host.cs.st-andrews.ac.uk/writings/plpv11.pdf) - Edwin Brady, 2011.
Scrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation
(http://eb.host.cs.st-andrews.ac.uk/writings/icfp10.pdf) - Edwin Brady and Kevin Hammond, 2010.
Correct-by-Construction Concurrency: using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols
(http://eb.host.cs.st-andrews.ac.uk/writings/fi-cbc.pdf) - Edwin Brady and Kevin Hammond, 2010.
Domain Specific Languages (DSLs) for Network Protocols (http://eb.host.cs.st-andrews.ac.uk/drafts/ngna2009-dsl.pdf) - Saleem Bhatti, Edwin Brady, Kevin Hammond and James McKinna, 2009.
Lightweight Invariants with Full Dependent Types (http://eb.host.cs.st-andrews.ac.uk/drafts/tfp08.pdf) - Edwin Brady, Christoph Herrmann and Kevin Hammond, 2008.
 
Presentations
 
Idris: General Purpose Programming with Dependent Types (https://www.youtube.com/watch?v=vkIlW797JN8) - Presentation by Edwin Brady, Idris' creator.
 
Projects
 
GitHub's trending Idris repos (https://github.com/trending/idris)
iridium (https://github.com/puffnfresh/iridium) - xmonad with the X11 abstracted and configured with Idris.
lightyear (https://github.com/ziman/lightyear) - Parser combinators for Idris.
quantities (https://github.com/timjb/quantities) Type-safe physical computations and unit conversions in Idris.
idris-type-providers (https://github.com/david-christiansen/idris-type-providers) - Type provider library for Idris.
IdrisScript (https://github.com/idris-hackers/IdrisScript) - FFI Bindings to interact with the unsafe world of JavaScript.
idris-containers (https://github.com/jfdm/idris-containers) - Various data structures for use in the Idris Language.
IdrisSqlite (https://github.com/david-christiansen/IdrisSqlite) - Effectful bindings for SQLite.
idris-http (https://github.com/uwap/idris-http) - HTTP library for Idris.
RingIdris (https://github.com/FranckS/RingIdris) - Ring solver for Idris.
specdris (https://github.com/pheymann/specdris) - Test framework for Idris.
idris-config (https://github.com/jfdm/idris-config) - Parsers for various configuration files written in Idris.
probability (https://github.com/BlackBrane/probability) - Probabilistic computation in Idris.
idris-protobuf (https://github.com/google/idris-protobuf) - Partial implementation of Protocol Buffers in Idris.
idris-free (https://github.com/idris-hackers/idris-free) - Free Monads and useful constructions to work with them.
idris-ct (https://github.com/statebox/idris-ct) - Formally verified category theory library
typedefs (https://github.com/typedefs/typedefs) - Programming language-agnostic, algebraic data type definition language
 
Backends
 
idris-jvm (https://github.com/mmhelloworld/idris-jvm) - JVM bytecode backend for Idris.
idris-llvm (https://github.com/idris-hackers/idris-llvm) - LLVM backend.
idris-erlang (https://github.com/lenary/idris-erlang) - Erlang backend.
idris-malfunction (https://github.com/stedolan/idris-malfunction) - Experimental Malfunction (OCaml internal representation) backend.
 
Build tools | Package managers
 
- Idris Rules (http://idris.build) - Idris rules for Bazel
- Ikan (https://github.com/idris-industry/ikan) - A package manager for idris, in idris
- Elba (https://github.com/elba/elba) - A package manager for Idris
- idream (https://github.com/idream-build/idream) - A simple build system for Idris
 
Community
 
Mailing list (http://groups.google.com/group/idris-lang)
IRC: #idris on freenode.net (https://webchat.freenode.net/)
GitHub organization (https://github.com/idris-hackers)
Community Standards (https://www.idris-lang.org/documentation/community-standards/)
 
License
 
!CC0 (http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg) (https://creativecommons.org/publicdomain/zero/1.0/)