fmapCoerce / changes in 7.8

Edward A Kmett ekmett at gmail.com
Thu Sep 26 04:39:26 UTC 2013


I agree with Richard. We're still working up the right way to get this functionality to work, and sadly the simple solution doesn't cover enough cases. As I noted during the day, this approach doesn't scale. Let's revert.

-Edward

> On Sep 25, 2013, at 8:38 PM, Richard Eisenberg <eir at cis.upenn.edu> wrote:
> 
> In light of the conversations I've been having with Edward and others, I, too, wonder if we should wait a little before doing this. There is no burning fire here. Though we have Coercible in 7.8, that doesn't mean we *have* to use it. The old trick to use unsafeCoerce in the situations Edward wants to improve will still work, and it will remain as safe as it was before (i.e., not at all).
> 
> In the end, I agree with Joachim that Coercible should try to have a low profile in 7.8. I do think that the ideas behind fmapCoerce -- that is, making sure that the new `coerce` primitive is used to the best effect --  are great. But I am not convinced that we've found the best possible way to do it.
> 
> Richard
> 
>> On Sep 25, 2013, at 6:22 PM, Ross Paterson wrote:
>> 
>>> On Wed, Sep 25, 2013 at 10:18:51PM +0200, Joachim Breitner wrote:
>>> given the recently intensified urge to make GHC a more community driven
>>> project, may I suggest to reduce the amount of off-list discussions? I
>>> find it very confusing if some discussions happen on list, some
>>> discussion on list with certain people explictily CC’ed, and some
>>> discusisons off-list, and some alternating between these. I believe we
>>> are all able to ignore discussions on the list that are not relevant for
>>> us, but on-list discussions are easily referenced and re-read later.
>> 
>> I agree with all that, and also share Johan's alarm at the sudden
>> appearance of coerce in this class.
>> 
>> On the substance, I don't think Functor is the right place for this,
>> as it's about lifting isomorphisms rather than functions, and type
>> constructors don't have to be functors to support that.
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-devs
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs



More information about the ghc-devs mailing list