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

[REBOL] Re: Re(3): 'parse-url - where defined?

From: larry:ecotope at: 31-Jan-2001 10:29

Hi Anton
> Thanks guys, > > I've got DocKimbel's help patch, > and Bo's browse-system.r. > > I really do need to spend some time > poking through the system object more.
Yes! Currently that is the only way to move to guru status.
> One question: > Is everything contained in the system object?
Short answer: Yes. Actually SYSTEM also has another name REBOL, it is the root of the rebol system.
> Are all objects in 'system ?
Yes, but only those which are built-in at startup appear in the system hierarchy. Of course, you can add to or modify the hierarchy (exercise caution):
>> system/user: make system/user [nick: "sneaky"] >> help system/user
OBJECT: user WORDS: email -- (Type: email) home -- (Type: none) name -- (Type: none) nick -- (Type: string) words -- (Type: none) SUB-OBJECTS: (none) FUNCTIONS: (none)
>> system/user/nick
== "sneaky" So we have actually redefined part of the REBOL system.
> All words and objects defined by me - > do they end up in 'system somewhere?
Yes, but not in the system hierarchy (unless you put them there as above). In one sense of your question, "everything" is in system/words. It is the dictionary or symbol table for the current invocation. The expression first system/words gives a block of all words seen by the scanner whether defined or not, in all contexts. The expression second/system/words gives the corresponding block of *globally* known values (may be unset!). In other words, it only gives a value if the word has a value in the global context. A good example of using these is:
>>source help
To track what you have defined, put this in your user.r antons-stuff: 0 Then at any point in a script or console session,
>>find first system/words 'antons-stuff
returns a list of all the words you have used and their values (in the global context) are the corresponding entries in the block returned by second system/words. May the source be with you, young Jedi ;-) Cheers -Larry PS Things are actually a little more complicated than indicated above, but this will put you on the right track.