- 
                Notifications
    
You must be signed in to change notification settings  - Fork 634
 
Libraries
        κeen edited this page Jan 4, 2021 
        ·
        59 revisions
      
    Here are some third-party libraries for Idris:
| Package | Description | Repository | 
|---|---|---|
| Lightyear | Parser combinators | ziman/lightyear | 
| idris-monadic-parser | A lightweight alternative [deprecated] | tauli/idris-monadic-parser | 
| commonmark | Markdown parser using CommonMark | soimort/idris-commonmark | 
| tomladris | TOML parser based on Lightyear | eklavya/tomladris | 
| tparsec | Total Parser Combinators | gallais/idris-tparsec | 
| Package | Description | Repository | 
|---|---|---|
| wl-pprint | Wadler/Leijen pretty printer | shayan-najd/wl-pprint | 
| Package | Description | Repository | 
|---|---|---|
| mapping | Mapping | zaoqi/Mapping.idr | 
| text | Packed encoded strings. Working but not very efficient due to abuse of String as raw byte storage. | ziman/text | 
| idris-lens | Library for lenses. | idris-hackers/idris-lens | 
| lens | van Laarhoven lenses for Idris | HuwCampbell/idris-lens | 
| idris-containers | Various data structures for use in the Idris Language. | jfdm/idris-containers | 
| idris-bytes | FFI-based byte buffers for Idris | ziman/idris-bytes | 
| idris-time | A simple Time library(a port of GHC Time) | gdevanla/idris-time | 
| IdrisPipes | Stream-processing in Idris | QuentinDuval/IdrisPipes | 
| Package | Description | Repository | 
|---|---|---|
| QuickCheck | A port of QuickCheck to Idris | david-christiansen/idris-quickcheck | 
| Specdris | A test framework for Idris | pheymann/specdris | 
| Package | Description | Repository | 
|---|---|---|
| SDL | SDL bindings | edwinb/SDL-idris | 
| SDL2 | SDL2 bindings | steshaw/idris-sdl2 | 
| SDL2 | SDL2 bindings (unrelated alernative to the above) | eckart/SDL2-idris | 
| GLFW | GLFW bindings | eckart/glfw-idris | 
| GLFW ST | GLFW bindings using Control.ST | thalerjonathan/glfw-idris-st | 
| OpenGL | OpenGL bindings for 3D Graphics | eckart/gl-idris | 
| Cairo Graphics | libcairo bindings (Vectorgraphics) | eckart/cairo-idris | 
| usb | Low level bindings to libusb-1.0 high level USB effects. | idris-hackers/usb | 
| Sodium | An experimental Idris Binding to libSodium | edwinb/sodium-idris | 
| curses | Curses bindings | JakobBruenker/curses-idris | 
| SQLIte | Bindings for SQLite | IdrisSqlite | 
| libmicrohttpd | Bindings for GNU libmicrohttpd | Idris microhttpd | 
| libwebsockets | Bindings for libwebsockets | Idris libwebsockets | 
| baseline | Line-editing API (similar to readline) via FFI bindings to Editline. | laserpants/baseline-idris | 
| Box2D | Bindings for Box2D physics engine | corazza/idris-box2d | 
| Package | Description | Repository | 
|---|---|---|
| IdrisScript | FFI Bindings to interact with the unsafe world of JavaScript | idris-hackers/IdrisScript | 
| iQuery | Idris Lib to interact with the DOM and Browser API for the JavaScript backend | idris-hackers/iQuery | 
| Package | Description | Repository | 
|---|---|---|
| IdrisWeb | A secure web framework, built in the Idris language. | idris-hackers/IdrisWeb | 
| http4idris | A Web Application Interface and HTTP Server, built in the Idris language. | A1kmm/http4idris | 
| Package | Description | Repository | 
|---|---|---|
| posix | FFI calls to handle files, etc. | idris-hackers/idris-posix | 
| Package | Description | Repository | 
|---|---|---|
| Protocols | A DSL for describing and implementing communication protocols. | edwinb/Protocols | 
| IdrisNet2 | Verified networking using dependent types. | SimonJF/IdrisNet2 | 
| idris-http | A library for making http requests written in idris. | uwap/idris-http | 
| http4idris | A Web Application Interface and HTTP Server, built in the Idris language. | A1kmm/http4idris | 
| Package | Description | Repository | 
|---|---|---|
| Gloss | A port of Haskell's gloss library to Idris | thalerjonathan/gloss-idris | 
| Package | Description | Repository | 
|---|---|---|
| Type providers demos | Demos of the type providers feature: CSV and SQLite | david-christiansen/idris-type-providers | 
| Quantities | Type-safe physical computations and unit conversions | timjb/quantities | 
| Dimensions | Dimensions library in Idris | writeoncereadmany/idris-dimensions | 
| Command Arg Parser | A rudimentary command args parser. | jfdm/idris-args | 
| Optparse Idris | Mostly faithful port of Optparse Applicative | HuwCampbell/optparse-idris | 
| Config File Parser | Rudimentary config file parser. Parses INI, JSON, YAML and property files. | jfdm/idris-config | 
| Free | Free Monads and useful constructions to work with them | idris-hackers/idris-free | 
| Bifunctors | Bifunctors (+verified), biapplicatives (+verified), etc. Based on Kmett's Haskell bifunctors package. | japesinator/Idris-Bifunctors | 
| Profunctors | Profunctors (+verified), lenses, isomorphisms, prisms. Based on Kmett's Haskell profunctors package. | japesinator/Idris-Profunctors | 
| Probability | Manipulation and display of probability distributions. Based on Probabilistic Functional Programming. | blackbrane/probability | 
| Crypto | Implementation of cryptographic primitives using Idris | idris-hackers/idris-crypto | 
| Refined | Port of Scala/Haskell Refined library to Idris | janschultecom/idris-refined | 
| TMustache | Total Logic-Less Templating Library using Type Providers | gallais/idris-tmustache | 
| Deriving | Deriving some interfaces for data types | KeenS/idris-deriving | 
Binary Packages
Tool Support
Community
- Libraries, available elsewhere
 - Idris Developer Meetings
 - The Zen of Idris
 - Non English Resources
 
Development