|
anyone read that "compiling without continuations" paper I could use some intuition help. Their jfloat rules duplicate the context E both within the join point and in the remainder of the expression. I don't (think?) it ever spells out why Is this because (a) we want to push that info down as aggressively as possible (b) we CAN do this because "jumps" are always (ostensibly) tail-calls and (c) the "abort" rule cleans up the extra nonsensical junk that gets jammed onto our jumps? (And this is the reason for the funky type rules on jumps/join points? Essentially this transformation is changing the type of the join point, and we're accounting for that in a separate step using the abort rule?) I just noticed the operational semantics for "jump" also discards part of the stack (the s' bit...) which corresponds to the abort rule removing that junk. ...okay after actually writing out my question I think that I'm right, but I'm just going to post anyway.
|
# ¿ Jun 29, 2017 23:54 |
|
|
# ¿ May 13, 2024 08:35 |
|
i'm pretty sure anyone that run 'sudo gem install blah' is probably running compilers/linkers as root
|
# ¿ Jul 10, 2017 20:26 |