- Removed
FieldName
, the relic of the old ages(@=)
,@==
,@!?
andlasso
now takeProxy
instead ofFieldName
. Those who are usingmkField
need to replace the operands with proxies (OverloadedLabels is recommended).
- Supported aeson 1.x
- Introduced
IsLabel
flag which toggles the presence of opticsOverloadedLabels
. By disabling it, this package can now coexist with other users of theIsLabel
class, such asgeneric-lens
andrelational-query
.
Comp
is now a pattern synonym forCompose
- Added missing
liftTyped
implementations - Supported aeson-2.0
- Added
DefaultOrdered
andIncremental
instances to:&
- Added an
Incremental
instance toField
- Removed
Associate
,AssocKey
,AssocValue
,ValueIs
,KeyIs
,KeyValue
,proxyAssocKey
,proxyAssocValue
,stringAssokKey
,xlb
,:*
,:|
- Reverted deprecation of
Data.Extensible.Tangle
- Removed
vector
andprettyprinter
orphans - Deprecated
Data.Extensible.Tangle
; use tangle parseJSON
gives more informative failure messages on failure- Supported
barbies ^>= 2
- Moved
Data.Extensible.Effect
into newextensible-skeleton
package - Instances for barbies and cassava are now optional
- Deprecated 訊
- Added
fromNullable
- Added
xlb
- Added a
HasField
instance forRecordOf
- Removed
deriveIsRecord
- Supported GHC 8.8
- Added a MonadCont instance for Eff
(:*)
and(:|)
are deprecated in favour of(:&)
and(:*)
where their type parameters are flipped- Flipped the type parameters of
BitProd
andTangleT
- Added
itemKey
,hmapWithIndexWith
,hfoldMapWith
,hfoldMapWithIndexWith
,hfoldrWithIndexWith
,hfoldlWithIndexWith
,hrepeatWith
,htabulateWith
, andhgenerateWith
- Split
Data.Extensible.HList
andData.Extensible.Internal
to themembership
package AssocKey
,AssocValue
,ValueIs
,KeyValue
and their related combinators are deprecated. Use ones frommembership
IsRecord
now has a generic default implementation- Deprecated
deriveIsRecord
- GHC older than 8.4 is no longer supported
- Removed
Const'
Data.Extensible.Plain
is no longer exported fromData.Extensible
- Added
wrap
andunwrap
toWrapper
- Added
(=<:)
- Fixed build on GHC 8.6
- Added a
MonadResource
,MonadThrow
, andMonadCatch
instances forEff
Proxy
andKnownSymbol
are now reexported fromData.Extensible
- Generalised the
MonadIO
instance forEff
to(MonadIO m, Associate "IO" m xs) => MonadIO (Eff xs)
- Added
And :: (k -> Constraint) -> (k -> Constraint) -> k -> Constraint
- Added
Semigroup
andMonoid
instances forConst'
- Added
stringAssocKey :: (IsString a, KnownSymbol (AssocKey kv)) => proxy kv -> a
- Added a
Wrapper
instance forEither e
- Added instances of
Pretty
andLift
- Added
hmapWithIndexFor
- Changed the
FromJSON
instance forRecord
to callparseJSON Null
for missing fields - Added
FromJSON
andToJSON
instances forNullable (Field h) :* xs
- Added cassava's
ToNamedRecord
,ToRecord
,FromNamedRecord
andFromRecord
instances - Added
KeyIs
andValueIs
- Added
FromJSON
andToJSON
instances for(:*)
- Fixed weird CPP errors on macOS 10.13.2 (#18)
- Added
optFlag
,optLastArg
, andoptionOptArg
- Made various optimisations to improve the compilation time
- Added trivial instances for
FromBits
- Generalised the API of
Data.Extensible.GetOpt
- New module
Data.Extensible.GetOpt
- Added
fromBitProd
- Added
Hashable
instances for:*
,:|
,BitProd
,Membership
, and various wrappers - Added an
Unbox
instance for:*
- Added
hfoldlWithIndex
andhfoldlWithIndexFor
- Added
nothingEff
- Added
happend
- Added
Arbitrary
instances for:*
,:|
, and wrappers - Added
Data.Extensible.Bits
- Added
contEff
andrunContEff
- Added
castEff
- Added
evalStateEff
- Added
Semigroup
andMonoid
instances forMatch
,Comp
,Prod
- Added
evalStateDef
,execStateDef
, andexecWriterDef
- Added
mkFieldAs
- Added a
Bounded
instance for:*
- Added
WrappedPointer
- Added
NFData
andGeneric
instances forComp
- Added a
Semigroup
instance forh :* xs
andMembership xs x
- Added
Prod
- Added
peelEff0
- Changed the
IsLabel
instance so that a function is always inferred as an optic Data.Extensible.Class
now exportscompareMembership
- Renamed
runMembership
toleadership
- Made
newFrom
strict pieceAt
for(:*)
is now strict- Added
(<!)
- Added
peelEff1
,peelAction0
,execStateEff
,execWriterEff
- Added atomic operations for
Struct
- Added constrained variants of folds
- Added
hforce
- Added an
NFData
instance for(:*)
and:|
- Added a rule to fuse a chain of product updates
- Added a
Monoid
instance forTangleT
- Added
(@==)
#foo
can now be overloaded asFieldOptic "foo"
- Added
Data.Extensible.Struct
- Changed the representation of
(:*)
to useSmallArray
- Removed
(<:*)
.hhead
,htail
,huncons
,(*++*)
,htrans
- New functions:
hfoldrWithIndex
,hrepeat
,hrepeatFor
,haccumMap
,haccum
,hpartition
,henumerate
,hlength
,hcount
- Added various derived instances for
Field
- Added
liftField
,liftField2
- Added
Wrapper
instances forMaybe
and[]
- Added
>:
as a synonym for:>
Data.Extensible.Effect
- Refined the API
- Added
Data.Extensible.Effect.Default
- Added
Data.Extensible.Tangle
- Added
record
- Type inference aids
pieceAt
for(:*)
is now index-preserving- Removed
sector
,sectorAt
,picked
- Support GHC 8.0
- Added a
Monoid
instance forField
- Added
Data.Extensible.Record
- Added
Enum
andBounded
instances forProxy :| xs
- Removed
Data.Extensible.Union
- Added
(@:>)
- Added
(!-!!)
,nihility
,squash
- Added
Data.Extensible.Effect
- Added
decEffects
- Added
Data.Extensible.Wrapper
- Added
itemAt
,item
,itemAssoc
- Safe Haskell
- Generalized
Field
- Renamed
sectorAt
,sector
,sectorAssoc
topieceAt
,piece
,pieceAssoc
, respectively picked
is now subsumed bypiece
mkField
yields more generalized optics
- Renamed
UnionAt
toEmbedAt
- Removed
clause
; Usepiece . _Match
- Removed
record
; Usepiece . _K0
- Added
htraverseWithIndex
- Renamed
ord
tomkMembership
- Fixed the
Show
instance of:|
- Added
Variant
- Added
Associate
class and combinators around it Data.Extensible.Record
now lets values be independent from keysmkField
requires 1 argument
- Added
Data.Extensible.Union
, partially takingelevator
's functionality - Removed old
Data.Extensible.Union
andData.Extensible.League
- Removed
(<?!)
- Removed
Reifiable
- Now
library
yields desired dictionaries - Added
remember
- Added
strike
andstrikeAt
- Renamed
generate
tohtabulate
- Renamed
generateA
tohgenerate
- Renamed
generateFor
tohtabulateFor
- Renamed
generateForA
tohgenerateFor
- Renamed
htabulate
tohmapWithIndex
- Added
(<@=>)
- Added
Comp
- Fixed badly-specialized
htraverse
- Added
hsequence
,hdistribute
,hcollect
- Added
hindex
- Optimized
sector
(~2x)
- Renamed
(<?~)
to(<?!$)
- Renamed
(<$?~)
to(<?!~)
- Refactored
Data.Extensible.Dictionary
- Supported serialization/deserialization of products using
binary
- Improved performance considerably
- Added
accessing
- Added
decFields
anddecFieldsDeriving
- Renamed
Position
toMembership
- Right-associated
(++)
- Added
htrans
- Added
recordType
- Made Eq, Ord, Show instances for Position more reasonable
- Added
(<:)
- Re-exported
Data.Extensible.Record
,Data.Extensible.Union
,Data.Extensible.League
- Brushed instances up
- Added
subset
- Added
Data.Extensible.Internal.HList
and combinators
- Corrected the definition of
Half
- Added
coinclusion
,wrench
,retrench
along withNullable
- Added
htabulate
- Corrected the behavior of
Generate
andForall
- Made type errors more readable
- Added
(*++*)
- Fixed the accidental miscall of
getUnion
- Added
recordAt
- Added
ord
- Re-added
K1
- Toggled INLINE pragmas
- Added
hhead
andhtail
- Changed the definition of
Union
to use coyoneda style
- Split modules up
- Flipped
Position
- Added several combinators