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

[REBOL] Re: Fun with literal blocks!

From: lmecir:geocities at: 29-Oct-2000 16:06

Hi Joel, thank you for choosing the Monsters subject. I would like to present a somewhat surprising/questionable point of view. 1) A safe statement: the Monsters are undocumented. 2) A questionable statement: the Monsters are *undocumentable*. I know that it is wrong, if I don't add an explanation, what that means. Let's go: Let me define the Monsters first. a) I call a Rebol value a Self Modifying (Rebol Code), if its evaluation (with a help of Do e.g.) causes its change (to be precise, I should define what is a Change, but let's leave that for a future discussion). (This definition differs from a "usual" definition of a Self Modifying Code!) b) I call a Rebol value a WYSIWYG (Rebol Code), if its evaluation (using Do e.g.) doesn't cause an evaluation of a Self Modifying Rebol Code. c) There are some Rebol values, like functions/natives If, Either, For, While, Make, ..., for whose the latter depends on the argument(s) they receive or on some other unknowns. Such values I call (relatively) WYSIWYG. d) Any Rebol Value, that is not (at least relatively) WYSIWYG I call non-WYSIWYG. I would call a Monster any non-WYSIWYG Rebol Value. Now back to the questionable statement. I think, that: i) The behaviour of Monsters is irregular and heavily implementation-dependent (see the example Monster below, or any other Monster I supplied in the WYSIWYG programming thread). ii) Nobody can list all Monsters. iii) The one thing that could describe the behaviour of all Monsters is the interpreter source code. In the above sense are the Monsters undocumentable, which means, that their evalualuation shall be avoided as much as possible. Regards Ladislav