barbies

Classes for working with types that can change clothes.

https://github.com/jcpetruzza/barbies#readme

Version on this page:0.1.4.0
LTS Haskell 22.14:2.0.5.0
Stackage Nightly 2024-03-28:2.1.1.0
Latest on Hackage:2.1.1.0

See all snapshots barbies appears in

BSD-3-Clause licensed by Daniel Gorin
Maintained by [email protected]
This version can be pinned in stack with:barbies-0.1.4.0@sha256:93d515145158af2b05c44db4a91dc7586de4bb4603b1a4c80687a21d6bce27fc,2026
Depends on 2 packages(full list with versions):

barbies Build Status

Types that are parametric on unary type-constructors that control their shapes are like Barbies that can wear different clothes to become a different doll. This is a common Haskell-idiom. E.g.,


data Barbie f
  = Barbie
      { name :: f String
      , age  :: f Int
      }

b1 :: Barbie Last       -- Barbie with a monoid structure
b2 :: Barbie (Const a)  -- container Barbie
b3 :: Barbie Identity   -- Barbie's new clothes

This package provides basic classes and abstractions to work with these types and easily transform them.

Changes

Changelog for barbies

0.1.4.0

  • Add btraverse_
  • Add the trivial Void and Unit barbies

0.1.3.1

  • Fix issue on Barbie-types with strictness annotations.

0.1.3.0

  • Use both Monoid and Semigroup as constraints for the Monoid instance, so that this works with ghc 8.0 to 8.4 (Fraser Murray)

0.1.2.0

  • Use Monoid and not Semigroup as constraints for the Monoid instance

0.1.1.0

  • Add instance Semigroup (Barbie b) to go along the Monoid instance

0.1.0.1

  • Works under GHC 8.0.2, but notice one needs to use empty instance declarations, because ghc chokes on deriving clauses.

0.1.0.0 - Initial release