Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Help me, Obi Reb Kenobi, you're my only hope!

From: rotenca:telvia:it at: 3-Sep-2002 16:19

Hi Ladislav,
> the behaviour seems to have more to do with function attributes: > See the following code samples: > > type? do does [type? do func [] [return make error! ""]] ; == datatype! > > type? do does [type? do func [[throw]] [return make error! ""]] ; > error! > > type? do does [type? do func [[]] [return make error! ""]] ; == error! > > The empty attribute is interpreted like the [throw] attribute in this case! > It looks like an implementation issue.
Yes, we spoke about that some time ago. But my previous statement: no-loop error! seems to have the same beaviour which has any others error, when a function has at least the attribute []: is wrong: no-loop is uncatchable at all, and undisarmable, while orthers errors in functions with the attribute [] or [throw] can be catched and disarmed with a function wrapper. BTW, no-loop is the only one error wich show this behaviour. Neither Syntax error have its behaviour. I think that this could be related to the Break behaviour which ignores functions bound: loop 2 [print 1 do does [break]] ;= 1 Break does not requires [throw] to throw the break to the upper function. So a Break error can only happens at the higher level of code execution and never inside user code.
> Ciao > Ladislav
--- Ciao Romano