Popularity
3.9
Declining
Activity
0.0
Stable
4
3
2

Monthly Downloads: 29
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Data    
Latest version: v0.11.0.0

between alternatives and similar packages

Based on the "Data" category.
Alternatively, view between alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of between or a related project?

Add another 'Data' Package

README

Between

Hackage Hackage Dependencies Haskell Programming Language BSD3 License

Build

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 defines ~@~ combinator, but also some derived combinators that can help us to easily define a lot of things including lenses. See lens package for details 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 3-Clause 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 e-mail (see .cabal file for that).


*Note that all licence references and agreements mentioned in the between README section above are relevant to that project's source code only.