Comments on: 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.



10-Apr-2009 0:44:24
Few questions - so far, it is for me just some "yet another" version of system object. What is the main purpose of changes? Is it already done so we are prepared for multitasking? (whatever we will use - tasks/threads)

Why e.g. View is there separately and not as a module? In R2 there was concept of system/components - where will various devices or later plug-ins be reflected? Will it be in system/contexts? What is the difference to system/modules here?

There was supposed to be system/catalog/file-types. But now it seems you moved codecs out, because you expect catalog being immutable? So where file-types moved?

10-Apr-2009 4:29:23
Carl, looking good. I almost became desparate about R3.

Almost... But it is good to see the core stuff get into place and being as well designed as it always is!

Carl Sassenrath
10-Apr-2009 15:44:54
Pekr: The main purpose was to clean it up. A secondary purpose was to prepare it for "cloning"... where the run-time system and the reblet have different copies of the system object, but with shared sub-objects (like /catalog for example.)

Regarding /view... yes, that's to become a module, but that must be done all at once. We cannot yet remove system/view w/o breaking the current GUI.

File-types is now in /options, because users can add new suffixes, as needed. For example, if you want %.jfif to map to jpeg codec.

Maarten: me too! Thanks.

19-Apr-2009 12:47:45
seeming as this blog is really quiet again, can i ask were

Protocols - (different for R3) stands as of right now ? theres been no mention of them so far?

one or more of the requirements today are IPv6 capabilitys

to be clear i want to be able to make use of rebol view with IPv6 (and Multicasting, yeah i know) over a simple IPv4 to IPv6 tunnel and use the freenet6 IPv6 capabilitys directly within view

anyone can try it now,get a free tunnel ttp:// , run it's network setup app (or one day use rebol to do this setup even!) and use its supplyed local and remote end points both IPv6 and the generic IPv4 they supply and ride onto of...

use its supplyed delegated user domain for the given IP's for all things IPv6, rebol news server scripts, NNTP, IPv6 ping, and all the other things people might make for these free IPv6 tunnels around the world in rebol....

a rebol view IPv6 generator maker in line with the ttp:// to comply with ttp:// would be a very good tool to begin with as people seem to be getting very confused about how you section these up for smaller and smaller IP blocks that you can use on your LANs etc...

ttp:// ttp:// ttp:// etc

can we expect revol view windows and slax linux version to have IPv6 soon to test and use along with some basic tools .r scipts tohelp out?

22-Apr-2009 14:48:03
hmmm, 3 days+ and still not one single reply to my enquiry....

not even a 3rd party readers comment....

to restate:

when might we get a statement or comment about the current stance of protols in R3 or even its lower beta's, 3rd party plug-ins etc....

as regards IPv6

given you have a native/dual IPv6 stack and or registered for the above free IPv4 2 IPv6 tunnel

when, if ever ?, will the currently open trial IPv6 news server work with rebol

>> news-groups: read nntp:// ** Access Error: Cannot connect to ** Where: open-proto ** Near: news-groups: read nntp://

no passwords are currently required for that IPv6 server, will we get generic alpha/beta ... rebol IPv6 usability (through a tunnel) before this long standing IPv6 news trial ends....

22-Apr-2009 15:58:47
Why don't you log to R3 Chat to follow R3 developers, to help, or just to get general feeling of the project? RT is already working on several fronts, but I am not sure IPV6 is, nor it should be a priority - there are still missing more important things right now. But I am just user, so my reply is not official RT's statement.
26-Jul-2009 9:32:28
as iv already said, its a rather short sighted thing to dismiss IPv6 not a priority.

the US ,EU and others have mandated its use ASAP, several of the IPv6 tunnel providers offerings today allow direct multicasting, that consumers can run devices behind their NAT connections and you can access any of them directly over IPv6 and so on.

given rebols core reason to exist is to help these consumers become a poart of the wider network, core generic IPv6 in all your apps seems like a very important thing to have today or your goingto get left behind yet again... my first draft was more concise but yet again this blog lost all the text afetr i ws forced to click back for forgettign the blog-id ;( so this will have to do for an explanation, take it or leave it, im done advocating rebol, Video streaming GUIs, and muticasting from rebol code as it pointless...

Post a Comment:

You can post a comment here. Keep it on-topic.


Blog id:



 Note: HTML tags allowed for: b i u li ol ul font span div a p br pre tt blockquote

This is a technical blog related to the above topic. We reserve the right to remove comments that are off-topic, irrelevant links, advertisements, spams, personal attacks, politics, religion, etc.

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