Name: origami Version: 0.0.6 Author: Eric Nedervold Maintainer: Eric Nedervold License: BSD3 License-File: LICENSE Copyright: (c) 2015 Eric Nedervold Stability: alpha Homepage: http://github.com/nedervold/origami Bug-Reports: http://github.com/nedervold/origami/issues -- Tested-With: Haskell Platform 2014.2.0.0 for Mac OS X Synopsis: An un-SYB framework for transforming heterogenous data through folds Category: Data Description: The Origami package consists of a coding pattern for transforming heterogenously typed data and Template Haskell macros to support the pattern. It operates in the same problem space as SYB, but generates the boilerplate for the user. . In the pattern, we focus on a specific set of types, the /fold/ /family/. For each constructor of each of those types, the user will define a function to "replace" the constructor when folding. . These functions are collected together into a single record. (Its declaration is generated for the user.) Collecting the functions together forces the typing of all the functions to remain consistent and facilitates code reuse. . For each datatype, a fold function is automatically generated that applies the fold record to values of that datatype. It decomposes the value into parts according to its constructor, recursively applies the fold to the parts, then puts them back together using the replacement constructor function from the record. . As with SYB, Origami lets the user think on a higher-level of abstraction about data transformation and relieves her from the need to write boilerplate. . See the website for more information and examples. Cabal-Version: >= 1.10 Build-Type: Simple Extra-Source-Files: Makefile , changelog Library Default-Language: Haskell2010 HS-Source-Dirs: src GHC-Options: -Wall Other-Extensions: CPP Exposed-Modules: Data.Origami , Data.Origami.Internal.Build , Data.Origami.Internal.Fold , Data.Origami.Internal.FoldFamily , Data.Origami.Internal.TH , Data.Origami.Internal.Trifunctor Other-Modules: Data.Origami.Internal.Pretty , Data.Origami.Internal.THUtils Build-Depends: base >= 4 && < 5 , bifunctors >=4 , containers >= 0.5 , lens >= 4 , mtl >= 2.1 , pretty >= 1.1 , template-haskell Test-Suite test Type: exitcode-stdio-1.0 Default-Language: Haskell2010 Hs-Source-Dirs: tests Ghc-Options: -Wall Main-Is: Test.hs Other-Modules: Data.OrigamiTests , Data.Origami.Internal.BuildTests , Data.Origami.Internal.TestFiles.Bar , Data.Origami.Internal.TestFiles.Baz , Data.Origami.Internal.TestFiles.Empty , Data.Origami.Internal.TestFiles.Foo , Data.Origami.Internal.TestFiles.Infix , Data.Origami.Internal.TestFiles.Param , Data.Origami.Internal.TestFiles.Qual Build-Depends: base >=4 && < 5 , origami , HUnit >= 1.2 , test-framework >= 0.8 , test-framework-hunit >= 0.3 Source-Repository head Type: git Location: git://github.com/nedervold/origami.git