[racket] low level question: why begin0?

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Sun Apr 29 17:54:32 EDT 2012

Presumably we could remove it from fully-expanded code and then the
compiler could re-transform this:

(let ([x e]) e0 ... x)

into some bytecode that uses begin0, which would simplify the job of
tools that process expanded code without changing performance.

On Sun, Apr 29, 2012 at 5:07 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> We debated this long ago and I think the conclusion was that we could
> get a little more performance by including it at the bytecode level
> that seemed worth having (the precise details (like if we had a
> program where that mattered) escape me).
> Robby
> On Sun, Apr 29, 2012 at 1:03 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
>> One question that I had stowed away a long time ago: why is begin0
>> part of the language?  It seems redundant in the face of having 'let'
>> to capture a value that we want to return at the end of some sequence.
>> ____________________
>>  Racket Users list:
>>  http://lists.racket-lang.org/users
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

sam th
samth at ccs.neu.edu

Posted on the users mailing list.