Hi Anton, I almost did, see the DEFAULT2 function I posted some time ago :-). But, seriously:
1) we are unable to handle crashes 2) we are unable to catch some errors (especially throw-errors) 3) do/next cannot handle cases like: do/next [ do [ lots-of-code-here ] ] with sufficient granularity. 4) it would really be better to traverse the interpreter stack: a: func [x] [1 / x] a 0 ** Math Error: Attempt to divide by zero ** Where: a ** Near: 1 / x I would prefer the message to be: ** Math Error: Attempt to divide by zero ** Near: 1 / x ** Where: a 0 Another (more complicated) example: a: func [f x] [f x] a func [x] [1 / x] 0 ** Math Error: Attempt to divide by zero ** Where: f ** Near: 1 / x Similarly as above, the two-level message I prefer would be: ** Math Error: Attempt to divide by zero ** Near: 1 / x ** Where: f x , but a three-level message: ** Math Error: Attempt to divide by zero ** Near: 1 / x ** Where: f x ** Where: a func [x] [1 / x] 0 would be more helpful in this case. Cheers -L ----- Original Message ----- From: "Anton" We could probably make our own "line by line", or expression-by-expression interpreter. Check out do/next. Anton. > Unless I'm way off, REBOL has a stack-based architecture to it - could we > not have a Smalltalk-like walkback window that shows the call > sequence, and > what lines each call is related to (where they are related)? > > Clicking on a line item shows the context/state of all relevant store at > that point. Very handy. > > Kemp -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.