Am Donnerstag, den 03.12.2009, 01:40 +0100 schrieb Sjoerd Visscher: > The idea is that there's just enough unwrapping such that you don't > need to use getDual and appEndo.
Yes, but what does Dual [1] `mappend Dual [2] mean then? Should it use the Monoid instance of Dual and return Dual [2, 1] ? Should it unwrap the lists beforehand and re-wrap them afterwards and return Dual [1, 2] ? Should it unwrap the resulting list afterwards and return [1, 2] or even [2,1] ? That's not obvious to me. > On Dec 3, 2009, at 1:25 AM, Holger Siegel wrote: > > > Am Donnerstag, den 03.12.2009, 01:16 +0100 schrieb Martijn van > > Steenbergen: > >> So here's a totally wild idea Sjoerd and I came up with. > >> > >> What if newtypes were unwrapped implicitly? > >> > >> What advantages and disadvantages would it have? > >> In what cases would this lead to ambiguous code? > > > > 1) > > instance Monoid a => Monoid (Dual a) > > > > 2) > > instance Monoid (Endo a) > > instance Monoid b => Monoid (a -> b) > > > > > > _______________________________________________ > > Haskell-Cafe mailing list > > [email protected] > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- > Sjoerd Visscher > [email protected] > > > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
