packages feed

hw-mquery 0.1.0.3 → 0.2.0.0

raw patch · 16 files changed

+137/−137 lines, 16 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- HaskellWorks.Data.AtLeastSize: atLeastSize :: AtLeastSize a => a -> Int -> Bool
- HaskellWorks.Data.AtLeastSize: class AtLeastSize a
- HaskellWorks.Data.AtLeastSize: instance HaskellWorks.Data.AtLeastSize.AtLeastSize [a]
- HaskellWorks.Data.Entry: Entry :: k -> v -> Entry k v
- HaskellWorks.Data.Entry: data Entry k v
- HaskellWorks.Data.Entry: instance (Text.PrettyPrint.ANSI.Leijen.Internal.Pretty k, Text.PrettyPrint.ANSI.Leijen.Internal.Pretty v) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Entry.Entry k v)
- HaskellWorks.Data.MQuery: instance HaskellWorks.Data.ToBool.ToBool (HaskellWorks.Data.MQuery.MQuery a)
- HaskellWorks.Data.Micro: Micro :: a -> Micro a
- HaskellWorks.Data.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Micro.Micro (Data.DList.DList a))
- HaskellWorks.Data.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Micro.Micro [a])
- HaskellWorks.Data.Micro: newtype Micro a
- HaskellWorks.Data.Micro: prettyKvs :: Pretty (Micro a) => [a] -> Doc
- HaskellWorks.Data.Micro: prettyVs :: Pretty a => [a] -> Doc
- HaskellWorks.Data.Micro: putPretty :: Pretty a => a -> IO ()
- HaskellWorks.Data.Mini: Mini :: a -> Mini a
- HaskellWorks.Data.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Micro.Micro a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Mini.Mini [a])
- HaskellWorks.Data.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Mini.Mini a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Mini.Mini (Data.DList.DList a))
- HaskellWorks.Data.Mini: newtype Mini a
- HaskellWorks.Data.Row: Row :: MaxChars -> a -> Row a
- HaskellWorks.Data.Row: data Row a
- HaskellWorks.Data.Row: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.Row.Row (Data.DList.DList a))
- HaskellWorks.Data.Row: prettyRowOfString :: Show a => Row (DList a) -> Doc
- HaskellWorks.Data.Row: type MaxChars = Int
- HaskellWorks.Data.Shows: showKvs :: Show (Micro a) => [a] -> String -> String
- HaskellWorks.Data.Shows: showsVs :: Show a => [a] -> String -> String
- HaskellWorks.Data.ToBool: class ToBool a
- HaskellWorks.Data.ToBool: instance HaskellWorks.Data.ToBool.ToBool (Data.DList.DList a)
- HaskellWorks.Data.ToBool: instance HaskellWorks.Data.ToBool.ToBool GHC.Types.Bool
- HaskellWorks.Data.ToBool: instance HaskellWorks.Data.ToBool.ToBool [a]
- HaskellWorks.Data.ToBool: toBool :: ToBool a => a -> Bool
+ HaskellWorks.Data.MQuery: instance HaskellWorks.Data.MQuery.ToBool.ToBool (HaskellWorks.Data.MQuery.MQuery a)
+ HaskellWorks.Data.MQuery.AtLeastSize: atLeastSize :: AtLeastSize a => a -> Int -> Bool
+ HaskellWorks.Data.MQuery.AtLeastSize: class AtLeastSize a
+ HaskellWorks.Data.MQuery.AtLeastSize: instance HaskellWorks.Data.MQuery.AtLeastSize.AtLeastSize [a]
+ HaskellWorks.Data.MQuery.Entry: Entry :: k -> v -> Entry k v
+ HaskellWorks.Data.MQuery.Entry: data Entry k v
+ HaskellWorks.Data.MQuery.Entry: instance (Text.PrettyPrint.ANSI.Leijen.Internal.Pretty k, Text.PrettyPrint.ANSI.Leijen.Internal.Pretty v) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Entry.Entry k v)
+ HaskellWorks.Data.MQuery.Micro: Micro :: a -> Micro a
+ HaskellWorks.Data.MQuery.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro (Data.DList.DList a))
+ HaskellWorks.Data.MQuery.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro [a])
+ HaskellWorks.Data.MQuery.Micro: newtype Micro a
+ HaskellWorks.Data.MQuery.Micro: prettyKvs :: Pretty (Micro a) => [a] -> Doc
+ HaskellWorks.Data.MQuery.Micro: prettyVs :: Pretty a => [a] -> Doc
+ HaskellWorks.Data.MQuery.Micro: putPretty :: Pretty a => a -> IO ()
+ HaskellWorks.Data.MQuery.Mini: Mini :: a -> Mini a
+ HaskellWorks.Data.MQuery.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini [a])
+ HaskellWorks.Data.MQuery.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini (Data.DList.DList a))
+ HaskellWorks.Data.MQuery.Mini: newtype Mini a
+ HaskellWorks.Data.MQuery.Row: Row :: MaxChars -> a -> Row a
+ HaskellWorks.Data.MQuery.Row: data Row a
+ HaskellWorks.Data.MQuery.Row: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Row.Row (Data.DList.DList a))
+ HaskellWorks.Data.MQuery.Row: prettyRowOfString :: Show a => Row (DList a) -> Doc
+ HaskellWorks.Data.MQuery.Row: type MaxChars = Int
+ HaskellWorks.Data.MQuery.Shows: showKvs :: Show (Micro a) => [a] -> String -> String
+ HaskellWorks.Data.MQuery.Shows: showsVs :: Show a => [a] -> String -> String
+ HaskellWorks.Data.MQuery.ToBool: class ToBool a
+ HaskellWorks.Data.MQuery.ToBool: instance HaskellWorks.Data.MQuery.ToBool.ToBool (Data.DList.DList a)
+ HaskellWorks.Data.MQuery.ToBool: instance HaskellWorks.Data.MQuery.ToBool.ToBool GHC.Types.Bool
+ HaskellWorks.Data.MQuery.ToBool: instance HaskellWorks.Data.MQuery.ToBool.ToBool [a]
+ HaskellWorks.Data.MQuery.ToBool: toBool :: ToBool a => a -> Bool

