|  >    data T = MkT !S
|  >            data S = MkS Int
|  >    
|  > then my impl will unbox the S field of MkT because the result is only one 
field
|  wide, namely an Int.
|  
|  Wouldn't Johan's have unboxed S too?  (if not, I misunderstood what he did)

No, that would change the semantics!  We don't want to do that.

|  I'm happy to call this -funbox-strict-small-fields. However, I'd like
|  the documentation to talk about pointer-sized things as that, even
|  though a bit operational sounding, has a clear meaning in my mind.

I'm somewhat inclined to *change* the current flag so that

        -funbox-strict-fields means "unbox small fields"
        -funbox-all-strict-fields means "unbox ALL strict fields"

And as you say to make -funbox-strict-fields implied by -O.

But I do not feel strongly at all.  You represent users; you decide.  (or 
anyone else can pipe up).

Simon

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to