Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread David Roundy
On Tue, Jul 05, 2005 at 08:17:58PM +0200, Henning Thielemann wrote: The example, again: If you write some common expression like transpose x * a * x then both the human reader and the compiler don't know whether x is a true matrix or if it simulates a column or a row vector. It may be that

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread David Roundy
On Tue, Jul 05, 2005 at 07:49:56PM +0200, Henning Thielemann wrote: On Tue, 5 Jul 2005, Keean Schupke wrote: David Roundy wrote: In short, especially since the folks doing the work (not me) seem to want plain old octave-style matrix operations, it makes sense to actually do that.

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Lennart Augustsson
David Roundy wrote: The issue is that Haskell (as far as I understand, and noone has suggested anything to the contrary) doesn't have a sufficiently powerful type system to represent matrices or vectors in a statically typed way. It would be wonderful if we could represent matrix multiplication

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, David Roundy wrote: On Tue, Jul 05, 2005 at 08:17:58PM +0200, Henning Thielemann wrote: The example, again: If you write some common expression like transpose x * a * x then both the human reader and the compiler don't know whether x is a true matrix or if it

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, Henning Thielemann wrote: Also note that if you have several vectors x for which you want to compute the dot product with metric A, and if you want to do this efficiently, you'll have to convert your list of vectors into a matrix anyways. If you bundle some vectors as

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, David Roundy wrote: Also note that if you have several vectors x for which you want to compute the dot product with metric A, and if you want to do this efficiently, you'll have to convert your list of vectors into a matrix anyways. Writing functions of vectors instead

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, Henning Thielemann wrote: fft([1,0;0,0]) ans = 1 0 1 0 Also funny: conv([1;1],[1,1]) ans = 1 2 1 conv([1;1;1],[1,1]) ans = 1 2 2 1 ___ Haskell-Cafe mailing list

[Haskell-cafe] Overlapping Instances with Functional Dependencies

2005-07-07 Thread Daniel Brown
I have the following three programs: class Foo a b instance Foo (a - b) (a - [b]) instance Foo a a class Bar a b | a - b instance Bar (a - b) (a - b) instance Bar a a class Baz a b | a - b instance Baz (a - b) (a - [b]) instance Baz a a When compiled in ghc 6.4 (with

[Haskell-cafe] Control.Monad.Cont fun

2005-07-07 Thread Tomasz Zielonka
Hello! Some time ago I wanted to return the escape continuation out of the callCC block, like this: getCC = callCC (\c - return c) But of course this wouldn't compile. I thought that it would be useful to be able to keep the current continuation and resume it later, like you can in do in

RE: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Conal Elliott
Maybe we could solve this problem in a simple and general way by working with a more abstract notion of linear maps, rather than the matrices commonly used to represent linear maps. Instead of Matrix n m, where n and m are either integers (requiring something like dependent types) or type

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Alberto Ruiz
Hello! Thank you very much for all your suggestions. A new version of the library can be found at: http://dis.um.es/~alberto/hmatrix/matrix.html Here are the main changes: - Vector and Matrix are now different types with different functions operating on them. They cannot be interchanged and

RE: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, Conal Elliott wrote: Maybe we could solve this problem in a simple and general way by working with a more abstract notion of linear maps, rather than the matrices commonly used to represent linear maps. Instead of Matrix n m, where n and m are either integers (requiring

RE: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Conal Elliott
Sorry for the delayed response, which has now led to two separate threads. See below. From: Henning Thielemann On Wed, 29 Jun 2005, Conal Elliott wrote: On row column vectors, do you really want to think of them as {1,...,n)-R? They often represent linear maps from R^n to R or R to

[Haskell-cafe] Confused about Cyclic struture

2005-07-07 Thread Dinh Tien Tuan Anh
Hi, Im a newbie to Haskell and the concept of cyclic strutures has confused me a lot For example (taken from Richard Bird's book): ones = 1:ones Its clear that it involves a cyclic structure But: ones = repeat 1 repeat x = x:repeat x I dont really understand what the

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Henning Thielemann
On Thu, 7 Jul 2005, Alberto Ruiz wrote: Hello! Thank you very much for all your suggestions. A new version of the library can be found at: http://dis.um.es/~alberto/hmatrix/matrix.html I get time-out/ :-( - Vector and Matrix are now different types with different functions operating on

Re: [Haskell-cafe] matrix computations based on the GSL

2005-07-07 Thread Alberto Ruiz
I' sorry, our web server is temporarily down :-( On Thursday 07 July 2005 20:37, Alberto Ruiz wrote: Hello! Thank you very much for all your suggestions. A new version of the library can be found at: http://dis.um.es/~alberto/hmatrix/matrix.html

[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-07 Thread oleg
Tomasz Zielonka wrote: Some time ago I wanted to return the escape continuation out of the callCC block, like this: getCC = callCC (\c - return c) patterns like this are characteristic of shift/reset -- From http://www.haskell.org/hawiki/MonadCont reset :: (Monad m) = ContT a m a - ContT

Re: [Haskell-cafe] Confused about Cyclic struture

2005-07-07 Thread Marc A. Ziegert
well, it is a little bit tricky. you know, imps do not always make what you want. imp_creates x = x `knot` imp x where knot = (:) imagine the following: you pull a foulard out of your sleeve, foulard : sleeve where sleeve = imp_creates foulard and pull foulard : foulard

Re: [Haskell-cafe] Confused about Cyclic struture

2005-07-07 Thread Bernard Pope
On Thu, 2005-07-07 at 18:43 +, Dinh Tien Tuan Anh wrote: Hi, Im a newbie to Haskell and the concept of cyclic strutures has confused me a lot I think it can be confusing for most people, so I wouldn't be too concerned. I may not answer your question completely, but I hope to give you an