Re: Bagley shootout. Was: Lightningspeed haskell

2001-03-02 Thread Jan Kort
Simon Peyton-Jones wrote: A String is a [Char] and a Char is a heap object. So a file represented as a string takes a massive 20 bytes/char (12 for the cons cell, 8 for the Char cell). Then it's all sucked through several functions. It's entirely possible, though, that the biggest

runProcess/ createPipe

2001-03-02 Thread George Russell
If Posix.runProcess really is supposed "our candidate for the high-level OS-independent primitive" (see documentation), it would help if there was a documented way of using it with pipes. The problem is that runProcess takes handles as arguments, while the obvious function, createPipe, returns

RE: Bagley shootout. Was: Lightningspeed haskell

2001-03-02 Thread Simon Marlow
Reducing the 46M reported on the shootout without changing the program would be interesting. An easy way for improvement would be to share characters and small integers like is done in Hugs. This would mean the initial list of characters would be reduced from 40M to 24M, so the total should

WRS'2001 - Extended deadline

2001-03-02 Thread Salvador Lucas Alba
[Apologies for multiple copies of this announcement] ** *** Last call for papers - extended deadline: March 12, 2001 *** **

strictness question

2001-03-02 Thread S. Doaitse Swierstra
I ran into a difference between GHC and Hugs. The following code: f (P p) ~(P q) = P (\ k - \inp - let (((pv, (qv, r)), m), st) = p (q k) inp in (((pv qv , r ), m), st)) runs fine with Hugs but blows up with GHC, whereas: f (P p) ~(P q) = P (\ k

Re: strictness question

2001-03-02 Thread Marcin 'Qrczak' Kowalczyk
Thu, 1 Mar 2001 12:25:33 +0100, S. Doaitse Swierstra [EMAIL PROTECTED] pisze: From the Haskell manual I understand that pattern matching in "let"'s should be done lazily, so the addition of a collection of ~'s should not make a difference. Toplevel ~ in let doesn't change anything. But

RE: strictness question

2001-03-02 Thread S. Doaitse Swierstra
Thanks for the prompt reply. Hugs apparently is more lazy and performs all the matching lazily, and that really makes a difference in my case. Doaitse At 8:11 AM -0800 3/2/01, Simon Peyton-Jones wrote: Strange. You don't supply a complete program, so it's hard to test. Nevertheless, the

question re hugs and func dependencies

2001-03-02 Thread Dominic Duggan
Dear all, I haven't got a reply from hugs-bugs, so I'll see if anyone here can answer the question. class foo a b | a |- b where foo :: a - b - Int instance foo Int Float where foo x y = 0 instance foo [a] [b] where foo [x] [y] = foo x y g x y = (foo [x] y) + (foo [y] x) It is my conjecture

RE: strictness question

2001-03-02 Thread Simon Peyton-Jones
Strange. You don't supply a complete program, so it's hard to test. Nevertheless, the Haskell Report (Sect 3.12) specifies that a let adds a single twiddle. Thus let (x, (y,z)) = e in b means let x = case e of (x,(y,z)) - x y = case e of (x,(y,z)) - y