Norman Ramsey <n...@cs.tufts.edu> writes:

> All,
>
> I'm looking at the paragraph starting on line 271 of GHC.StgToCmm.Monad,
> which purports to explain ReturnKind.  But the labels mentioned in the
> paragraph don't seem to match the preceding code example.  Also, I don't
> understand why only one branch of the `case` expression seems to
> be protected by a heap-limit check.
>
> I understand what I'm seeing well enough to fear that something is
> wrong, but not well enough to fix it.  Is someone else willing to
> have a look and maybe we can repair the documentation together?
>
Below is my understanding:

 * My suspicion here is that the paragraph starting on 271 would be clearer
   if it started with the word "However, ". That is, the preceding code
   snippet is what one would naively expect and the paragraph then explains
   what we would rather want the compiler to emit.

 * I also suspect that the reference to L4 should really read as L5.

 * The fact that there is only one heap check is likely merely for
   conciseness. The heap check shown is the check for the True branch.
   The code represented by "<False code>" would include its own heap
   check, but the author felt it was not important to list this
   explicitly since it was secondary to the message of the Note.

Does this seem reasonable to you?

Cheers,

- Ben

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to