[REBOL] REBOL - Official Guide DBMS Scripts
From: rebol::techscribe::com at: 19-Mar-2001 0:02
Dear friends,
I really don't *have* time right now to follow the REBOL mailing list
regularly. I will, however, *make* time to help anyone with the book and
its scripts.
1. Email me directly ([rebol--techscribe--com]), and not on this list, if
you want a reasonable response turnaround. I occassionally take a few
minutes to look at this list. But very irregularly.
2. Give me the go ahead to subscribe you to the book's mailing list.
It's extremely low bandwidth (like one email every three/four months
;-). I do take the time to review and respond to any email sent to that
list (you don't have to own the book to subscribe to the list.)
3. I have a working version of the dbms (3rd generation, but still very
close to the book). I'll bundle that together in the next few days and
email it to anyone who wants it (give me a week to clean up the code and
test the cleaned up version). I will also email it as an attachment to
the book list. If you're subscribed to the book list, you don't need to
send me an email. You'll get it automatically from the list.
4. If you want it, and you're not on the book's mailing list, then
please, please email me DIRECTLY [rebol--techscribe--com], and do not simply
hit the reply button, because it will end up on this list, and will
probably go unnoticed (by me) for some time (and perhaps annoy some
people here who have no use for "me toos" regarding the book's scripts).
If you hit the reply button by mistake don't be shy. Send me a copy of
your email anyway. I don't mind getting two copies. I do want to be able
to send you the latest version of the scripts if you have use for them.
I don't want to have to check here, to find out if you requested the
scripts on this list. I enjoy browsing this list, if time permits. Right
now I don't have time.
5. With respect to the dbms dialect: The dialect is based on REBOL's
block parsing features, which only became available in REBOL after the
dbms chapters had already been written, reviewed by four editors, and
had entered the final book production phase (whatever that is). It was
too late to make any modifications to the chapter sequence, since the
pages had already been numbered, and those chapters had also already
been indexed (not very well, but that's a different story).
6. Please note that the DBMS and the dialect were not designed for
production environments (although I do use them in that context). They
were implemented as a "proof of concept", an attempt to demonstrate
REBOL programming techniques (for the then current version of REBOL,
which stretched from REBOL 1.1, 2.0, 2.1, 2.2, and ended, during the
last month or so of the book's production, with version 2.3). The
intention was to challenge REBOL with a "real", and more complex
application, see how well REBOL does, and explore and demonstrate
REBOL's elegance (and also some bugs and workarounds with the then
current version - most notably converting paths to blocks, which has
since been fixed in REBOL).
7. I had a working version of the database minus object-navigator, minus
mediator, and so on. The code was by far tighter (at most 25% of what it
is now), faster and more to the point. The problem was that it wasn't
very useful as illustrative code. The single chapter in which I
described that version of the dbms was not very popular with the
reviewers and editors, most notably with the tech reviewer, who is an
experienced REBOL programmer. He had difficulties understanding the
code, which suggests that it was too complex for the book and/or it
wasn't explained well. I tried to improve the description of the code,
but found that there were too many things you had to think of at
simultaneously. Each line of code reflected three or four different
things at once, such as the format of the data, how the function was
iterating over the list of records and internal maintenance of lists at
the same time. I was in the midst of the revision work when I woke up
early one morning (must've been around four), and realized that I could
make my life as a book writer much easier, if I separated the different
layers of functionality that were compressed into two 40 line functions
into multiple "modules", and have each module deal extensively with its
respective taks, so that I could more easily describe what I was doing.
The result was the object navigator and the mediator object (really
unnecessary for a dbms implementation, necessary, however, IMHO to more
easily explain "inner workings"). As a result the dbms chapter became
three chapters (or so). And the code got very bloated. I was writing a
book, not a streamlined application.
I wish I could take the time to revise the dbms and rewrite it based on
the previous incarnation that was far more effective (from an
application point of view). Not now.
6. I don't mind putting together a pdf file that documents the dbms
dialect (the one proble being time ;-). I don't know if I can legally do
that (copyright). I don't care if it sells the book, but the "selling
the book" aspect may make it easier for me to get a go ahead from the
publisher. I'll check into that.
Take Care,
Elan