Antonio, That's weird. With that example, I do see the timings you mentioned, but if I turn on TR's timing logging, I see that almost all the time is being spent in pass 1 of the typecheck. I.e., in a different place than your original example, way earlier in the TR implementation.
That makes me suspect that this new example exhibits a different issue, which is less likely to be related to the original bug you reported. Vincent On Thu, 10 Sep 2015 16:14:43 -0500, Antonio Leitao wrote: > > Hi, > > On Thu, Sep 10, 2015 at 5:16 PM, Vincent St-Amour > <stamo...@eecs.northwestern.edu> wrote: > > [Re-adding dev. Please reply all in the future.] > > > > Sorry. I was afraid the log files would annoy people. > > I'll look into `change-provide-fixups`, but it would be really > helpful > if you could share your problematic program, or at least a fragment > that > exhibits this behavior. Otherwise, I don't have a good example > program > to measure. > > Here is a MWE: > > #lang typed/racket > (require (for-syntax racket/syntax)) > > (define-syntax (structs stx) > (syntax-case stx () > [(structs n) > (with-syntax ([(name ...) > (for/list ([i (in-range (syntax->datum #'n))]) > (format-id #'structs "struct-~a" i))] > [(fname ...) > (for/list ([i (in-range (syntax->datum #'n))]) > (format-id #'structs "func-~a" i))]) > #'(begin > (define-type (Union T) > (U Number (name T) ...)) > (begin > (struct (T) name > ([x : (Union T)])) > (define #:forall (T) (fname [x : (Union T)]) > (name x))) > ...))])) > > The approximate times I got are: > > (structs 4) ;2s > (structs 5) ;7s > (structs 6) ;42s > > Hope this helps and thanks in advance for your efforts. > > Best, > António. -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscr...@googlegroups.com. To post to this group, send email to racket-dev@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2k2ryc4z4.wl-stamourv%40eecs.northwestern.edu. For more options, visit https://groups.google.com/d/optout.