{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/recursion-schemes","name":"recursion-schemes","description":"Many recursive functions share the same structure, e.g. pattern-match on the input and, depending on the data constructor, either recur on a smaller input or terminate the recursion with the base case. Another one: start with a seed value, use it to produce the first element of an infinite list, and recur on a modified seed in order to produce the rest of the list. Such a structure is called a recursion scheme. Using higher-order functions to implement those recursion schemes makes your code clearer, faster, and safer. See README for details.","version":"5.2.3","softwareVersion":"5.2.3","license":"https://spdx.org/licenses/BSD-2-Clause","codeRepository":"https://github.com/ekmett/recursion-schemes","issueTracker":"https://github.com/recursion-schemes/recursion-schemes/issues","url":"http://github.com/ekmett/recursion-schemes/","keywords":["bsd2","control","library","recursion","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"gelisam"},{"@type":"Person","name":"luc_tielen"}],"author":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"gelisam"},{"@type":"Person","name":"luc_tielen"}],"copyrightHolder":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"gelisam"},{"@type":"Person","name":"luc_tielen"}],"dateCreated":"2011-01-29","dateModified":"2024-06-12","datePublished":"2024-06-12","copyrightYear":2011,"downloadUrl":"https://hackage.haskell.org/package/recursion-schemes-5.2.3/recursion-schemes-5.2.3.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/recursion-schemes"],"https://www.w3.org/ns/activitystreams#likes":360,"https://forgefed.org/ns#forks":61}