So far, we have looked at lens and traversals which are aimed at focusing on a particular field(s) from the context of accessing or changing its value. In this recipe, we will look at Iso which represents isomorphism between two types. It is possible to go back and forth between two types. For example, we can convert from Text to String and vice versa.
Working with Iso
How to do it...
- Create a new project working-with-iso with a simple stack template:
stack new working-with-iso simple
- Add a dependency on the lens library in the build-depends sub-section of the executable section. Also, add a dependency on text and bytestring and add the quicklz library for compression utility:
executable working-with-iso hs...