FW: Records and generating splices

"Rene de Visser" <[email protected]> Tue, 12 Jul 2005 10:12:19 +0200
Newsgroups gmane.comp.lang.haskell.template
Message-ID <[email protected]>
>From: "Rene de Visser" <[email protected]>
>test9 = [d| add_rel1 value = $(exp) value |] where
>          exp = [| (\value -> modify (\db -> $(updater) db (Set.insert 
>value (rel1 db)))) |] where
>          updater = [|(\db value -> db{rel1 = value}) |]
>          --updater =  LamE [VarP db_2,VarP value_3] (RecUpdE (VarE db_2) 
>[(DataBase.rel1,VarE value_3)]) where
>          db_2 = mkName "db_2" ; value_3 = mkName "value_3"

Ok, I've found the error, that needs to be

updater =  lamE [varP db_2,varP value_3] (recUpdE (varE db_2) [fieldExp 
'DataBase.rel1 (varE value_3)])

Rene.