[REBOL] Re: even further ... Re: Introducing REBOL/Base - FAQ
From: zokie:libero:it at: 2-Oct-2002 22:08
Hello Gregg
On 29-Set-02, Gregg Irwin wrote:
> Hi Pekr,
>
> I'm not scared of DLL Hell, I'm *terrified* of it. :)
Carl is AmigaOS' main designer, and AmigaOS is heavly based on "dynamic
linked library", and none has encountered trouble with them. M$ is another
thing!
Rebol yet today is modular, even if it is stuffed into one executable.
Untill today Rebol/Core was the little brick to build a big environment,
now RT has introduced Rebol/Base and a set of external module, which
together make Rebol/Core, but they release only Rebol/Base and we must add
external module if needed, I think it is uncomfortable.
I like Petr's idea to make them downloadable if needed, all we need is to
setup a new directory to use as a buffer, i.e. plugins, and a special
command to check if the module is yet loaded or not. Before to download
plugin command checks plugins diretory to find if it is present a local
copy and if it has the rigth version tuple elsewere dowloads it from
specified URL.
Time ago, I had done something similar to autoupdate a program of mine.
For example a Rebol script may be like this:
REBOL []
plugin http://www.rebol.com/downloads/view.r 1.2.0 ; We need at least 1.2.0
plugin http://www.rebol.com/downloads/smtp.r ; We need any SMTP protocol
version
plugin/platform http://www.xyz.com/mp3decoder platform? ; We need any
version for platform on which script is running
...
We may use recursion to make life easy :) So if View module needs Core
module it will be automaticaly downloaded:
REBOL []
plugin http://www.rebol.com/downloads/core.r 1.0.0 ; We need at least 1.0.0
and so on...
> DLLs and shared components can be both a blessing and a curse. In a
> controlled environment, where you have a team building a large system,
> using libraries is enormously beneficial, IMO. OTOH, I can't tell you how
> much time I, and people I know, have wasted on DLL/OCX compatibility
Amiga's libraries adopt this trick: if version 1.0 has these procedure: a,
b, c
The next library version MUST have old a, b, c procedure and add newest
ones.
A, b, c may be remapped on newst ones, but their entry point must be not
removed, M$ doesn't adopt this trick ;)
> What I hope doesn't happen is for REBOL to become like some other
> languages that are really only good for programmers because it just
> requires too much effort to set them up, use them, and learn about how
> things work.
Modularized Rebol will be good even for rookie ;)
Regards
--
"Where did you get all those facts!?!"