[REBOL] Re: Project introduction ... Re: Re: RFC: Rebol Framework
From: petr:krenzelok:trz:cz at: 8-Oct-2002 23:00
[al--bri--xtra--co--nz] wrote:
>Petr Krenzelok wrote:
>
>>That's the first thing someone will have to explain me - why naked-objects or RFM uses
blocks and name value pairs? Is there any advantage?
>>
>>
>
>Yes! :)
>
>Because one can alter the block at runtime! For example, adding more fields or removing
them. That allows customising each record.
>
You can do so with object too. Object = template you load from your
repository. If you want to extend, you can extend the class (block of
set-word and value pairs), and instantiate the object (load block into
context) once again :-)
>>2) As you can see, I need some relations - each building has its rooms, - typical parent
child relationship. That relationship can be expressed in RFM, if I understand it correctly,
but what if child can have its own child relationships etc.?
>>
>>
>
>I'm working on that kind of thing, with bidirectional links expressed as containment.
Something like:
>
>[Teacher "A. Teacher" Room []] ; Last block contains next block:
>[Room "K5" Teacher []] ; Last block contains first block.
>
Uh, I didn't mean something like that, but well, I don't understand
above anyway :-) Seems like some of never ending recursion :-) What I
also don't like about RFM so far is - that it stores field names with
each record, which I see as redundant, unless it has its own purpose I
can be not aware of. (e.g. that each record can have variable set of fields)
>>3) Can objects be extended in the real time by adding another attribute?
>>
>>
>No! And if another object points to the object, you're going to have problems. That's
because the other object will hang on to the orignal, when you change it.
>
I meant something bit different - not real rebol objects, but e.g.
earlier mentined accommodation class. System admin (not necessarily
rebol programmer) can say to himself one day - hey, this hotel has
cinema inside. Where should I put that? So he goes to "object"
repository, selects hotel class, and adds/describes "attribute" (field)
of 'cinema-inside? type e.g. That was what I meant by ability to extend
object
during the system life-time ...Of course there can be
consequences to it, like such field not existing in former records - so
ti may cause some difficulcy to query engine e.g.
-perk-