Re: profiling experience

2006-12-08 Thread Serge D. Mechveliani
On Wed, Dec 06, 2006 at 03:21:23PM +, Kirsten Chevalier wrote: On 12/6/06, Serge D. Mechveliani [EMAIL PROTECTED] wrote: What may consitute this strange CAF cost of 96% ? Kirsten Chevalier [EMAIL PROTECTED] wrote I didn't look at your code all that carefully, but did you build the

throwTo block statements considered harmful

2006-12-08 Thread Chris Kuklewicz
Title: throwTo block statements considered harmful This is a short essay to prove that the current GHC concurrency implementation has a critical flaw. And this is on the wiki at: http://haskell.org/haskellwiki/GHC/Concurrency#throwTo_.26_block_statements_considered_harmful The key problem is,

Re: throwTo block statements considered harmful

2006-12-08 Thread Cat Dancer
The key problem is, at least in the presence of block/unblock, that Exceptions are never reliably delivered. Never? Even in a function which is in a blocking state? The implementation of asynchronous signals, as described by the paper Asynchronous exceptions in Haskell Simon Marlow,

Re[2]: throwTo block statements considered harmful

2006-12-08 Thread Bulat Ziganshin
Hello Cat, Friday, December 8, 2006, 5:00:46 PM, you wrote: The implementation of asynchronous signals, as described by the paper Asynchronous exceptions in Haskell Simon Marlow, Simon Peyton Jones, Andy Moran and John Reppy, PLDI'01. is fatally inconsistent with the implementation in

RE: Unlifted type variables in GHC

2006-12-08 Thread Simon Peyton-Jones
| I want to make ByteArray# and MutableByteArray# parameterized over | their element types. ByteArray# would have kind # - #, and | MutableByteArray#, * - # - # . indexByteArray# would have the type | (in pseudo haskell) forall (e::#). ByteArray# e - Int# - e. Probably a bad idea. The point is

RE: [Haskell] GHC Error question

2006-12-08 Thread Simon Peyton-Jones
| And why isn't C a b equivalent to C a b1? |forall a b . C a b = a - a | and |forall a b1 . C a b1 = a - a | look alpha convertible to me. You may say it's just common sense: a) I have a dictionary of type (C a b) provided by the caller b) I need a dictionary of type (C a

RE: bang patterns give fundamentally new capabilities?

2006-12-08 Thread Simon Peyton-Jones
| | Also, is there a way to do something similar but for 'lazy' rather than | | 'seq'? I want something of type | | | | type World__ = State# RealWorld | | | | {-# NOINLINE newWorld__ #-} | | newWorld__ :: a - World__ | | newWorld__ x = realWord# -- ??? | | | | except that I need

Re: Unlifted type variables in GHC

2006-12-08 Thread Brian Alliet
On Fri, Dec 08, 2006 at 03:48:22PM +, Simon Peyton-Jones wrote: | I want to make ByteArray# and MutableByteArray# parameterized over | their element types. ByteArray# would have kind # - #, and | MutableByteArray#, * - # - # . indexByteArray# would have the type | (in pseudo haskell)

Re: throwTo block statements considered harmful

2006-12-08 Thread Chris Kuklewicz
Program A and B got word wrapped by mistake...damn it. Program A loop = block (print alive) loop main = do tid - forkIO loop threadDelay 1 killThread tid the above print alive forever while killThread stays blocked. Program B loop = block (print alive) loop yield

Re: [Haskell] GHC Error question

2006-12-08 Thread Rene de Visser
There may be a heuristic that would help more programs to go through... but I prefer asking the programmer to make the desired behaviour explicit. Simon How can the user make this explicit? With the class C a b where op :: a - a instance C Int Int where op a = -a test d = op d

Re: [Haskell] GHC Error question

2006-12-08 Thread Chris Kuklewicz
Rene de Visser wrote: There may be a heuristic that would help more programs to go through... but I prefer asking the programmer to make the desired behaviour explicit. Simon How can the user make this explicit? With the class C a b where op :: a - a instance C Int Int where

Re: ghc-6.6-src-extralibs.tar.bz2

2006-12-08 Thread Ian Lynagh
On Fri, Dec 08, 2006 at 08:55:28AM +0100, Sven Panne wrote: Am Donnerstag, 7. Dezember 2006 11:37 schrieb Christian Maeder: The archive http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src-extralibs.tar.bz2 does not contain the files ControlPoint.hs and Domain.hs from directory