domain-optics 0.1.0.3 → 0.1.0.4
raw patch · 6 files changed
+81/−43 lines, 6 filesdep −opticsdep −unordered-containersPVP ok
version bump matches the API change (PVP)
Dependencies removed: optics, unordered-containers
API changes (from Hackage documentation)
Files
- demo/Main.hs +2/−1
- domain-optics.cabal +72/−33
- library/DomainOptics.hs +1/−1
- library/DomainOptics/InstanceDecs.hs +1/−0
- library/DomainOptics/Prelude.hs +3/−5
- library/DomainOptics/Util/OpticsTH.hs +2/−3
demo/Main.hs view
@@ -4,15 +4,16 @@ {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} module Main where import Domain import DomainOptics-import Optics import Prelude +main :: IO () main = return ()
domain-optics.cabal view
@@ -1,48 +1,87 @@ cabal-version: 3.0--name: domain-optics-version: 0.1.0.3-synopsis: Integration of domain with optics-homepage: https://github.com/nikita-volkov/domain-optics-bug-reports: https://github.com/nikita-volkov/domain-optics/issues-author: Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>-copyright: (c) 2020 Nikita Volkov-license: MIT-license-file: LICENSE-build-type: Simple+name: domain-optics+version: 0.1.0.4+synopsis: Integration of domain with optics+homepage: https://github.com/nikita-volkov/domain-optics+bug-reports: https://github.com/nikita-volkov/domain-optics/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>+copyright: (c) 2020 Nikita Volkov+license: MIT+license-file: LICENSE+build-type: Simple source-repository head- type: git+ type: git location: git://github.com/nikita-volkov/domain-optics.git library- hs-source-dirs: library- default-extensions: BangPatterns, BlockArguments, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DerivingVia, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedLabels, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, StrictData, TemplateHaskell, TupleSections, TypeApplications, TypeFamilies, TypeOperators, UnboxedTuples- default-language: Haskell2010- exposed-modules:- DomainOptics+ hs-source-dirs: library+ default-extensions:+ NoImplicitPrelude+ NoMonomorphismRestriction+ BangPatterns+ BlockArguments+ ConstraintKinds+ DataKinds+ DefaultSignatures+ DeriveDataTypeable+ DeriveFoldable+ DeriveFunctor+ DeriveGeneric+ DeriveTraversable+ DerivingVia+ EmptyDataDecls+ FlexibleContexts+ FlexibleInstances+ FunctionalDependencies+ GADTs+ GeneralizedNewtypeDeriving+ InstanceSigs+ LambdaCase+ LiberalTypeSynonyms+ MagicHash+ MultiParamTypeClasses+ MultiWayIf+ OverloadedLabels+ OverloadedStrings+ ParallelListComp+ PatternGuards+ QuasiQuotes+ RankNTypes+ RecordWildCards+ ScopedTypeVariables+ StandaloneDeriving+ StrictData+ TemplateHaskell+ TupleSections+ TypeApplications+ TypeFamilies+ TypeOperators+ UnboxedTuples++ default-language: Haskell2010+ exposed-modules: DomainOptics other-modules: DomainOptics.InstanceDecs DomainOptics.Prelude DomainOptics.Util.OpticsTH+ build-depends:- base >=4.12 && <5,- domain-core >=0.1.0.2 && <0.2,- optics-core >=0.3.0.1 && <0.5,- text >=1.2 && <3,- template-haskell >=2.14 && <3,- template-haskell-compat-v0208 >=0.1.5 && <0.2,- th-lego >=0.2.1 && <0.4,- unordered-containers >=0.2.10 && <0.3+ , base >=4.12 && <5+ , domain-core >=0.1.0.2 && <0.2+ , optics-core >=0.3.0.1 && <0.5+ , template-haskell >=2.14 && <3+ , template-haskell-compat-v0208 >=0.1.5 && <0.2+ , text >=1.2 && <3+ , th-lego >=0.2.1 && <0.4 test-suite demo- type: exitcode-stdio-1.0- hs-source-dirs: demo- main-is: Main.hs+ type: exitcode-stdio-1.0+ hs-source-dirs: demo+ main-is: Main.hs default-language: Haskell2010 build-depends:- domain,- domain-optics,- optics,- rerebase >=1.9 && <2+ , domain+ , domain-optics+ , rerebase >=1.9 && <2
library/DomainOptics.hs view
@@ -2,12 +2,12 @@ import qualified DomainCore.Deriver as Deriver import qualified DomainOptics.InstanceDecs as InstanceDecs-import DomainOptics.Prelude -- | -- Generates 'LabelOptic' instances for enums, products and sums, -- automatically choosing the appropriate optic type. -- -- Requires to have the @UndecidableInstances@ extension enabled.+labelOpticDeriver :: Deriver.Deriver labelOpticDeriver = Deriver.effectless InstanceDecs.labelOptic
library/DomainOptics/InstanceDecs.hs view
@@ -7,6 +7,7 @@ import Language.Haskell.TH.Syntax import THLego.Helpers +labelOptic :: Model.TypeDec -> [Dec] labelOptic (Model.TypeDec typeName typeDef) = case typeDef of Model.ProductTypeDef members ->
library/DomainOptics/Prelude.hs view
@@ -26,7 +26,7 @@ import Data.Fixed as Exports import Data.Foldable as Exports hiding (toList) import Data.Function as Exports hiding (id, (.))-import Data.Functor as Exports+import Data.Functor as Exports hiding (unzip) import Data.Functor.Compose as Exports import Data.Functor.Contravariant as Exports import Data.IORef as Exports@@ -67,12 +67,10 @@ import System.Mem as Exports import System.Mem.StableName as Exports import System.Timeout as Exports-import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec) import Text.Printf as Exports (hPrintf, printf) import Text.Read as Exports (Read (..), readEither, readMaybe) import Unsafe.Coerce as Exports-import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (%), (.))+import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (.)) -showAsText :: Show a => a -> Text+showAsText :: (Show a) => a -> Text showAsText = show >>> fromString
library/DomainOptics/Util/OpticsTH.hs view
@@ -2,7 +2,6 @@ -- TH utils for optics. module DomainOptics.Util.OpticsTH where -import qualified Data.Text as Text import DomainOptics.Prelude import Language.Haskell.TH import qualified Optics.Core as Optics@@ -37,7 +36,7 @@ [VarP aName] ( CaseE (VarE aName)- [ Match (Compat.conp conName [VarP bName]) (NormalB (AppE (ConE 'Just) (VarE bName))) [],+ [ Match (Compat.conP conName [VarP bName]) (NormalB (AppE (ConE 'Just) (VarE bName))) [], Match WildP (NormalB (ConE 'Nothing)) [] ] )@@ -62,7 +61,7 @@ [VarP aName] ( CaseE (VarE aName)- [ Match (Compat.conp conName []) (NormalB (ConE 'True)) [],+ [ Match (Compat.conP conName []) (NormalB (ConE 'True)) [], Match WildP (NormalB (ConE 'False)) [] ] )