[racket-dev] flatten-begin

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Fri Jul 18 10:52:26 EDT 2014

On Fri, Jul 18, 2014 at 9:37 AM, Asumu Takikawa <asumu at ccs.neu.edu> wrote:
> On 2014-07-17 22:17:18 -0500, Robby Findler wrote:
>>    Why doesn't flatten-begin already do this?
>
> I'm not sure. I was hoping someone else could tell me. :)

Ha! :)

Maybe there's something you might want to do with the intermediate
syntax objects in some cases? Properties maybe? I'm not sure.

Looks like it's been that way for more than 5 years now, tho, so it
seems unwise to change it.

Unless someone knows why it is a bad idea, how about adding a #:all?
argument that flattens all the way down?

I don't see many uses of flatten-begin in our tree, but the one in
compatibility/package sure looks like it could use the #:all?
argument. Ditto the one in TR (in class-prims.rkt). And I'm pretty
sure that replacing the hand-rolled loops in drracket for doing this
(they predate that library) would use the #:all? argument if they were
rewritten.

Robby

Posted on the dev mailing list.