barbies: Classes for working with types that can change clothes.

[ bsd3, data-structures, library ] [ Propose Tags ]

Types that are parametric on a functor are like Barbies that have an outfit for each role. This package provides the basic abstractions to work with them comfortably.

[Skip to Readme]
Versions [faq],,,,,,,,,,,,,, (info)
Change log
Dependencies base (>=4.7 && <5), bifunctors [details]
License BSD-3-Clause
Copyright 2018 Daniel Gorin
Author Daniel Gorin
Category Data-structures
Home page
Bug tracker
Source repo head: git clone
Uploaded by DanielGorin at 2018-07-02T15:20:16Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 7087 total (277 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-07-02 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for barbies-

[back to package description]

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.