UI documentation
Monday, December 18, 2006
Documentation for the UI library is something which many people have asked for and it is long overdue. I have been working on it for the past week; so far I’ve managed to document most of the relevant words, and I’m now writing help articles which tie everything together. This is the last major piece of work I plan to finish before 0.87.
I implemented something else today which I was previously planning on deferring until 0.88; stack traces for errors thrown from compiled code. I had some half-working code for this some weeks ago; I dusted it off and made it more robust. It still needs testing on Windows and Linux/PPC (the set of people who use Linux/PPC and follow Factor seems to have cardinality one, right now, though).
Interestingly, the old Java implementation of Factor could produce stack
traces for exceptions thrown by compiled words. This was done by
wrapping every compiled word in a try/catch
which would cons the word
onto a list stored in a global variable in the catch handler. Then when
the stack was unwound to the top-level interpreter loop, this variable
would be passed on to Factor code which handles the error. CFactor does
this in a much more hardcore way, by walking the native stack after the
error is thrown.