Browse files

Bump readme with intuition.

  • Loading branch information...
1 parent 1c4b87a commit f29e69ae668b876eb83e18938deb05144943c26f @jlouis committed Jul 8, 2012
Showing with 12 additions and 2 deletions.
  1. +12 −2
@@ -13,13 +13,23 @@ also starts a library for producing ways to "dig" into structures much
like xpath queries in XML. But on the contrary it also allows for
functional update and alteration of the same structures.
+The intuition of a *lens* is as a lens in a camera. When we view a
+structure through the lens, we get an abstract view of what lies
+behind, twisted by the lens. This allows us to manipulate the
+structure behind the lens by casting it in a different light. We can
+pull the structure through the lens, operate on it, and then push it
+back through the lens to obtain what it originally was, but changed.
This project should be seen mostly as exploration of the concept. It
is not yet ready for drop-in into large projects. But it can over time
be made into such.
Finally, you will need eqc-mini. All the code is run through Erlang
QuickCheck in order to make sure we have a somewhat firm ground on
which to stand. That is, all our lens hacking is probalistically
-checked for correctness. If you have access to EQC mini you should be
-able to run `lens:t()` in order to check the module.
+checked for correctness. We also use eunit for certain simpler tests
+in the code where we want to verify the point query of a given result.
+If you have access to EQC mini you should be able to run `lens:t()` in
+order to check the module. It runs both the eunit and EQC suites.

0 comments on commit f29e69a

Please sign in to comment.