"Boespflug, Mathieu" <[email protected]> writes: > Depends how you look at it I guess. It's arguably a fix to addModFinalizer, > which never really worked for the use case it was intended since it was > first introduced. This function was added by the author of > language-c-inline, who wanted things like > > cos :: Double -> Double > cos x = [c| cos($x) |] > > to work by having a new C wrapper function for the quasiquote be generated > and written to disk at the end of the type checking phase. Doing it at the > end means all quasiquotes in the whole module can be dumped at once. > Problem is, the type environment was not available by then, so the user was > forced to provide an explicit type annotation to help with the code > generation, as is done in inline-c: > > cos :: Double -> Double > cos x = [c| double { cos($double:x) } |] > > From GHC 7.8, types for locally bound variables weren't even available at > the quasiquotation site, for reasons. But it's perfectly safe to make them > available by the time all type checking is finished. > > We could wait of course, but in the meantime this is completely holding up > the "inline" features of inline-java. Because for inline-java we decided > that the (redundant) type annotations such as the above were really too > verbose in the case of Java, and would require significant hacks to the > language-java parser, so we don't support them. That's why I for one am > keen to have addModFinalizer make into a release as soon as possible. > > But I completely understand your risk aversion for a point release. Here's > some data to help you evaluate the risk: the patch is specific to TH > finalizers registered using addModFinalizer, a function that is currently > used by only one package out there at the moment: expandth (based on github > code search - short of being able to code search all of Hackage directly). > Fair enough; this is compelling enough a reason to me. I've gone ahead and merged it. However, would either you or Facundo be able to write a release notes entry?
Thanks, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