Files

hw-mquery.cabal view
@@ -1,7 +1,7 @@ cabal-version:  2.2  name:           hw-mquery-version:        0.1.0.3+version:        0.2.0.0 synopsis:       Monadic query DSL description:    Please see README.md category:       Data@@ -36,14 +36,14 @@       src    exposed-modules:-      HaskellWorks.Data.AtLeastSize-      HaskellWorks.Data.Entry-      HaskellWorks.Data.Micro-      HaskellWorks.Data.Mini       HaskellWorks.Data.MQuery-      HaskellWorks.Data.Row-      HaskellWorks.Data.Shows-      HaskellWorks.Data.ToBool+      HaskellWorks.Data.MQuery.AtLeastSize+      HaskellWorks.Data.MQuery.Entry+      HaskellWorks.Data.MQuery.Micro+      HaskellWorks.Data.MQuery.Mini+      HaskellWorks.Data.MQuery.Row+      HaskellWorks.Data.MQuery.Shows+      HaskellWorks.Data.MQuery.ToBool   other-modules:       Paths_hw_mquery   autogen-modules:
− src/HaskellWorks/Data/AtLeastSize.hs
@@ -1,10 +0,0 @@--module HaskellWorks.Data.AtLeastSize where--class AtLeastSize a where-  atLeastSize :: a -> Int -> Bool--instance AtLeastSize [a] where-  atLeastSize  _      0         = True-  atLeastSize (_:as)  n | n > 0 = atLeastSize as (n - 1)-  atLeastSize  _      _         = False
− src/HaskellWorks/Data/Entry.hs
@@ -1,8 +0,0 @@-module HaskellWorks.Data.Entry where--import Text.PrettyPrint.ANSI.Leijen--data Entry k v = Entry k v--instance (Pretty k, Pretty v) => Pretty (Entry k v) where-  pretty (Entry k v) = pretty k <> text ": " <> pretty v
src/HaskellWorks/Data/MQuery.hs view
@@ -9,12 +9,12 @@ import Control.Lens import Control.Monad import Data.List-import Data.Semigroup               (Semigroup, (<>))+import Data.Semigroup                  (Semigroup, (<>)) import GHC.Base-import HaskellWorks.Data.Entry-import HaskellWorks.Data.Row-import HaskellWorks.Data.ToBool-import Text.PrettyPrint.ANSI.Leijen hiding ((<>))+import HaskellWorks.Data.MQuery.Entry+import HaskellWorks.Data.MQuery.Row+import HaskellWorks.Data.MQuery.ToBool+import Text.PrettyPrint.ANSI.Leijen    hiding ((<>))  import qualified Data.DList as DL 
+ src/HaskellWorks/Data/MQuery/AtLeastSize.hs view
@@ -0,0 +1,10 @@++module HaskellWorks.Data.MQuery.AtLeastSize where++class AtLeastSize a where+  atLeastSize :: a -> Int -> Bool++instance AtLeastSize [a] where+  atLeastSize  _      0 = True+  atLeastSize (_:as)  n | n > 0 = atLeastSize as (n - 1)+  atLeastSize  _      _ = False
+ src/HaskellWorks/Data/MQuery/Entry.hs view
@@ -0,0 +1,8 @@+module HaskellWorks.Data.MQuery.Entry where++import Text.PrettyPrint.ANSI.Leijen++data Entry k v = Entry k v++instance (Pretty k, Pretty v) => Pretty (Entry k v) where+  pretty (Entry k v) = pretty k <> text ": " <> pretty v
+ src/HaskellWorks/Data/MQuery/Micro.hs view
@@ -0,0 +1,34 @@+{-# LANGUAGE FlexibleContexts    #-}+{-# LANGUAGE FlexibleInstances   #-}+{-# LANGUAGE ScopedTypeVariables #-}++module HaskellWorks.Data.MQuery.Micro where++import Text.PrettyPrint.ANSI.Leijen++import qualified Data.DList as DL++newtype Micro a = Micro a++prettyVs :: Pretty a => [a] -> Doc+prettyVs (kv:kvs) = pretty kv <> foldl (<>) empty ((\jv -> text ", " <> pretty jv) `map` kvs)+prettyVs []       = empty++putPretty :: Pretty a => a -> IO ()+putPretty a = putDoc (pretty a <> hardline)++prettyKvs :: Pretty (Micro a) => [a] -> Doc+prettyKvs (kv:kvs) = pretty (Micro kv) <> foldl (<>) empty ((\jv -> text ", " <> pretty (Micro jv)) `map` kvs)+prettyKvs []       = empty++instance Pretty a => Pretty (Micro [a]) where+  pretty (Micro xs) = case length xs of+    xsLen | xsLen == 0  -> text "[]"+    xsLen | xsLen <= 10 -> text "[" <> prettyVs xs <> text "]"+    _                   -> text "[" <> prettyVs (take 10 xs) <> text ", ..]"++instance Pretty a => Pretty (Micro (DL.DList a)) where+  pretty (Micro dxs) = case DL.toList dxs of+    xs@(_:_:_:_:_:_:_:_:_:_:_:_:_) -> text "[" <> prettyVs (take 50 xs) <> text ", ..]"+    []                             -> text "[]"+    xs                             -> text "[" <> prettyVs          xs  <> text "]"
+ src/HaskellWorks/Data/MQuery/Mini.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE FlexibleInstances #-}++module HaskellWorks.Data.MQuery.Mini where++import HaskellWorks.Data.MQuery.AtLeastSize+import HaskellWorks.Data.MQuery.Micro+import Text.PrettyPrint.ANSI.Leijen++import qualified Data.DList as DL++newtype Mini a = Mini a++instance Pretty (Micro a) => Pretty (Mini [a]) where+  pretty (Mini xs) | xs `atLeastSize` 11  = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text ", ..]"+  pretty (Mini xs) | xs `atLeastSize` 1   = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text "]"+  pretty (Mini _ ) = text "[]"++instance Pretty (Mini a) => Pretty (Mini (DL.DList a)) where+  pretty (Mini xs) = vcat (punctuate (text ",") ((pretty . Mini) `map` take 10 (DL.toList xs)))
+ src/HaskellWorks/Data/MQuery/Row.hs view
@@ -0,0 +1,22 @@+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE FlexibleInstances #-}++module HaskellWorks.Data.MQuery.Row where++import Text.PrettyPrint.ANSI.Leijen++import qualified Data.DList as DL++type MaxChars = Int++data Row a = Row MaxChars a++instance Pretty a => Pretty (Row (DL.DList a)) where+  pretty (Row maxChars xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)+    where prettyRows :: [Doc]+          prettyRows = (\row -> text (take maxChars (displayS (renderCompact (pretty row)) []))) `map` DL.toList xs++prettyRowOfString :: Show a => Row (DL.DList a) -> Doc+prettyRowOfString (Row _ xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)+  where prettyRows :: [Doc]+        prettyRows = (text . show) `map` DL.toList xs
+ src/HaskellWorks/Data/MQuery/Shows.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FlexibleContexts #-}++module HaskellWorks.Data.MQuery.Shows where++import HaskellWorks.Data.MQuery.Micro++showsVs :: Show a => [a] -> String -> String+showsVs (kv:kvs) = shows kv . foldl (.) id ((\jv -> (", " ++) . shows jv) `map` kvs)+showsVs []       = id++showKvs :: Show (Micro a) => [a] -> String -> String+showKvs (kv:kvs) = shows (Micro kv) . foldl (.) id ((\jv -> (", " ++) . shows (Micro jv)) `map` kvs)+showKvs []       = id
+ src/HaskellWorks/Data/MQuery/ToBool.hs view
@@ -0,0 +1,17 @@++module HaskellWorks.Data.MQuery.ToBool where++import qualified Data.DList as DL++class ToBool a where+  toBool :: a -> Bool++instance ToBool Bool where+  toBool = id++instance ToBool [a] where+  toBool (_:_) = True+  toBool    _  = False++instance ToBool (DL.DList a) where+  toBool = toBool . DL.toList
− src/HaskellWorks/Data/Micro.hs
@@ -1,34 +0,0 @@-{-# LANGUAGE FlexibleContexts    #-}-{-# LANGUAGE FlexibleInstances   #-}-{-# LANGUAGE ScopedTypeVariables #-}--module HaskellWorks.Data.Micro where--import Text.PrettyPrint.ANSI.Leijen--import qualified Data.DList as DL--newtype Micro a = Micro a--prettyVs :: Pretty a => [a] -> Doc-prettyVs (kv:kvs) = pretty kv <> foldl (<>) empty ((\jv -> text ", " <> pretty jv) `map` kvs)-prettyVs []       = empty--putPretty :: Pretty a => a -> IO ()-putPretty a = putDoc (pretty a <> hardline)--prettyKvs :: Pretty (Micro a) => [a] -> Doc-prettyKvs (kv:kvs) = pretty (Micro kv) <> foldl (<>) empty ((\jv -> text ", " <> pretty (Micro jv)) `map` kvs)-prettyKvs []       = empty--instance Pretty a => Pretty (Micro [a]) where-  pretty (Micro xs) = case length xs of-    xsLen | xsLen == 0    -> text "[]"-    xsLen | xsLen <= 10   -> text "[" <> prettyVs xs <> text "]"-    _     -> text "[" <> prettyVs (take 10 xs) <> text ", ..]"--instance Pretty a => Pretty (Micro (DL.DList a)) where-  pretty (Micro dxs) = case DL.toList dxs of-    xs@(_:_:_:_:_:_:_:_:_:_:_:_:_) -> text "[" <> prettyVs (take 50 xs) <> text ", ..]"-    []                             -> text "[]"-    xs                             -> text "[" <> prettyVs          xs  <> text "]"
− src/HaskellWorks/Data/Mini.hs
@@ -1,20 +0,0 @@-{-# LANGUAGE FlexibleContexts  #-}-{-# LANGUAGE FlexibleInstances #-}--module HaskellWorks.Data.Mini where--import HaskellWorks.Data.AtLeastSize-import HaskellWorks.Data.Micro-import Text.PrettyPrint.ANSI.Leijen--import qualified Data.DList as DL--newtype Mini a = Mini a--instance Pretty (Micro a) => Pretty (Mini [a]) where-  pretty (Mini xs) | xs `atLeastSize` 11  = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text ", ..]"-  pretty (Mini xs) | xs `atLeastSize` 1   = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text "]"-  pretty (Mini _ ) = text "[]"--instance Pretty (Mini a) => Pretty (Mini (DL.DList a)) where-  pretty (Mini xs) = vcat (punctuate (text ",") ((pretty . Mini) `map` take 10 (DL.toList xs)))
− src/HaskellWorks/Data/Row.hs
@@ -1,22 +0,0 @@-{-# LANGUAGE FlexibleContexts  #-}-{-# LANGUAGE FlexibleInstances #-}--module HaskellWorks.Data.Row where--import Text.PrettyPrint.ANSI.Leijen--import qualified Data.DList as DL--type MaxChars = Int--data Row a = Row MaxChars a--instance Pretty a => Pretty (Row (DL.DList a)) where-  pretty (Row maxChars xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)-    where prettyRows :: [Doc]-          prettyRows = (\row -> text (take maxChars (displayS (renderCompact (pretty row)) []))) `map` DL.toList xs--prettyRowOfString :: Show a => Row (DL.DList a) -> Doc-prettyRowOfString (Row _ xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)-  where prettyRows :: [Doc]-        prettyRows = (text . show) `map` DL.toList xs
− src/HaskellWorks/Data/Shows.hs
@@ -1,13 +0,0 @@-{-# LANGUAGE FlexibleContexts #-}--module HaskellWorks.Data.Shows where--import HaskellWorks.Data.Micro--showsVs :: Show a => [a] -> String -> String-showsVs (kv:kvs) = shows kv . foldl (.) id ((\jv -> (", " ++) . shows jv) `map` kvs)-showsVs []       = id--showKvs :: Show (Micro a) => [a] -> String -> String-showKvs (kv:kvs) = shows (Micro kv) . foldl (.) id ((\jv -> (", " ++) . shows (Micro jv)) `map` kvs)-showKvs []       = id
− src/HaskellWorks/Data/ToBool.hs
@@ -1,17 +0,0 @@--module HaskellWorks.Data.ToBool where--import qualified Data.DList as DL--class ToBool a where-  toBool :: a -> Bool--instance ToBool Bool where-  toBool = id--instance ToBool [a] where-  toBool (_:_)  = True-  toBool    _   = False--instance ToBool (DL.DList a) where-  toBool = toBool . DL.toList