Re: isSpace is too slow

2007-05-21 Thread Yitzchak Gale
Duncan Coutts wrote: iswspace... We could short-cut that for ascii characters. Also, '\t', '\n', '\r', '\f', and '\v' are contiguous. So isSpace c =c == ' ' || c = '\r' c = '\t' || c == '\xa0' || c '\xff' iswspace (fromIntegral (ord c)) /= 0 That makes

RE: optimization that doesn't make recompilation be needed more often?

2007-05-21 Thread Simon Peyton-Jones
Try -fomit-interface-pragmas Regardless of optimisation level, this tells GHC to generate only *essential* info in interface files (notably type signatures). That will kill all cross-module inlinings, but it will also dramatically reduce cross-module recompilation dependencies; in fact it'll

Re: isSpace is too slow

2007-05-21 Thread Ketil Malde
On Sun, 2007-05-20 at 16:59 +0100, Duncan Coutts wrote: isSpace c = c == ' ' || c == '\t'|| c == '\n'|| c == '\r'|| c == '\f'||

Re: capabilities of GHC API

2007-05-21 Thread Simon Marlow
Lemmih wrote: On 5/19/07, Frederik Eaton [EMAIL PROTECTED] wrote: Hello, I think what I'm trying to do is too ambitious, but I thought I would ask to see if it is possible. It seems like there is no easy way to do it, given what I've seen of the GHC API. I would like to have a function, say

Re: Wanted: warning option for usages of unary minus

2007-05-21 Thread Simon Marlow
John Meacham wrote: On Mon, May 14, 2007 at 10:19:07AM +0100, Simon Marlow wrote: Really? I'm beginning to have second thoughts about the proposed change to negation for Haskell'. The main reason, and this isn't pointed out as well as it should be on the wiki, is that x-1 will cease to be an

Re: Avoiding CAF's

2007-05-21 Thread Simon Marlow
Neil Mitchell wrote: Hi Ian and Simon, Ian said: Does the boxing not get optimised out? Is the FFI imported function exported from the module? http://hpaste.org/1882 (replicated at the end of this message in case the hpaste is not around forever, but clearly layout and syntax colouring)

Re: How to to terminate runStmt in GHC as a library

2007-05-21 Thread Simon Marlow
Mads Lindstrøm wrote: Hi all I am trying to build a GUI for GHCi using GHC as a library. See http://haskell.org/haskellwiki/GHC/As_a_library . One requirement is that the GUI is still responsive when executing code using GHC.runStmt. Therefore I do: forkIO $ GHC.runStmt someStatement

Re: isSpace is too slow

2007-05-21 Thread Simon Marlow
Neil Mitchell wrote: Hi Want to try also the Data.ByteString.Base.isSpaceWord8 :: Word8 - Bool isspace: 0.375 iswspace: 0.400 ByteString: 0.460 Char: 0.672 Not as fast as isspace/iswspace, but quite a bit faster than Char. Perhaps someone needs to take a peek at the generated ASM for

Re: Avoiding CAF's

2007-05-21 Thread Neil Mitchell
Hi case Main.$wccall GHC.Prim.realWorld# of wild_X28 { (# ds_d2ad, ds1_d2ac #) - i.e. it has had an artificial box put around the answer. It may be impossible to eliminate this, but if it is, I'd like to try. There's no actual box here. The ccall returns an unboxed tuple with two

Re: capabilities of GHC API

2007-05-21 Thread Frederik Eaton
If you have GHC-6.6 or greater, try: let n = 2 in GHC.Base.breakpoint () GHC.Base.breakpoint doesn't work in the HEAD at the moment. We might want to restore it; I'm not sure. Since breakpoints are almost everywhere, it didn't seem necessary. I don't understand the last sentence.

Re: Wanted: warning option for usages of unary minus

2007-05-21 Thread John Meacham
On Mon, May 21, 2007 at 10:33:56AM +0100, Simon Marlow wrote: I think that we could easily remove the '3e4' lexical syntax though, since '3*10^^4' works just as well (I often write the latter anyway) (and guess what, I just had to look up the difference between ^ and ^^, only to discover I