Road to system object finalization
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! 2.100.47.3.1
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.
7 Comments
|