RE: heap oversize panic when compiling with -prof -auto-all

2002-01-29 Thread Simon Marlow
I tried this under Linux (debian, using ghc 5.02.2). It compiled OK, but produced an executable that dumped core immediately on startup. :-( For what it's worth, here is as much info. as I could glean from gdb: Starting program: /home/frp/afrp/src/testST Program received signal

Re: heap oversize panic when compiling with -prof -auto-all

2002-01-29 Thread Antony Courtney
Simon Marlow wrote: Profiling has received significant attention since we branched 5.02, but I'm not aware of any segfault-type bugs in the 5.02 profiling implementation. Could you perhaps send your sources and we'll look into it (and the Win2k problem you had)? Certainly. We've just

Cygwin path support for ghc under Windows?

2002-01-29 Thread Antony Courtney
Hi, This is more of a question than a bug report, so my appologies for using what is probably the wrong email list. Henrik Nilsson and I have just invested considerable effort in trying to write portable, complete Makefiles for compiling and installing some of our Haskell libraries with ghc

Re: Cygwin path support for ghc under Windows?

2002-01-29 Thread Sigbjorn Finne
You have to give more details than this; GHC does support both '/' and '\' as path separator (but, of course, doesn't understand nonsense like /cygdrive prefixes). That GHC doesn't depend on cygwin is a feature, not a bug (but if you want it to, you can compile it up for that 'platform'

GHCi Cygwin

