[Haskell-cafe] Re: Improving MTL instances (was: Overlapping/Incoherent instances)

2008-10-13 Thread Don Stewart
ryani.spam:
 On Mon, Oct 13, 2008 at 2:04 AM, J. Garrett Morris
 [EMAIL PROTECTED] wrote:
  Indeed - MTL seems to have been rewritten at some point in the past to
  prefer exhaustive enumeration to overlap.
 
 Indeed, and I actually think this is a weakness of the current
 implementation.  Anyone who comes up with a new transformer that
 provides different functionality than what is there needs to
 explicitly provide all the relevant instances, instead of letting
 MonadTrans do its thing.

I just want to make one small point here encouraging people to try out
new 'mtl' libraries. There are lots of *new* monad libraries,

The new  improved mtl:

* monadLib 
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monadLib

As well as,

* mmtl http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mmtl
* mtl-tf http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl-tf
  
and the huge,

* category-extras 
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras

'mtl' isn't magic in any way. it isn't distributed with ghc, so we can
let the (library) free market pick a winner.

Now, if the monadLib guys would advertise their work a bit more
effectively...

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Improving MTL instances (was: Overlapping/Incoherent instances)

2008-10-13 Thread J. Garrett Morris
On Mon, Oct 13, 2008 at 12:29 AM, Ryan Ingram [EMAIL PROTECTED] wrote:
 Of course, the point of this message isn't just to complain.  The
 overlap implementation was abhorrent and it *is* better now than it
 was before.

I'm curious what you find abhorrent about the overlap implementation
that was there before - in particular, it seems like it was designed
to handle both the combinatorial explosion and the corner cases you
mentioned.  Did you find writing the MonadTrans instances unpleasant?
Was it the presence of overlapping instances at all?

On Mon, Oct 13, 2008 at 12:35 AM, Don Stewart [EMAIL PROTECTED] wrote:
 I just want to make one small point here encouraging people to try out
 new 'mtl' libraries. There are lots of *new* monad libraries,

Without knowing better myself: do any of these libraries address the
issue Ryan's brought up?  I know that monadLib takes the same approach
the MTL does to this, and so is likely to have the same difficulties.

 /g

-- 
I am in here
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Improving MTL instances (was: Overlapping/Incoherent instances)

2008-10-13 Thread Iavor Diatchki
Hello,
The currently released version of monadLib does not use overlapping
instances, indeed.
However, in the monadLib  repo (http://github.com/yav/monadlib) there
is a file called MonadLib4.hs which contains a version of the
library that is implemented with overlapping instances, so you can
play around with it.  I'd be interested to get feedback on this
version of moandLib.
-Iavor

On Mon, Oct 13, 2008 at 12:44 AM, J. Garrett Morris
[EMAIL PROTECTED] wrote:
 On Mon, Oct 13, 2008 at 12:29 AM, Ryan Ingram [EMAIL PROTECTED] wrote:
 Of course, the point of this message isn't just to complain.  The
 overlap implementation was abhorrent and it *is* better now than it
 was before.

 I'm curious what you find abhorrent about the overlap implementation
 that was there before - in particular, it seems like it was designed
 to handle both the combinatorial explosion and the corner cases you
 mentioned.  Did you find writing the MonadTrans instances unpleasant?
 Was it the presence of overlapping instances at all?

 On Mon, Oct 13, 2008 at 12:35 AM, Don Stewart [EMAIL PROTECTED] wrote:
 I just want to make one small point here encouraging people to try out
 new 'mtl' libraries. There are lots of *new* monad libraries,

 Without knowing better myself: do any of these libraries address the
 issue Ryan's brought up?  I know that monadLib takes the same approach
 the MTL does to this, and so is likely to have the same difficulties.

  /g

 --
 I am in here
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe