Lenses allow you to focus on a specific part of a reactive value. When you have a lens, you can use it to turn a reactive value into another that represents only a subpart of your original structure.
Reactive values are a form of mutable, reactive, thread-safe memory locations. They are great to create reactive anchors in your GUI and your model, and then write declarative rules that bridge them together during runtime.
For more information, see:
https://github.com/keera-studios/keera-hails http://keera.co.uk/blog/2014/05/24/reactive-programming-using-reactive-values/
And the article "Bridging the GUI gap", by Ivan Perez & Henrik Nilsson, part of TFP2014's draft pre-proceedings: http://www.staff.science.uu.nl/~hage0101/preproceedingstfp2014.pdf
Open a ticket or send me a message if you use this and have a problem.
Also, I'd be happy to know (and publish a list of) programs that use hails-reactivevalues. Please, let me know if you write something that uses it.