- Supported GHC 9.10 (#40 by @miguel-negrao)
- Supported GHCs up to 9.8 (#38 by @kgtkr)
- Exported
Assoc,(>:), andLookupfromData.Extensible.Effect - Added
coinclusionAssoc,wrenchAssoc, andretrenchAssoc(#36 by @At-sushi)
- Removed
FieldName, the relic of the old ages(@=),@==,@!?andlassonow takeProxyinstead ofFieldName. Those who are usingmkFieldneed to replace the operands with proxies (OverloadedLabels is recommended).
- Supported aeson 1.x
- Introduced
IsLabelflag which toggles the presence of opticsOverloadedLabels. By disabling it, this package can now coexist with other users of theIsLabelclass, such asgeneric-lensandrelational-query.
Compis now a pattern synonym forCompose- Added missing
liftTypedimplementations - Supported aeson-2.0
- Added
DefaultOrderedandIncrementalinstances to:& - Added an
Incrementalinstance toField
- Removed
Associate,AssocKey,AssocValue,ValueIs,KeyIs,KeyValue,proxyAssocKey,proxyAssocValue,stringAssokKey,xlb,:*,:| - Reverted deprecation of
Data.Extensible.Tangle
- Removed
vectorandprettyprinterorphans - Deprecated
Data.Extensible.Tangle; use tangle parseJSONgives more informative failure messages on failure- Supported
barbies ^>= 2
- Moved
Data.Extensible.Effectinto newextensible-skeletonpackage - Instances for barbies and cassava are now optional
- Deprecated 訊
- Added
fromNullable - Added
xlb - Added a
HasFieldinstance 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
BitProdandTangleT - Added
itemKey,hmapWithIndexWith,hfoldMapWith,hfoldMapWithIndexWith,hfoldrWithIndexWith,hfoldlWithIndexWith,hrepeatWith,htabulateWith, andhgenerateWith
- Split
Data.Extensible.HListandData.Extensible.Internalto themembershippackage AssocKey,AssocValue,ValueIs,KeyValueand their related combinators are deprecated. Use ones frommembershipIsRecordnow has a generic default implementation- Deprecated
deriveIsRecord
- GHC older than 8.4 is no longer supported
- Removed
Const' Data.Extensible.Plainis no longer exported fromData.Extensible- Added
wrapandunwraptoWrapper - Added
(=<:)
- Fixed build on GHC 8.6
- Added a
MonadResource,MonadThrow, andMonadCatchinstances forEff ProxyandKnownSymbolare now reexported fromData.Extensible
- Generalised the
MonadIOinstance forEffto(MonadIO m, Associate "IO" m xs) => MonadIO (Eff xs) - Added
And :: (k -> Constraint) -> (k -> Constraint) -> k -> Constraint - Added
SemigroupandMonoidinstances forConst' - Added
stringAssocKey :: (IsString a, KnownSymbol (AssocKey kv)) => proxy kv -> a - Added a
Wrapperinstance forEither e - Added instances of
PrettyandLift - Added
hmapWithIndexFor
- Changed the
FromJSONinstance forRecordto callparseJSON Nullfor missing fields - Added
FromJSONandToJSONinstances forNullable (Field h) :* xs
- Added cassava's
ToNamedRecord,ToRecord,FromNamedRecordandFromRecordinstances - Added
KeyIsandValueIs - Added
FromJSONandToJSONinstances 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
Hashableinstances for:*,:|,BitProd,Membership, and various wrappers - Added an
Unboxinstance for:* - Added
hfoldlWithIndexandhfoldlWithIndexFor
- Added
nothingEff - Added
happend - Added
Arbitraryinstances for:*,:|, and wrappers - Added
Data.Extensible.Bits
- Added
contEffandrunContEff - Added
castEff - Added
evalStateEff - Added
SemigroupandMonoidinstances forMatch,Comp,Prod - Added
evalStateDef,execStateDef, andexecWriterDef - Added
mkFieldAs - Added a
Boundedinstance for:*
- Added
WrappedPointer - Added
NFDataandGenericinstances forComp - Added a
Semigroupinstance forh :* xsandMembership xs x - Added
Prod - Added
peelEff0 - Changed the
IsLabelinstance so that a function is always inferred as an optic Data.Extensible.Classnow exportscompareMembership- Renamed
runMembershiptoleadership
- Made
newFromstrict pieceAtfor(:*)is now strict- Added
(<!) - Added
peelEff1,peelAction0,execStateEff,execWriterEff - Added atomic operations for
Struct - Added constrained variants of folds
- Added
hforce - Added an
NFDatainstance for(:*)and:| - Added a rule to fuse a chain of product updates
- Added a
Monoidinstance forTangleT - Added
(@==) #foocan 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
Wrapperinstances forMaybeand[] - 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
pieceAtfor(:*)is now index-preserving- Removed
sector,sectorAt,picked
- Support GHC 8.0
- Added a
Monoidinstance forField - Added
Data.Extensible.Record - Added
EnumandBoundedinstances 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,sectorAssoctopieceAt,piece,pieceAssoc, respectively pickedis now subsumed bypiecemkFieldyields more generalized optics
- Renamed
UnionAttoEmbedAt - Removed
clause; Usepiece . _Match - Removed
record; Usepiece . _K0 - Added
htraverseWithIndex - Renamed
ordtomkMembership - Fixed the
Showinstance of:| - Added
Variant
- Added
Associateclass and combinators around it Data.Extensible.Recordnow lets values be independent from keysmkFieldrequires 1 argument
- Added
Data.Extensible.Union, partially takingelevator's functionality - Removed old
Data.Extensible.UnionandData.Extensible.League - Removed
(<?!)
- Removed
Reifiable - Now
libraryyields desired dictionaries - Added
remember - Added
strikeandstrikeAt
- Renamed
generatetohtabulate - Renamed
generateAtohgenerate - Renamed
generateFortohtabulateFor - Renamed
generateForAtohgenerateFor - Renamed
htabulatetohmapWithIndex - 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
decFieldsanddecFieldsDeriving - Renamed
PositiontoMembership
- 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.HListand combinators
- Corrected the definition of
Half - Added
coinclusion,wrench,retrenchalong withNullable - Added
htabulate
- Corrected the behavior of
GenerateandForall - Made type errors more readable
- Added
(*++*) - Fixed the accidental miscall of
getUnion
- Added
recordAt - Added
ord - Re-added
K1 - Toggled INLINE pragmas
- Added
hheadandhtail - Changed the definition of
Unionto use coyoneda style
- Split modules up
- Flipped
Position - Added several combinators