RE: type-checker plugin API/behaviour change

2018-07-18 Thread Simon Peyton Jones via ghc-devs
That looks plausible to me. The ‘new’ bunch may not actually be new? Maybe they are some of the inputs that are no contradictory, but not yet solved either? What about a flag to say “I made some progress”? Or is that deducible? Is so, good to explain that. Caveat: I’m not a user of

type-checker plugin API/behaviour change

2018-07-18 Thread Christiaan Baaij
Hi devs, Currently, type-checker plugins get to tell the solver its progress using a [TcPluginResult]( http://hackage.haskell.org/package/ghc-8.4.1/docs/TcRnTypes.html#t:TcPluginResult ): ``` data TcPluginResult = TcPluginContradiction [Ct] -- ^ The plugin found a contradiction. -- The

Re: Write barrier for stack updates?

2018-07-18 Thread Ömer Sinan Ağacan
Ah, this makes so much sense, thanks. I was looking at call sites of recordMutable, recordMutableCap etc. and forgot about recordClosureMutated which is apparently what dirty_STACK calls. Thanks, Ömer Simon Marlow , 18 Tem 2018 Çar, 10:52 tarihinde şunu yazdı: > > Hi Ömer, > > The write barrier

Re: Write barrier for stack updates?

2018-07-18 Thread Simon Marlow
Hi Ömer, The write barrier is the function `dirty_STACK()` here: https://phabricator.haskell.org/diffusion/GHC/browse/master/rts%2Fsm%2FStorage.c$1133-1140 If you grep for `dirty_STACK` you'll see it being called everywhere we mutate a STACK, in particular in the scheduler just before running a