On Thu 03 Jun 2010 22:36, No Itisnt <theseaisinh...@gmail.com> writes:
>> Not a known bug, no. Can you make a test case? > > Yes, attached. It appears to happen when (rnrs control) is used. This > is with the latest master commit. Thanks! > It's not urgent, but Lua does mandate tail call optimization. I think the basic thing would be the equivalent of: (lambda args ... (return (foo bar ...)) ...) => (lambda args (let ((unique-tag (make-prompt-tag))) (% unique-tag (... (abort-to-prompt unique-tag (lambda () (foo bar ...))) ...) (lambda (unused-cont thunk) (thunk))))) And from there the compiler would be resposible for removing the prompt, if possible. But, I could be totally misled here and there's some much more simple solution. > On a related note, what would be the best way to benchmark a compiler > optimization? I see "benchmark-guile"; is there a way to easily run it > with an optimization enabled and disabled? And maybe get some fancy > charts and graphs, too? Just running benchmark-guile before and after, I'm afraid... Once they're in master, there's http://ossau.homelinux.net/~neil/. Cheers, Andy -- http://wingolog.org/