{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/free","name":"free","description":"Free monads are useful for many tree-like structures and domain specific languages.\n\nIf f is a Functor then the free Monad on f is the type\nof trees whose nodes are labeled with the constructors of f. The word\n\"free\" is used in the sense of \"unrestricted\" rather than \"zero-cost\":\nFree f makes no constraining assumptions beyond those given by f and the\ndefinition of Monad. As used here it is a standard term from the\nmathematical theory of adjoint functors.\n\nCofree comonads are dual to free monads. They provide convenient ways to talk\nabout branching streams and rose-trees, and can be used to annotate syntax\ntrees. The cofree comonad can be seen as a stream parameterized by a Functor\nthat controls its branching factor.\n\nMore information on free monads, including examples, can be found in the\nfollowing blog posts:\nhttps://ekmett.github.io/reader/2008/monads-for-free/\nhttps://ekmett.github.io/reader/2011/free-monads-for-less/","version":"5.1.10","softwareVersion":"5.1.10","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/ekmett/free","issueTracker":"https://github.com/ekmett/free/issues","url":"http://github.com/ekmett/free/","keywords":["bsd3","control","library","monads","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"JohnWiegley"}],"author":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"JohnWiegley"}],"copyrightHolder":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EricMertens"},{"@type":"Person","name":"EdwardKmett"},{"@type":"Person","name":"JohnWiegley"}],"dateCreated":"2011-02-17","dateModified":"2022-11-30","datePublished":"2022-11-30","copyrightYear":2011,"downloadUrl":"https://hackage.haskell.org/package/free-5.2/free-5.2.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/free"],"https://www.w3.org/ns/activitystreams#likes":190,"https://forgefed.org/ns#forks":66}