Re: bang patterns give fundamentally new capabilities?

2006-11-30 Thread Tomasz Zielonka
On Thu, Nov 30, 2006 at 08:13:13PM -0800, John Meacham wrote: > I was recently presented with the problem of writing a function like so > > seqInt__ :: forall a . a -> Int# -> Int# > seqInt__ x y = x `seq` y > > which seems fine, except 'seq' of type forall a b . a -> b -> b cannot > be applied t

bang patterns give fundamentally new capabilities?

2006-11-30 Thread John Meacham
I was recently presented with the problem of writing a function like so seqInt__ :: forall a . a -> Int# -> Int# seqInt__ x y = x `seq` y which seems fine, except 'seq' of type forall a b . a -> b -> b cannot be applied to an unboxed value. I could not think of a way to actually get the behavio

RULES and strictness

2006-11-30 Thread John Meacham
when performing strictness/abscence/one-shot analysis, are rule bodies taken into account? like, would the following cause trouble making const no longer absent in its second argument? const x y = x {-# RULE "const/seq" forall a b . const a b = seq b a #-} by trouble I mean the compiler failing

Re: FW: GHC API: Problems with implementing ":reload" for "ghc --make"

2006-11-30 Thread Simon Marlow
Ian Lynagh wrote: Hi Brian, Sorry for the delayed response. My goal is to write a program GhcRemake that works like "ghc --make." However, instead of terminating after compilation is done, I want the program to stay open and wait for me to hit . When I hit , GhcRemake rebuilds the project, ju