A small re-factoring that I needed when playing with converting Options.Core
to a deep embedding. I think the separation is a good idea.
1 patch for repository http://darcs.net/screened:
patch ad2a1363bddbd799b48ef552c5f055009a8a27d7
Author: Ben Franksen <benjamin.franksen@helmholtz-berlin.de>
Date: Thu Nov 13 02:46:19 CET 2014
* move Iso and IsoFunctor from Darcs.UI.Options.Core to Darcs.UI.Options.Iso
Ok, signing the patch seems not to work for me. Does the patch tracker
do any extra checks like comparing patch author, mail address and
signature meta-data?
For the meantime, I'll push manually.
The Iso stuff is used in many places in the Options subsystem to lift
data type conversions to the option level. There are other ways to do
this but I found that this light-weight approach reduces the boilerplate
to the minimum. For a simple example, look at the definition of
Darcs.UI.Options.All.dryRun where the Iso is between Bool and
Darcs.Repository.Flags.DryRun.