between
Function combinator "between" and derived combinators https://github.com/trskop/between
Version on this page:  0.11.0.0 
LTS Haskell 12.23:  0.11.0.0 
Stackage Nightly 20181215:  0.11.0.0 
Latest on Hackage:  0.11.0.0 
Module documentation for 0.11.0.0
There are no documented modules for this package.
Between
Description
It turns out that this combinator
f ~@~ g = (f .) . (. g)
is a powerful thing. It was abstracted from following (commonly used)
pattern f . h . g
where f
and g
are fixed.
This library not only define ~@~
combinator, but also some derived
combinators that can help us to easily define a lot of things including
lenses. See lens package for detais on what lenses are.
Function Data.Function.on
can be implemented using ~@~
as:
on :: (b > b > c) > (a > b) > a > a > c
on f g = (id ~@~ g ~@~ g) f
If function @on3@ existed in /base/ then it could be defined as:
on3 :: (b > b > b > d) > (a > b) > a > a > a > d
on3 f g = (id ~@~ g ~@~ g ~@~ g) f
For more examples see documentation.
Documentation
Stable releases with API documentation are available on Hackage.
Building Options

fpedantic
(disabled by default)Pass additional warning flags to GHC.
License
The BSD 3Clause License, see LICENSE file for details.
Contributions
Contributions, pull requests and bug reports are welcome! Please don’t be
afraid to contact author using GitHub or by email (see .cabal
file for
that).
Changes
ChangeLog / ReleaseNotes
Version 0.11.0.0
 New function application combinators (new):
inbetween :: a > b > (a > b > r) > r
(~$~) :: a > b > (a > b > r) > r
(~$$~) :: b > a > (a > b > r) > r
withIn :: ((a > b > r) > r) > (a > b > r) > r
withReIn :: ((b > a > r) > r) > (a > b > r) > r
 Precursors to
Iso
,Lens
andPrism
(new):type PreIso r s t a b = ((b > t) > (s > a) > r) > r
type PreIso' r s a = PreIso r s s a a
type PreLens r s t a b = ((b > s > t) > (s > a) > r) > r
type PreLens' r s a = PreLens r s s a a
type PrePrism r s t a b = ((b > t) > (s > Either t a) > r) > r
type PrePrism' r s a = PrePrism r s s a a
 Uploaded to Hackage: http://hackage.haskell.org/package/between0.11.0.0
Version 0.10.0.0
 Original implementation moved to module
Data.Function.Between.Lazy
and is now reexported byData.Function.Between
. (new)  Implementation of strict variants of all functions defined in
Data.Function.Between.Lazy
module. These new functions use(f . g) x = f '$!' g '$!' x
as definition for function composition where$!
is strict application. (new)  Uploaded to Hackage: http://hackage.haskell.org/package/between0.10.0.0
Version 0.9.0.2
 Minor documentation changes.
 Resolving some Haddock issues in documentation.
 Uploaded to Hackage: http://hackage.haskell.org/package/between0.9.0.2
Version 0.9.0.1
 Removing all INLINE and RULES. Tested it using ghccore with GHC 7.8.3 (bundled with Haskell Platform 2014.2.0.0) and it works well.
 Uploaded to Hackage: http://hackage.haskell.org/package/between0.9.0.1
Version 0.9.0.0
 First public release.
 Uploaded to Hackage: http://hackage.haskell.org/package/between0.9.0.0