Re: Possible bug related to stm and exceptions

2013-10-16 Thread Carter Schonwald
I remember Luite mentioning that when he and Ryan Yates where working out STM for GHCJS, that they had found some bugs in STM in ghc (presumably now fixed in head?), have you been able to reproduce the problem in head? theres also some issues with STM relating to fairness, could you be hitting a

Possible bug related to stm and exceptions

2013-10-16 Thread Andreas Voellmy
Hi all, I have a program that uses STM heavily and also performs lots of foreign calls. I've noticed that sometimes the program uses 100% CPU indefinitely and uses lots of memory - I see it go up to about 5GB before I kill it. I've grabbed some preliminary samples of stack traces and see lots stm

Re: Non-escaping lets, join-points and binding updatability

2013-10-16 Thread Nicolas Frisby
If I understand correctly, the LNE-detection in CoreToSTG makes all of the decisions; it's the only place that the StgLetNoEscape constructor arises. Join-points are only implemented as LNE if they are detected to be LNE, which they most often — but not always! — after all the core2core simplifica

Re: More GND + role inference woes

2013-10-16 Thread Richard Eisenberg
On Oct 16, 2013, at 4:23 PM, Simon Peyton-Jones wrote: > What it would mean is that, if we do decide to generalize roles further, > users would have one release that allows noticeably fewer uses of GND than > the one before or the one after it. On the other hand, if we're confident > that we'r

RE: More GND + role inference woes

2013-10-16 Thread Simon Peyton-Jones
What it would mean is that, if we do decide to generalize roles further, users would have one release that allows noticeably fewer uses of GND than the one before or the one after it. On the other hand, if we're confident that we're not going to tinker with roles more, then I see much stronger r

Re: small improvement to roles mechanism

2013-10-16 Thread Joachim Breitner
Hi, Am Mittwoch, den 16.10.2013, 12:50 -0400 schrieb Edward Kmett: > This does seem to me to have the ugly consequence of splitting the > long term solutions for Coercible and GND, but I can fully understand > the appeal of finally plugging the GND issue! I don’t think the solutions are split up.

Re: More GND + role inference woes

2013-10-16 Thread Richard Eisenberg
On Oct 16, 2013, at 1:46 PM, Edward Kmett wrote: > Off the top of your head do things like the following work under the new > scheme? > > newtype T m a = T { runT :: StateT MyState m a } deriving (Monad, MonadState > MyState, MonadTrans) > Yes, I believe that will work. The only "hard" part

Re: More GND + role inference woes

2013-10-16 Thread Edward Kmett
I think we're basically in agreement. I'm more than happy to write those 5-6 instances that legitimately aren't safe to derive. -Edward > On Oct 16, 2013, at 1:30 PM, Richard Eisenberg wrote: > > It seems like we may be on the same page now. Do you agree with my previous > email that the chan

Re: More GND + role inference woes

2013-10-16 Thread Edward Kmett
If this forced me to write those instances by hand, I could accept that as a tax for correctness. It means you can't GND any of the HasFoo dictionaries that lens builds, but meh. My original objection was for the existing solution with type classes themselves having their arguments be represent

Re: More GND + role inference woes

2013-10-16 Thread Richard Eisenberg
It seems like we may be on the same page now. Do you agree with my previous email that the change to the GND check will not solve *all* your problems? That is, there will be some derived instances you will have to hand-write, but (I think) for good reason. Richard On Oct 16, 2013, at 12:46 PM,

Re: More GND + role inference woes

2013-10-16 Thread Richard Eisenberg
Please see my responses below. (Note: this was written before Edward's most recent post, which will be addressed shortly.) Executive summary: Edward's problem is more general than the one that Simon solves, but what Edward wants is actually not type safe. On Oct 16, 2013, at 9:28 AM, Simon Peyto

Re: small improvement to roles mechanism

2013-10-16 Thread Edward Kmett
If we can't find any major problems with the dictionary casting once it is implemented, I'm fully on board. This does seem to me to have the ugly consequence of splitting the long term solutions for Coercible and GND, but I can fully understand the appeal of finally plugging the GND issue! -E

Re: More GND + role inference woes

2013-10-16 Thread Edward Kmett
> On Oct 16, 2013, at 9:28 AM, Simon Peyton-Jones wrote: > > I think I know what to do about the GND + roles question. > > First, the problem. Here’s an example: > class Trans t a where > foo :: t a -> t a > > newtype N x = MkN x deriving( Trans Maybe ) > > As things sta

Non-escaping lets, join-points and binding updatability

2013-10-16 Thread Jan Stolarek
Hi all, I'm trying to understand this: 1. Note [What is a non-escaping let] says that one of conditions of binding being a non-escaping let is non-updatability. 2. My understanding is that a if a binding has at least one parameter it is non-updatable, though I suspect that converse does not

Re: Xcode 5 support for GHC iOS

2013-10-16 Thread Dominick Samperi
Will this work with the new iPhone 5 S (64 bit ARM)? I assume that it will work by running in 32 bit mode (requiring both 64 and 32 bit libs to be loaded), but I'm not sure... Thanks, Dominick On Mon, Oct 14, 2013 at 3:48 PM, Luke Iannini wrote: > Hi all, > > Just wanted to let you know I've f

RE: Back to explicit Coercible instances?

2013-10-16 Thread Simon Peyton-Jones
| > Moreover, I'm very keen to give a simple, precise answer to the | question | > if s is coercible to t | > when is (T s) coercible to (T t) | > I propose that the answer is given by precisely T's roles. At the | > moment I don't see why we would want to do anything more complicated. |

RE: More GND + role inference woes

2013-10-16 Thread Simon Peyton-Jones
I think I know what to do about the GND + roles question. First, the problem. Here’s an example: class Trans t a where foo :: t a -> t a newtype N x = MkN x deriving( Trans Maybe ) As things stand, Trans gets roles (representational, nominal). The second parameter ‘a’ gets a

RE: Proposal: GHC.Generics marked UNSAFE for SafeHaskell

2013-10-16 Thread Simon Peyton-Jones
We have a constraint (a~b) that can appear in a type signature f :: (a~b) => a -> b We can also have a type-level equality function type family Eq a b where Eq a a = True Eq a b = False The type-level Boolean reflects the (a~b)

Re: Status update on overloaded records work?

2013-10-16 Thread AntC
> Simon Peyton-Jones writes: > > | - (What I was hoping for but didn't get.) > | No compiler flag to suppress creating selector functions. > | This would have allowed records to be declared re-using the same > | name; > | but left it entirely to the developer as to how to access them. > |

Re: Status update on overloaded records work?

2013-10-16 Thread Adam Gundry
Hi Johan, all, Thanks for the interest in OverloadedRecordFields! I've been meaning to write a blog post on the current status, but you've beaten me to it. The extension is essentially finished, modulo a few minor issues that I need to work through, and should hit HEAD soon after 7.8 is cut. That