Road to system object finalization

Carl Sassenrath, CTO
REBOL Technologies
9-Apr-2009 3:03 GMT

Article #0191
Main page || Index || Prior Article [0190] || Next Article [0192] || 7 Comments || Send feedback

As I alerted you a few days ago, the system object is being updated and readied for finalization.

Here's how it looks in A47:

>> ? system
SYSTEM is an object of value:
   product         word!     core
   version         tuple!
   build           date!     10-Apr-2009/2:16:34
   license         string!   {Alpha prototype version. For testing only...
   catalog         object!   [datatypes actions natives reflectors...
   contexts        object!   [root system exports current]
   state           object!   [note last-error]
   intrinsic       object!   [do make-module make-port parse-url begin]
   modules         block!    length: 0
   codecs          object!   [bmp gif png jpeg]
   dialects        object!   [secure draw effect text rebcode]
   schemes         object!   [system console file dir event dns tcp clip...
   ports           object!   [wait-list input output echo system]
   locale          object!   [language language* locale locale* months...
   options         object!   [boot home path flags script args do-arg...
   script          object!   [title header parent path args]
   words           object!   [end! unset! none! logic! integer! decimal!...
   standard        object!   [error header script scheme port port-spec...
   view            object!   [screen-gob handler event-port metrics...

Next week, I will be adding a section in the the R3 Docs to document all of these sections. That way it will be really clear how they are used in your programs.

One field that is likely to vanish is words. Why? Because R3 supports name-spaces. There will no longer be a single "global environment". Your program will load into its own environment, and the system will live in another.

Some of you may be worried, because various functions use words for reflection and help generation. Those functions will need to use the contexts objects to access the information they need. For example, system/contexts/exports is the current API of the system. So, that's a good source for the help function.


Updated 24-Jun-2024 - Edit - Copyright REBOL Technologies -