unicode 0.0 → 0.0.1
raw patch · 2 files changed
+20/−6 lines, 2 filesdep +semigroups
Dependencies added: semigroups
Files
- src/Data/Char/Frame.hs +13/−0
- unicode.cabal +7/−6
src/Data/Char/Frame.hs view
@@ -4,21 +4,34 @@ import Data.Traversable (Traversable, traverse, foldMapDefault, ) import Data.Foldable (Foldable, foldMap, ) import Data.Monoid (Monoid, mempty, mappend, )+import Data.Semigroup (Semigroup((<>)), ) data Horizontal a = Horizontal {left, right :: a} deriving (Eq, Show) data Vertical a = Vertical {up, down :: a} deriving (Eq, Show) data Parts a = Parts (Vertical a) (Horizontal a) deriving (Eq, Show) +instance Semigroup a => Semigroup (Horizontal a) where+ Horizontal xl xr <> Horizontal yl yr =+ Horizontal (xl <> yl) (xr <> yr)+ instance Monoid a => Monoid (Horizontal a) where mempty = Horizontal mempty mempty mappend (Horizontal xl xr) (Horizontal yl yr) = Horizontal (mappend xl yl) (mappend xr yr) +instance Semigroup a => Semigroup (Vertical a) where+ Vertical xl xr <> Vertical yl yr =+ Vertical (xl <> yl) (xr <> yr)+ instance Monoid a => Monoid (Vertical a) where mempty = Vertical mempty mempty mappend (Vertical xl xr) (Vertical yl yr) = Vertical (mappend xl yl) (mappend xr yr)++instance Semigroup a => Semigroup (Parts a) where+ Parts xl xr <> Parts yl yr =+ Parts (xl <> yl) (xr <> yr) instance Monoid a => Monoid (Parts a) where mempty = Parts mempty mempty
unicode.cabal view
@@ -1,10 +1,10 @@ Name: unicode-Version: 0.0+Version: 0.0.1 License: BSD3 License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de> Maintainer: Henning Thielemann <haskell@henning-thielemann.de>-Homepage: http://code.haskell.org/~thielema/unicode/+Homepage: http://hub.darcs.net/thielema/unicode/ Category: Text Synopsis: Construct and transform unicode characters Description:@@ -25,7 +25,7 @@ . * @rfc5051@: sorting of characters -Tested-With: GHC==7.4.1+Tested-With: GHC==7.4.2, GHC==8.4.1 Cabal-Version: >=1.8 Build-Type: Simple @@ -34,17 +34,18 @@ default: False Source-Repository this- Tag: 0.0+ Tag: 0.0.1 Type: darcs- Location: http://code.haskell.org/~thielema/unicode/+ Location: http://hub.darcs.net/thielema/unicode/ Source-Repository head Type: darcs- Location: http://code.haskell.org/~thielema/unicode/+ Location: http://hub.darcs.net/thielema/unicode/ Library Build-Depends: containers >=0.4 && <0.6,+ semigroups >=0.1 && <1.0, base >=4 && <5 GHC-Options: -Wall