An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

bound

We represent the target language itself as an ideal monad supplied by the user, and provide a Scope monad transformer for introducing bound variables in user supplied terms. Users supply a Monad and Traversable instance, and we traverse to find free variables, and use the Monad to perform substitution that avoids bound variables. Slides describing and motivating this approach to name binding are available online at: http://www.slideshare.net/ekmett/bound-making-de-bruijn-succ-less The goal of this package is to make it as easy as possible to deal with name binding without forcing an awkward monadic style on the user. With generalized de Bruijn term you can lift whole trees instead of just applying succ to individual variables, weakening the all variables bound by a scope and greatly speeding up instantiation. By giving binders more structure we permit easy simultaneous substitution and further speed up instantiation.

Ecosystem
hackage.haskell.org
Latest Release
2.0.7
over 2 years ago
Versions
39
Downloads
39,307 total
Dependent Packages
3
Dependent Repos
166
Links
Registry hackage.haskell.org
Source Repository
Homepage Homepage
JSON API View JSON
CodeMeta codemeta.json
Package Details
PURL pkg:hackage/bound
spec
License BSD-3-Clause
First Release over 13 years ago
Last Synced 1 day ago
Repository
Stars 123 on GitHub
Forks 30 on GitHub
Commits 264
Committers 24
Avg per Author 11.0
DDS 0.542
Rankings on hackage.haskell.org
Overall Top 5.4%
Downloads Top 3.8%
Dependent packages Top 5.6%
Dependent repos Top 2.9%
Forks Top 7.0%