{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/bound","name":"bound","description":"We represent the target language itself as an ideal monad supplied by the\nuser, and provide a Scope monad transformer for introducing bound variables\nin user supplied terms. Users supply a Monad and Traversable instance,\nand we traverse to find free variables, and use the Monad to perform\nsubstitution that avoids bound variables.\n\nSlides describing and motivating this approach to name binding are available\nonline at:\n\nhttp://www.slideshare.net/ekmett/bound-making-de-bruijn-succ-less\n\nThe goal of this package is to make it as easy as possible to deal with name\nbinding without forcing an awkward monadic style on the user.\n\nWith generalized de Bruijn term you can lift whole trees instead of just\napplying succ to individual variables, weakening the all variables bound\nby a scope and greatly speeding up instantiation. By giving binders more\nstructure we permit easy simultaneous substitution and further speed up\ninstantiation.","version":"2.0.7","softwareVersion":"2.0.7","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/ekmett/bound","issueTracker":"https://github.com/ekmett/bound/issues","url":"http://github.com/ekmett/bound/","keywords":["bsd3","compilers-interpreters","language","library","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"}],"author":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"}],"copyrightHolder":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"}],"dateCreated":"2012-06-16","dateModified":"2023-08-06","datePublished":"2023-08-06","copyrightYear":2012,"downloadUrl":"https://hackage.haskell.org/package/bound-2.0.7/bound-2.0.7.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/bound"],"https://www.w3.org/ns/activitystreams#likes":123,"https://forgefed.org/ns#forks":30}