[parenscript-devel] Parenscript condition system implemented for PSOS

I have added a Common Lisp-like condition system to the Parenscript Object System (PSOS). Parenscript now has HANDLER-BIND, HANDLER-CASE, RESTART-CASE, RESTART-BIND, INVOKE-RESTART, and SIGNAL. The patch that adds this is here: http://github.com/gonzojive/paren-psos/commit/6578ad223515dc2c1ddf49346f4baf... and totals about 200 lines, plus 200 lines of test cases. It could probably work without a type system at all, but it will require some runtime code no matter what. The whole PSOS system is backed by a test suite that uses CL-Spidermonkey. Take a look at PSOS here: http://github.com/gonzojive/paren-psos for more details. Enjoy! Red

I just read the code now (yeah, it takes me a couple of months to do things), and WOW. I didn't know the CL condition system could be implemented so simply out of weaker primitives, and I didn't realize that the CL condition system is actually as simple as it is! All the CLHS and tutorial descriptions make it sound a lot more complicated. Red, I like your implementation. And just to state the apparent: dynamic scoping FTW. Vladimir 2010/8/18 Red Daly <reddaly@gmail.com>:
I have added a Common Lisp-like condition system to the Parenscript Object System (PSOS). Parenscript now has HANDLER-BIND, HANDLER-CASE, RESTART-CASE, RESTART-BIND, INVOKE-RESTART, and SIGNAL.
The patch that adds this is here: http://github.com/gonzojive/paren-psos/commit/6578ad223515dc2c1ddf49346f4baf... and totals about 200 lines, plus 200 lines of test cases. It could probably work without a type system at all, but it will require some runtime code no matter what.
The whole PSOS system is backed by a test suite that uses CL-Spidermonkey. Take a look at PSOS here: http://github.com/gonzojive/paren-psos for more details.
Enjoy!
Red
_______________________________________________ parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
participants (2)
-
Red Daly
-
Vladimir Sedach