Sam Tobin-Hochstadt
Sam Tobin-Hochstadt
The vector_rkt.zo change appears to be 90% from syntax object references to all of Typed Racket's internal identifiers. @mflatt could this be caused by `quote-syntax` capturing too much/needing to use...
Oh, I got the sign wrong. The code in this diff doesn't introduce any uses of `#:local`.
Here's the minimal example for the weird zo size explosion: ``` #lang typed/racket/base (provide f) (: f (-> (Vectorof Real) (Vectorof Real))) (define (f v) (error 'fail)) ``` Changing the...
I tried using `quote-syntax/prune` in the one place where a new `quote-syntax` appears in the expansion, but it didn't change anything.
At this point, I'm pretty stumped. The expanded and decompiled code from that example is at https://gist.github.com/samth/80a866b55f7f60539716edf9bdba64ec but I don't understand why the one additional `quote-syntax` brings in another 1000...
I've fixed the use of `gensym`, and now the zo file sizes in plot seem similar, but I haven't done a full comparison. @pnwamk can you redo the comparison you...
This is basically the same as: ``` #lang typed/racket/base (define x 53) (when (list? x) (length x)) ``` In both cases, Typed Racket proves that there's some dead code, and...
That isn't to say that this is a great situation -- as you saw, it can be quite confusing. But the assumption behind this behavior, that macros expanding into dead,...
The right solution is for in-list to tell TR that the error case ought to be dead code. There may already be a syntax property that indicates that, in which...
I think either an error or "inner" are acceptable behaviors here.