Libraries

IO.Nathan edited this page Mar 20, 2018 · 54 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.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

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

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

High Level Graphics

Package Description Repository
Gloss A port of Haskell's gloss library to Idris thalerjonathan/gloss-idris

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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.