Discussion:
Overlapping instances for HasAcidState error
Pete Ryland
2015-07-08 20:06:33 UTC
Permalink
I know this post is old, but I've finally worked out what I needed to do to
fix this issue. See inline comments below.
So I'm trying to update my app to use 0.5.1 version of
happstack-foundation but I've come across the following error.
As I think is necessary, I've changed my type aliases to refer to
type MyApp' = FoundationT' Route (AcidState MyAppState) () IO
type MyApp = XMLGenT MyApp'
So to avoid the overlapping instance, what I needed to do was to add in
another type to encapsulate the AcidState and provide the instance, like
CtrlV does:

data MyAppAcid = MyAppAcid { acidSt :: AcidState MyAppState }

type MyApp' = FoundationT' Route MyAppAcid () IO
type MyApp = XMLGenT MyApp'

instance (Functor m, Monad m) => HasAcidState (FoundationT' u MyAppAcid r
m) MyAppState where
getAcidState = acidSt <$> getAcidSt

I hope that helps someone else with the same problem.

Cheers,
Pete
--
You received this message because you are subscribed to the Google Groups "HAppS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to happs+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/happs.
For more options, visit https://groups.google.com/d/optout.
Loading...