Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Liquid Project : connection with datas...

From: moliad:aei:ca at: 18-Oct-2003 12:39

Hi Andrew, thanks for all the info in this mail. Without knowing it, you have cornered a bug in the release... I put the wrong zip file on-line ... DOH!!! It has been fixed, maybe you should just download this new zip (which has the same version of the files) and adds the rsrc path and files wherever you chose to put the libraries. at least colorbox.r should now run ! don't forget to run colorbox.r that's the application which demoes the whole liquid-vid outfit. More comments inline. ----- Original Message ----- From: "A J Martin" <[AJMartin--orcon--net--nz]>
> Max wrote: > > By looking at the liquid-vid tutorials, > > > > > I downloaded the zip file from: > > then I unzipped Steel so that all the files appeared like this: > > >> change-dir %/c/Rebol/Steel/
That's specifically what you don't have to do, to get at libs. Usually, libs and apps are in separate directories but you can still load the libs, without any knowledge of where they where installed.
> Then I added these lines to my %User.r: > > steel-library-path: [%/C/Rebol/Steel/ %/C/Rebol/Steel/] > do %/C/Rebol/Steel/open-library.r > > That's because I couldn't get %library_setup.r to work properly for me. (It > kept making paths to %Steel/Library/ which didn't exist.)
weren't you able to delete all paths and browse to new ones ? in any case, this installer was temporary... a completely new lib installer is planned for the new library engine, integrated within the open-library.r equivalent.
> Then after running Rebol/View, you need to 'do these lines: > liquid-vid: open-library 'liquid-vid 0 > stylesheet: liquid-vid/style
the first line ends-up loading several files in one line (liquid.r, steel-console, liquid-vid.r, steel-utils.r) the second one is only needed because of a little shortcomming in vid, in that it does not support object paths anywhere.
> Then the tutorials at: > > > > and: > > > > The library part seems very complicated to me. :-/ I don't know what > advantage the library system system has over a simple 'do?
basically, you only need to keep a repository of all files you could/need to include in any application, and whenever you need it, it just opens without path. for most small scripts and applets, this is less of a problem since you often only load one or two files which are the backbone of your app. But will all the code I see flying around, I find its a shame that everytime you want to use code from someone else, you have to be sure that it causes no collisions, executes no code behind your back and whatever. the library engine, is an attempt at unifiying the way we share reusable code. If for example, someone has a math lib, he just needs to share it as a standard lib and anyone knows how to get at it. If a unified repository (like for example ;-) is available for everyone to put his stuff, then all the files in such a sharable directory would be usable and exclusively safe. no chance of variable or function name clash in any steel library. Basically, everything is stored in an object and when you load a library, your word is set to a new or shared instance of the object stored in the file. all the rebol header is also stored within the object, so you can do some run-time checks. The new library mechanism now also properly supports versioning! You can ask for a minimal version of any shared code. so that when you share your code, if the other person doesn't have the same library in his setup, you can make sure he knows about it. There is much more to the library engine, but I'll wait to release the v1.0 to make an official anouncement and put an exhaustive page on steel's web site... you're right that it is a little overhead compared to just a 'do, but in the end, it makes life simpler, especially if you consider that you can load other things than just shared code in the library. It also lets us share code which uses shared code, without needing to distribute the other code with it. thanks for the feedback, I wish I had more... -MAx