Skip to content
Zaoqi edited this page Feb 17, 2018 · 59 revisions

Here are some third-party libraries for Idris:

Parsing

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

Pretty Printers

Package Description Repository
wl-pprint Wadler/Leijen pretty printer shayan-najd/wl-pprint

Data

Package Description Repository
mapping Mapping zaoqi/mapping
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

Testing

Package Description Repository
QuickCheck A port of QuickCheck to Idris david-christiansen/idris-quickcheck
Specdris A test framework for Idris pheymann/specdris

Bindings

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
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

JavaScript

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

Web

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

System Libraries

Package Description Repository
posix FFI calls to handle files, etc. idris-hackers/idris-posix

Networking

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

Miscellaneous

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
Clone this wiki locally