
10 Mar
2014
10 Mar
'14
10:47 p.m.
Great! But how do I recover the actual constructor? E.g.,
f :: String -> Constr f s = fromMaybe (error "error in f") $ readConstr (dataTypeOf $ B 1) s
gives me back Data.Data.Constr (not D). I was hoping for something along
the lines
f "A" $ 1
to get back a value
A 1
of type D, etc.
Many thanks, S.
Here's one way: import qualified Data.Generics.Builders as B import Data.Generics.Aliases fromConstrB (B.empty `extB` (12::Int)) (f "B")::D
B 12
fromConstrB B.empty (f "B")::D
B 0