Re: avoiding repeated use of show

1998-07-28 Thread Olivier Danvy
> Simon L Peyton Jones wrote: > > [...] Let me advertise Olivier Danvy's very cunning idea to implement > > printf in Haskell/ML. > > > > http://www.brics.dk/RS/98/5/index.html > A revised version is available in http://www.brics.dk/RS/98/12/index.html It is the extended version of

Re: suggestions for Haskell-2

1998-07-28 Thread Simon L Peyton Jones
> class (Ring r,AddGroup (m r)) => RightModule m r > where > cMul :: m r -> r -> m r > -- "vector" (m r) multiplied by "coefficient" r' > > Haskell rejects this (m r) in the context. Could Haskell-2 allow it? Yes. See http://www.dcs.gla.ac.uk/~simonpj/multi-p

first-argument approach. Reply.

1998-07-28 Thread S.D.Mechveliani
To my letter on Haskell-2 with >>Remark and question on the ambiguity problem >>... "...Exploration of Design Space." >> >>... first argument approach *is practicable* ... Dominic Duggan <[EMAIL PROTECTED]> writes >Matrix multiplication: * :: Matrix a -> Matrix b -> Matrix c > >does not sa

Re: Instance contexts.

1998-07-28 Thread Ralf Hinze
| > I'd like to support Alex here: it is absolutely necessary to relax | > condition 10 of SPJ's list. | | http://www.dcs.gla.ac.uk/~simonpj/multi-param.html | | > Idioms like the one above (`Ord (s a)' or | > `Show (s a)') arise too often and are completely natural. | | One of the great

ambiguity problem. Reply.

1998-07-28 Thread S.D.Mechveliani
To my letter on Haskell-2 with >>Remark and question on the ambiguity problem >>M.Jones & S.P.Jones paper "...Exploration of Design Space." Dominic Duggan <[EMAIL PROTECTED]> writes >E. Meijer is also an author of this paper. I am sorry. >Matrix multiplication: * :: Matrix a -> Matrix b

transparent newtype

1998-07-28 Thread S.D.Mechveliani
To my request on Haskell-2 >> Obstacle 2: Haskell rejects this `=> RightModule r r' >> How can we express the meaning >> ... RightModule m r where m is the identical constructor >> (m a = a) ? >> Scripting newtype Id

Re: first-argument approach. Reply.

1998-07-28 Thread Dominic Duggan
There is no difference between f = let m1 = Mt [[0]] :: Matrix Int in mm m1 m1 m1 and f = (m1 * m1) :: Matrix Int aside from the convoluted way of providing the type annotation (and the need in the former case to provide a sample value of the intended result type, not a very easy t