-
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