2002-01-29 Thread Koen Claessen
Hi all, This message should maybe have been posted to a cygwin mailing list, but I figured I would get a quicker answer here. I have sucessfully installed the latest GHC on my (new) Windows laptop. I have also installed cygwin a while ago, and I really like it. (I am doing all my work from a

RE: Polytypic programming

2002-01-29 Thread Simon Peyton-Jones
It's high on my to-do list because it so nearly Works Right, but I have to make it possible to detect when you have got to a data constructor, or a field thereof. The more people who ask the faster it will get done... Simon | -Original Message- | From: Till Mossakowski [mailto:[EMAIL

Selective compilation

2002-01-29 Thread Nicholas Nethercote
Hi, If you want to build GHC in different ways, eg. with ticky-ticky profiling on, you can do it by setting GhcLibWays=t. This make two versions of all the library .o files and .a files, a normal one, and a ticky-ticky one. My question is: can you stop it from making the normal one? Thanks

Re: GHCi Cygwin

2002-01-29 Thread Sigbjorn Finne
Koen Claessen [EMAIL PROTECTED] writes: .. I have sucessfully installed the latest GHC on my (new) Windows laptop. I have also installed cygwin a while ago, and I really like it. (I am doing all my work from a cygwin shell.) The problem is that control-C is interpreted differently

Re: Polytypic programming

2002-01-29 Thread William Lee Irwin III
On Tue, Jan 29, 2002 at 07:15:51AM -0800, Simon Peyton-Jones wrote: It's high on my to-do list because it so nearly Works Right, but I have to make it possible to detect when you have got to a data constructor, or a field thereof. The more people who ask the faster it will get done... I

RE: Haskell 98 report; D Specification of Derived Instances

2002-01-29 Thread Simon Peyton-Jones
| Just before Section D.1 there is the sentence | | When inferring the context for the derived instances, type | synonyms must be expanded out first. | | I don't understand it. Which type synonyms need expansion? Consider type Foo a = [a] data T a = MkT (Foo a) deriving( Eq

Re: n+k patterns

2002-01-29 Thread Ross Paterson
On Tue, Jan 29, 2002 at 07:36:56AM -0800, Simon Peyton-Jones wrote: The Haskell Report says of n+k patterns: A n+k pattern can only be matched against a value in the class Integral. This seems far too strong. All that is needed are Ord (for the =) and Num (for - and fromInteger), and

Re: n+k patterns

2002-01-29 Thread Olaf Chitil
In any case, I propose to change Integral to Ord and Num. I agree. And nhc98 seems to actually implement this. Nonetheless I find using n+k patterns for floating point numbers pretty horrible. And it raises the question why k cannot be a rational ... But then n+k patterns are a wart anyway.

RE: n+k patterns

2002-01-29 Thread Simon Peyton-Jones
| Btw., in 3.17.2 Informal Semantics of Pattern Matching | the end of the following sentence should be changed: Actually I've changed the entire wording of that section in consultation with Ross who has read it rather carefully. You can find the current draft of the expressions chapter at

RE: n+k patterns

2002-01-29 Thread Mark P Jones
| On Tue, Jan 29, 2002 at 07:36:56AM -0800, Simon Peyton-Jones wrote: | The Haskell Report says of n+k patterns: | | A n+k pattern can only be matched against a value in | the class Integral. | | This seems far too strong. All that is needed are Ord (for the =) | and Num (for - and

RE: n+k patterns

2002-01-29 Thread Simon Peyton-Jones
| Hugs demands Integral because that's what it was told to do | to follow the report. So in that sense, yes, the code | depends on having only one class. But it would be easy for | someone to change that. | | Then again, if we're following the rules of minimal change | for Haskell 98, then

Re: n+k patterns

2002-01-29 Thread Lennart Augustsson
Well, it was a deliberate decision to limit the n+k pattern to class Integral because people at that time felt that n+k was something that should only be used with integers. So it's not a fluke, it was quite deliberate. I kind of like Integral for this (as much as I can like anything about n+k

Re: n+k patterns

2002-01-29 Thread Lennart Augustsson
Simon Peyton-Jones wrote: | Hugs demands Integral because that's what it was told to do | to follow the report. So in that sense, yes, the code | depends on having only one class. But it would be easy for | someone to change that. | | Then again, if we're following the rules of minimal

if-then-else inside a do

2002-01-29 Thread Andre W B Furtado
In the following code, will other things be executed or the return () will end function f? I guess the answer is yes (other things WILL be executed anyway), but I'd like to understand why won't the return () be the [state change/result produced] created by f. f :: IO () f = do -- lots of

st monad

2002-01-29 Thread Andre W B Furtado
How do I find the implementation of the module ST? In the GHC documentation, I can only find the signatures of the functions.

Re: if-then-else inside a do

2002-01-29 Thread Bernard James POPE
In the following code, will other things be executed or the return () will end function f? I guess the answer is yes (other things WILL be executed anyway), but I'd like to understand why won't the return () be the [state change/result produced] created by f. f :: IO () f = do --

Re: if-then-else inside a do

2002-01-29 Thread Bernard James POPE
Hi again, Forgot to mention this in my last email. I find myself writing a lot of if-then-elses in do notation, and most often the else branch is return (). This gets a bit cumbersome to write and messes up the code. So now I tend to use: doIf :: Monad a = Bool - [a b] - a () doIf b e =

Re: if-then-else inside a do

2002-01-29 Thread Fergus Henderson
On 29-Jan-2002, Andre W B Furtado [EMAIL PROTECTED] wrote: In the following code, will other things be executed or the return () will end function f? I guess the answer is yes (other things WILL be executed anyway), but I'd like to understand why won't the return () be the [state

Hello everybody, About a Haskell WebServer ??

2002-01-29 Thread Jayhuse
Hello Haskell friends: I am looking for anybody that has information on Haskell WebServers. Currently I understand that Simon Marlow has built a 1500 line Web Server that does extremely well. My question is has anybody else out there built a web server ? and if so does it contain similar

Re: if-then-else inside a do

2002-01-29 Thread Johannes Waldmann
Forgot to mention this in my last email. I find myself writing a lot of if-then-elses in do notation, and most often the else branch is return (). This gets a bit cumbersome to write and messes up the code. There's also the Monad library http://haskell.org/onlinelibrary/monad.html that

Re: Random questions after a long haskell coding day

2002-01-29 Thread Ketil Z. Malde
Simon Marlow [EMAIL PROTECTED] writes: Any thumb rule for using arrays? I'm expecting access to be O(1), it is right? In GHC, yes. (Shouldn't this really be required? I mean, the whole *point* of using arrays is to have O(1) random access, isn't it?) Can we also rely on destructive

RE: Random questions after a long haskell coding day

2002-01-29 Thread Simon Marlow
Simon Marlow [EMAIL PROTECTED] writes: Any thumb rule for using arrays? I'm expecting access to be O(1), it is right? In GHC, yes. (Shouldn't this really be required? I mean, the whole *point* of using arrays is to have O(1) random access, isn't it?) Can we also rely on

Re: Random questions after a long haskell coding day

2002-01-29 Thread Ketil Z. Malde
Simon Marlow [EMAIL PROTECTED] writes: Can we also rely on destructive updates for the monadic arrays? In GHC, yes :-) Goodie! One more question: I imagine arrays give an opportunity to optimize by unboxing the contained type -- any chance of that? How much space would an array of Chars

RE: Random questions after a long haskell coding day

2002-01-29 Thread Simon Marlow
Simon Marlow [EMAIL PROTECTED] writes: Can we also rely on destructive updates for the monadic arrays? In GHC, yes :-) Goodie! One more question: I imagine arrays give an opportunity to optimize by unboxing the contained type -- any chance of that? How much space would an array

RE: Random questions after a long haskell coding day

2002-01-29 Thread Mark P Jones
| Any thumb rule for using arrays? I'm expecting access to be | O(1), it is right? | | In GHC, yes. | | (Shouldn't this really be required? I mean, the whole *point* of using | arrays is to have O(1) random access, isn't it?) In Hugs, no. In an ideal world, the answer would be yes, but

oops (was: Re: if-then-else inside a do)

2002-01-29 Thread Bernard James POPE
Oops, Thanks to Kevin who pointed out: when :: (Monad m) = Bool - m () - m () when p s = if p then s else return () unless :: (Monad m) = Bool - m () - m () unless p s= when (not p) s So now I tend to use: doIf :: Monad a = Bool - [a b] - a ()

Re: oops (was: Re: if-then-else inside a do)

2002-01-29 Thread Mark Carroll
On Wed, 30 Jan 2002, Bernard James POPE wrote: (snip) when :: (Monad m) = Bool - m () - m () when p s = if p then s else return () unless :: (Monad m) = Bool - m () - m () unless p s= when (not p) s (snip) That's cute. People post all sorts of handy

Re: oops (was: Re: if-then-else inside a do)

2002-01-29 Thread Kevin Glynn
I think the Haskell Wiki was going to be the place to collect interesting code fragments. However, I must add that these functions are already part of the Haskell 98 standard. See the Monad module in the Library Report. cheers k Mark Carroll writes: On Wed, 30 Jan 2002, Bernard James