The pointless-lenses package

[Tags: bsd3, library]

Pointless Lenses is library of bidirectional lenses ( defined in the point-free style of programming. Generic bidirectional lenses can be defined over inductive types by relying in a set of lifted lens combinators from the standard point-free combinators. Virtually any recursive lens can be defined by combining the lenses for the recursion patterns of catamorphisms and anamorphism. The library also provides QuickCheck procedures to test the well-behavedness of user-defined lens transformations.

[Skip to ReadMe]


Versions0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9
Change logNone available
Dependenciesbase (>=3 && <5), haskell98, pointless-haskell (>=0.0.2), process [details]
AuthorAlcino Cunha <>, Hugo Pacheco <>
MaintainerHugo Pacheco <>
Home page
UploadedThu Sep 30 10:09:53 UTC 2010 by HugoPacheco
Downloads1394 total (27 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees

Readme for pointless-lenses-0.0.6

Pointless Lenses

This cabal package can be installed with:

$ cabal install pointless-lenses

For a manual install, execute:

$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
$ runhaskell Setup.lhs install

You can now start playing with the example code that comes with the library, under Language.Pointless.Examples.Examples.
The easiest way is to create a new module that imports some library modules

module Test where

import Test.QuickCheck.Test
import Generics.Pointless.Lenses
import Generics.Pointless.Lenses.Examples.Examples

and interpret it

$ ghci Test.hs

We can now test the well-behavedness of some lens, for example:

> quickCheck (wb filter_lns)
+++ OK, passed 100 tests.

Or run some example and later check what it is actually doing:
> exampleT
Fst (1,'a')