[REBOL] Re: DLL Hell = Rebol library script version
From: nitsch-lists:netcologne at: 11-Nov-2003 0:32
Am Montag, 10. November 2003 21:28 schrieb Andrew Martin:
> Thanks, Anton!
> You wrote:
> > > (A) f2 just tries to use whatever version of f1 is currently
> I'd go for this option as it's the most simple option, in breaking as
> soon as possible. The other options involve the higher level function
> "knowing" too much about the lower level function.
> The scenarios remind me of Windows "DLL Hell" and the solution that MS
> came up for it for .NET. That solution was basically to not use DLLs. :)
> Instead, supply all the software (including DLLs) for an application
> with the application's main .exe. Those DLLs supplied with the
> application are the ones used by the application. Only if DLLs have the
> same version are they shared, IIRC.
> We can use a similar principle. When distributing a Rebol script,
> include all the functions (words) that the main script requires. Of
> course, the problem here is that most of us have nice toolkits of
> functions that we want to use in our main script applications, and it's
> pointless manually copying and pasting from our toolkit because that
> just produces multiple copies, with no definitive, authoritive source.
> So the solution to me, is for the release version of the
> script/application to have the library/toolkit functions the script
> requires, automatically inserted into the script just after the Rebol
> header. That way, the script application will create it's preferred
> environment, regardless of previously launched library programs.
I agree. Best way.
Ways for inserting are:
1) a script-merger as you suggest. The official one is %prebol.r
2) The main-script as archive, unpack in subdirectory and run.
> Of course, there can be a problem with what to do, when current and past
> Rebol interpreters have faults and need patching. Perhaps we should prod
> Rebol HQ into action? :) It would be nice to have defects fixed, and old
> versions of Rebol interpreters removed.
Primarily RT's job IMHO.
But a library of patches would be smaller than The Great Library Of
Everything. So may be manageable.
But the patches could be placed in the app too. A developer gets the patches,
integrates them in the app, releases update.
Also one can insist on a special rebol-version. thats what one does anyway
with sdk. so patching can be more specific. (Java does this now)
> What do you think about it? Is there something I've missed?
> Andrew J Martin