Hier ist meine Art:Wie "Iso" zu komponieren?
newtype SaneDate = SaneDate UniversalTime
deriving (Show, Eq, Typeable, Generic)
makeWrapped ''SaneDate
Jetzt brauche ich ein ISO mit dieser Art:
reprBuild :: Iso' (Maybe UniversalTime) (Fist SaneDate)
ich dies tat:
reprBuild = iso
(\ t -> First (SaneDate <$> t))
(\ sane_first -> fmap (^. _Wrapped) $ getFirst sane_first )
Aber ich habe den Eindruck, ich arbeite extra schwer. Gibt es eine (kürzere) Möglichkeit, die reprBuild
iso als eine Zusammensetzung der Dinge zu schreiben?
Sichere Zwänge gibt es seit 7.8. Hat 'Linse' im CPP eine zu enge Grenze? – dfeuer