Hello Red,
There is a weird bug with the compiler changes you made where compiling a loading a file containing a call to compile-script works fine, but loading a fasl of that file fails (in particular, when loading the fasl things like (return something) are called by compile-to-expression, when they obviously compile to js-return, etc.). I don't understand what's broken or why, and in particular why the top-level stuff is involved in compile-script (as opposed to compile-script file). I am also really starting to hate the OO brain-damage that is the ParenScript intermediate representation. After this bug gets fixed (it is a complete PITA), I am going to start ripping that stuff out.
Please see what you can do about fixing this issue. I'll be gone over the weekend, and since this is seriously starting to affect the project for which I'm using parenscript for, I'm going to start ripping out the compilation environment stuff as well if it's not fixed soon.
Thanks, Vladimir
Vladimir Sedach wrote:
Hello Red,
There is a weird bug with the compiler changes you made where compiling a file containing a call to compile-script works fine, but loading a fasl of that file fails (in particular, when loading the fasl things like (return something) are called by compile-to-expression, when they obviously compile to js-return, etc.). I don't understand what's broken or why, and in particular why the top-level stuff is involved in compile-script (as opposed to compile-script file).
I'm not sure I understand the bug well enough to reproduce it.
Can you post a file or some more information that demonstrates the problem? Hopefully you are not gone for the weekend yet.
Please see what you can do about fixing this issue.
Of course.
Red
Hi Red,
I'll be gone tomorrow morning, but right now I still haven't narrowed down where the bug is occuring. It's some sort of interaction between Lisp compile time, load time, ParenScript runtime as well as the code walking/generation things that are used on my project. I guess that's not being very helpful, other than the fact that I know for certain that it's something starting at compile-script.
Vladimir
On 8/3/07, Red Daly reddaly@stanford.edu wrote:
Vladimir Sedach wrote:
Hello Red,
There is a weird bug with the compiler changes you made where compiling a file containing a call to compile-script works fine, but loading a fasl of that file fails (in particular, when loading the fasl things like (return something) are called by compile-to-expression, when they obviously compile to js-return, etc.). I don't understand what's broken or why, and in particular why the top-level stuff is involved in compile-script (as opposed to compile-script file).
I'm not sure I understand the bug well enough to reproduce it.
Can you post a file or some more information that demonstrates the problem? Hopefully you are not gone for the weekend yet.
Please see what you can do about fixing this issue.
Of course.
Red _______________________________________________ parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
Good news,
I believe I found the cause of the bug. `defscriptmacro' was not expanding into a definition but was instead side-effecting script macro definitions. This caused script macro definition to occur at lisp macro expansion time, which is not the desired behavior.
I was able to reproduce this by deleting all fasls, starting Lisp, loading (compiling) the asdf parenscript system, killing lisp, starting lisp again, and then loading the asdf parenscript system. With the new lisp image, inspecting parenscript::*script-macro-env* showed no macro definitions.
You might want to take a look at the patch to make sure the macro expansion now has the correct behavior. Should it be wrapped in an eval-when?
Thanks, Red
Vladimir Sedach wrote:
Hi Red,
I'll be gone tomorrow morning, but right now I still haven't narrowed down where the bug is occuring. It's some sort of interaction between Lisp compile time, load time, ParenScript runtime as well as the code walking/generation things that are used on my project. I guess that's not being very helpful, other than the fact that I know for certain that it's something starting at compile-script.
Vladimir
On 8/3/07, Red Daly reddaly@stanford.edu wrote:
Vladimir Sedach wrote:
Hello Red,
There is a weird bug with the compiler changes you made where compiling a file containing a call to compile-script works fine, but loading a fasl of that file fails (in particular, when loading the fasl things like (return something) are called by compile-to-expression, when they obviously compile to js-return, etc.). I don't understand what's broken or why, and in particular why the top-level stuff is involved in compile-script (as opposed to compile-script file).
I'm not sure I understand the bug well enough to reproduce it.
Can you post a file or some more information that demonstrates the problem? Hopefully you are not gone for the weekend yet.
Please see what you can do about fixing this issue.
Of course.
Red _______________________________________________ parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
Hi Red,
Yes, that fixed it. Much thanks!
Vladimir
On 8/6/07, Red Daly reddaly@stanford.edu wrote:
Good news,
I believe I found the cause of the bug. `defscriptmacro' was not expanding into a definition but was instead side-effecting script macro definitions. This caused script macro definition to occur at lisp macro expansion time, which is not the desired behavior.
I was able to reproduce this by deleting all fasls, starting Lisp, loading (compiling) the asdf parenscript system, killing lisp, starting lisp again, and then loading the asdf parenscript system. With the new lisp image, inspecting parenscript::*script-macro-env* showed no macro definitions.
You might want to take a look at the patch to make sure the macro expansion now has the correct behavior. Should it be wrapped in an eval-when?
Thanks, Red
Vladimir Sedach wrote:
Hi Red,
I'll be gone tomorrow morning, but right now I still haven't narrowed down where the bug is occuring. It's some sort of interaction between Lisp compile time, load time, ParenScript runtime as well as the code walking/generation things that are used on my project. I guess that's not being very helpful, other than the fact that I know for certain that it's something starting at compile-script.
Vladimir
On 8/3/07, Red Daly reddaly@stanford.edu wrote:
Vladimir Sedach wrote:
Hello Red,
There is a weird bug with the compiler changes you made where compiling a file containing a call to compile-script works fine, but loading a fasl of that file fails (in particular, when loading the fasl things like (return something) are called by compile-to-expression, when they obviously compile to js-return, etc.). I don't understand what's broken or why, and in particular why the top-level stuff is involved in compile-script (as opposed to compile-script file).
I'm not sure I understand the bug well enough to reproduce it.
Can you post a file or some more information that demonstrates the problem? Hopefully you are not gone for the weekend yet.
Please see what you can do about fixing this issue.
Of course.
Red _______________________________________________ parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel@common-lisp.net