On Sun, Sep 11, 2005 at 01:48:16AM -0400, Cale Gibbard wrote: > On 10/09/05, Frederik Eaton <[EMAIL PROTECTED]> wrote: > > These are good arguments, and I think this is a good direction for the > > discussion, should it continue. > > > > > Despite having a fairly mathematical background, I don't really care > > > for the proposed syntax. > > > > > > myList :: [[Integer]] > > > myList = return [1,2,3,4] > > > > I'm assuming you mean > > > > myList :: [[Integer]] > > myList = [1,2,3,4] > > No, the confusion is over whether to lift the return, because the > inner and outer monads are the same. It's either return [1,2,3,4] == > [[1,2,3,4]], or it's liftM return [1,2,3,4] == [[1],[2],[3],[4]]
I think that Frederik's example is even better. Here you either lift the entire list or each individual number: return [1,2,3,4] or [return 1,return 2,return 3,return 4] After all, return is only a fancy name for liftM0 ;-) Best regards Tomasz _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell