{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/shapely-data","name":"shapely-data","description":"shapely-data is a library for working with algebraic datatypes in a\nsimple generic form made up of haskell's primitive product, sum and unit\ntypes: (,), Either, and (), providing something like light-weight\nStructural Typing.\n\nThe library was not designed to facilitate generic traversals or\nabstraction over different recursion schemes, but rather to (from most to\nleast important)\n\nProvide a good story for (,)Either as a lingua franca/ generic\nrepresentation that other library writers can use without dependencies,\nencouraging abstractions in terms of products and sums\n\nSupport algebraic operations on ADTs, making types composable\n\nSupport powerful, typed conversions between Shapely types\n\nInfluences\n\nI've taken lots of inspiration, code, names, ideas, and type-level\nprogramming techniques from, in particular\n\nOleg Kiselyov's HList work\n\nEdward Kmett's \"categories\" package\n\nChris Taylor's \"Algebra of Algebraic Datatypes\" series at\nhttp://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/\n\nIssues and Limitations:\n\nmassage does not support mutually-recursive types and other more\ncomplicated recursion schemes, nor type application.\n\nWhile all classes except Shapely are considered closed, we don't do any\ntricks to enforce that in the API yet.\n\nIn fancier functions that use type equality (e.g. coerce), types need to\nbe unambiguous so type signatures are sometimes required.\n\ntype errors, especially in massage and coerce, can be cryptic\n\nTH deriving hasn't been considered for fancier types like GADTs,\nexistential types, etc. some of which may have sensible Shapely instances\n\nPerformance hasn't been tested at all yet.","version":"0.1","softwareVersion":"0.1","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/jberryman/shapely-data","issueTracker":"https://github.com/jberryman/shapely-data/issues","url":"http://github.com/jberryman/shapely-data","keywords":["bsd3","data","generics","library","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"BrandonSimmons"}],"author":[{"@type":"Person","name":"BrandonSimmons"}],"copyrightHolder":[{"@type":"Person","name":"BrandonSimmons"}],"dateCreated":"2012-03-09","dateModified":"2013-12-22","datePublished":"2013-12-22","copyrightYear":2012,"downloadUrl":"https://hackage.haskell.org/package/shapely-data-0.1/shapely-data-0.1.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/shapely-data"],"https://www.w3.org/ns/activitystreams#likes":3}