Path to this page:
./
devel/hs-lens,
Lenses, Folds and Traversals
Branch: CURRENT,
Version: 5.3.3,
Package name: hs-lens-5.3.3,
Maintainer: pkgsrc-usersThis package comes "Batteries Included" with many useful lenses for the types
commonly used from the Haskell Platform, and with tools for automatically
generating lenses and isomorphisms for user-supplied data types.
The combinators in Control.Lens provide a highly generic toolbox for composing
families of getters, folds, isomorphisms, traversals, setters and lenses and
their indexed variants.
An overview, with a large number of examples can be found in the README
(https://github.com/ekmett/lens#lens-lenses-folds-and-traversals).
Master sites:
Version history: (Expand)
- (2025-01-30) Updated to version: hs-lens-5.3.3
- (2024-05-09) Updated to version: hs-lens-5.2.3nb2
- (2023-11-02) Updated to version: hs-lens-5.2.3nb1
- (2023-10-30) Updated to version: hs-lens-5.2.3
- (2023-10-09) Updated to version: hs-lens-5.2nb2
- (2023-02-09) Updated to version: hs-lens-5.2nb1
CVS history: (Expand)
2025-01-30 08:59:00 by Masatake Daimon | Files touched by this commit (3) | |
Log message:
devel/hs-lens: update to lens-5.3.3
5.3.3 [2024.12.28]
------------------
* Add `makeFieldsId`, which generates overloaded field accessors using the
same names as the underlying fields. This is intended for use with the
`NoFieldSelectors` and `DuplicateRecordFields` language extensions.
Also add `classIdFields :: LensRules` and `classIdNamer :: FieldNamer`, both
of which use the same naming rules as `makeFieldsId`.
* Update the `Prism`s in `Language.Haskell.TH.Lens` to reflect additions to
`template-haskell-2.23.0.0`:
* Add an `_OrP` `Prism` for the `Pat` data type.
* Add `_ForallE`, `_ForallVisE`, and `_ConstrainedE` `Prism`s for the `Exp`
data type.
5.3.2 [2024.05.12]
------------------
* Define the following lenses that perform an operation and result the old
result:
* `(<<<>:~)` (prepend to the front via `(<>)` and return the \
old result)
* `(<<<|~)` (prepend to the front via `(<|)` and return the old result)
* `(<<|>~)` (append to the back via `(|>)` and return the old result)
Each of these also has a variant that end with `=` instead of `~` (e.g.,
`(<<<>:=)`) for working in a `MonadState` setting.
* Re-export `(<>:~)`, `(<<>:~)`, `(<|~)`, `(<<|~)`, \
`(|>~)`, and `(<|>~)` (as
well as their variants which end with `=` instead of `~`, and their variants
which return the old result) from `Control.Lens.Operators`.
5.3.1 [2024.05.05]
------------------
* Add a `Magnify` instance for the CPS variant of `RWST` when building with
`mtl-2.3` or later.
5.3 [2024.05.04]
----------------
* Allow building with GHC 9.10.
* Update the `Prism`s in `Language.Haskell.TH.Lens` to reflect additions to
`template-haskell-2.22.0.0`:
* The `_InfixD` `Prism` now focuses on `(Fixity, NamespaceSpecifier, Name)`
when building with `template-haskell-2.22.0.0` or later.
* Add `Prism`s for the newly introduced `NamespaceSpecifier` data type.
* Add `_TypeP` and `_InvisP` `Prism`s for the `Pat` data type.
* Add a `_TypeE` `Prism` for the `Exp` data type.
* Add a `_SCCP` `Prism` for the `Pragma` data type.
* Add the following `Setter`s for prepending and appending elements:
* `(<>:~)`: prepend an element to the front via `(<>)`.
* `(<<>:~)`: prepend an element to the front via `(<>)` and \
return the result.
* `(<|~)`: cons an element to the front via `(<|)`.
* `(<<|~)`: cons an element to the front via `(<|)` and return the result.
* `(|>~)`: snoc an element to the back via `(|>)`.
* `(<|>~)`: snoc an element to the back via `(|>)` and return the result.
Each of these also has a variant that end with `=` instead of `~` (e.g.,
`(<>:=)`) for working in a `MonadState` setting.
|
2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137) |
Log message:
Recursive revbump after changing the default Haskell compiler
|
2024-05-03 12:43:32 by Masatake Daimon | Files touched by this commit (2) |
Log message:
devel/hs-lens: Fix build with GHC 9.8
This breaks build with the currently default GHC 9.6. Please bear with me
until I switch the default compiler.
|
2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141) |
Log message:
Revbump all Haskell after updating lang/ghc96
|
2023-10-30 19:52:38 by Masatake Daimon | Files touched by this commit (4) | |
Log message:
devel/hs-lens: Update to 5.2.3
5.2.3 [2023.08.24]
* Allow building with GHC 9.8.
* Add new Prisms to Language.Haskell.TH.Lens to reflect recent additions to
template-haskell:
- _GetFieldE and _ProjectionE Prisms for the Exp data type, whose
corresponding data constructors were introduced in
template-haskell-2.18.*.
- _TypedBracketE and _TypedSpliceE Prisms for the Exp data type, whose
corresponding data constructors were introduced in
template-haskell-2.21.*.
- _BndrReq and _BndrInvis Prisms for the BndrVis data type, which was
added in template-haskell-2.21.*.
* Add a generateRecordSyntax option to Control.Lens.TH, which controls
whether to generate lenses using record update syntax or not. By default,
this option is disabled.
* Fix a bug in which the declare* Template Haskell functions would fail if
a data type's field has a type that is defined in the same Template
Haskell quotation.
* Add altOf, which collects targets into any Alternative.
5.2.2 [2023.03.18]
* Fix a bug in which calling ix i (where i is a negative number) on Text or
ByteString would return the Just the first character instead of returning
Nothing.
5.2.1 [2023.02.27]
* Allow building with GHC 9.6.
* Allow building with GHC backends where HTYPE_SIG_ATOMIC_T is not defined,
such as the WASM backend.
* Support building with th-abstraction-0.5.*.
* Define _TypeDataD in Language.Haskell.TH.Lens when building with
template-haskell-2.20.0.0 (GHC 9.6) or later.
|
2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988) |
Log message:
Bump Haskell packages after updating lang/ghc94
|
2022-08-23 14:16:25 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
hs-lens: update to 5.2.
5.2 [2022.08.11]
----------------
* Allow building with GHC 9.4.
* The type of `universeOf` has changed:
```diff
-universeOf :: Getting [a] a a -> a -> [a]
+universeOf :: Getting (Endo [a]) a a -> a -> [a]
```
In many cases, using `Endo [a]` over `[a]` improves performance. Most call
sites to `universeOf` will not be affected by this change, although you may
need to update your code if you define your own combinators in terms of
`universeOf`.
* Allow `makeWrapped` to accept the names of data constructors. This way,
`makeWrapped` can be used with data family instances, much like other
functions in `Control.Lens.TH`.
* Define `_OpaqueP`, `_DefaultD`, `_LamCasesE`, `_PromotedInfixT`, and
`_PromotedUInfixT` in `Language.Haskell.TH.Lens` when building with
`template-haskell-2.19.0.0` (GHC 9.4) or later.
5.1.1 [2022.05.17]
------------------
* Add `Data.HashSet.Lens.hashMap`, an `Iso` between a `HashSet a` and a
`HashMap a ()`.
* Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
Note that `lens` no longer defines `Zoom` instances for `ErrorT` or `ListT`
when building with `mtl-2.3` or later. This is because `MonadState` is a
superclass of `Zoom`, and the `MonadState` instances for `ErrorT` and `ListT`
were removed in `mtl-2.3`. Be watchful of this if you build `lens` with
`mtl-2.3` (or later) combined with an older version of `transformers`
(pre-`0.6`) that defines `ErrorT` or `ListT`.
|
2022-08-20 10:08:24 by Thomas Klausner | Files touched by this commit (211) |
Log message:
hs*: recursive bump for new dependencies needed
for hs-aeson, hs-vector
|