Mixing mtl- and transformers-using libraries

Hi, I have a rather large project here that uses standard mtl stuff. This program now wants to use salvia, which in turn uses the transformers library. The result is this: X.hs:163:29: Overlapping instances for Monad (Either String) arising from a use of `neuePersonCommit' at X.hs:163:29-48 Matching instances: instance (transformers-0.1.4.0:Control.Monad.Trans.Error.Error e) => Monad (Either e) -- Defined in transformers-0.1.4.0:Control.Monad.Trans.Error instance (Control.Monad.Error.Class.Error e) => Monad (Either e) -- Defined in Control.Monad.Error Is there any way of using salvia without having ghc consider instances from transformers? Thanks, Joachim -- Joachim "nomeata" Breitner mail: mail@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org

Joachim Breitner
I have a rather large project here that uses standard mtl stuff. This program now wants to use salvia, which in turn uses the transformers library. The result is this:
X.hs:163:29: Overlapping instances for Monad (Either String) arising from a use of `neuePersonCommit' at X.hs:163:29-48 Matching instances: instance (transformers-0.1.4.0:Control.Monad.Trans.Error.Error e) => Monad (Either e) -- Defined in transformers-0.1.4.0:Control.Monad.Trans.Error instance (Control.Monad.Error.Class.Error e) => Monad (Either e) -- Defined in Control.Monad.Error
Is there any way of using salvia without having ghc consider instances from transformers?
Switch to using transformers yourself (I believe it's API compatible with mtl)? -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com

Hi, Am Donnerstag, den 06.05.2010, 22:42 +1000 schrieb Ivan Lazar Miljenovic:
Joachim Breitner
writes: I have a rather large project here that uses standard mtl stuff. This program now wants to use salvia, which in turn uses the transformers library. The result is this:
X.hs:163:29: Overlapping instances for Monad (Either String) arising from a use of `neuePersonCommit' at X.hs:163:29-48 Matching instances: instance (transformers-0.1.4.0:Control.Monad.Trans.Error.Error e) => Monad (Either e) -- Defined in transformers-0.1.4.0:Control.Monad.Trans.Error instance (Control.Monad.Error.Class.Error e) => Monad (Either e) -- Defined in Control.Monad.Error
Is there any way of using salvia without having ghc consider instances from transformers?
Switch to using transformers yourself (I believe it's API compatible with mtl)?
I tried, but other dependencies still use mtl, still both instances are in scope. Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
participants (3)
-
Ivan Lazar Miljenovic
-
Joachim Breitner
-
Joachim Breitner