This topic needs to address legal issues such as copyrights, licenses etc.
Are all modules free?
TBrownell
----- Original Message -----
From: "Ryan Cole" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 09, 2001 10:58 AM
Subject: [REBOL] Re: Enabling the REBOL community


> I was just thinking about this over the the weekend, almost exactly as you
have written Joel.  I was amazed to read your post.  The simple make object!
idea is
> what I came up with too.  I strongly agree that such a system would
especially benifit our community.
>
> I really would like to know RT's time frame for the release of thier
module system.
>
> --Ryan
>
>
> Joel Neely wrote:
>
> > Those who are familiar with CPAN (the Comprehensive Perl
> > Archive Network) know that it is a significant factor in
> > the growth -- and ease of use -- of Perl.  CPAN modules
> > provide:
> >
> > 1)  A community-maintained, standard namespace for modules,
> >     (e.g., a reasonable tree-structured taxonomy which
> >     helps the programmer remember "where" a module is).
> > 2)  A collection of mirror sites from which modules may be
> >     obtained.
> > 3)  A simple set of mechanisms for acquiring a module and
> >     installing it in the standard place on one's local box.
> > 4)  A means of ensuring that a module has been successfully
> >     loaded into a running program that wishes to use it.
> > 5)  A means of controlling the effect that loading the
> >     module has on the global namespace.
> > 6)  A rich source of examples for newcomers learning the
> >     language, as well as for older hands wanting to polish
> >     their style.
> >
> > I've seen many useful pieces of REBOL code written and
> > shared during the time I've been subscribed to this list.
> > I've written one or two tidbits that I hope someone has
> > found useful.  But...  where is all of this good stuff???
> >
> > Some of it is in the mailing list archives, some of it
> > is on various individual or group sites, some may be
> > lost.  This is sad, since there are many good wheels out
> > there that don't need to be re-invented.
> >
> > Several of us (myself included) have written our own tools
> > for "include"-ing a REBOL module from a local library into a
> > running script.  However, it occurs to me that this kind of
> > infrastructure itself is a wheel that doesn't need to be
> > re-invented.
> >
> > All of this musing motivates a couple of specific questions:
> >
> > 1)  Can we -- as a community -- begin to build the same kind
> >     of resource for REBOL that CPAN serves for Perl?
> > 2)  Can we agree on (or at least discuss) the kinds of
> >     standards/conventions/features that would make such a
> >     resource effective for the old hands and easy for the
> >     new kids on the block?
> >
> > Let me give an example of the kind of thing I mean in the
> > second point.  I've been toying with the idea that a re-
> > usable code unit could take the form of an "anonymous"
> > object, something like the following:
> >
> > 8<------------------------------------------------------------
> > rebol [
> >     title:   "Component test"
> >     file:    "cmptest.r"
> >     author:  "Joel Neely"
> >     version: 0.1.0
> >     date:    08-May-2001
> >     history: [
> >         0.1.0 [
> >             08-May-2001 {Preliminary proposal draft}
> >         ]
> >     ]
> > ]
> >
> > make object! [
> >     x: 1
> >     y: 42
> >     sum: does [x + y]
> > ]
> > 8<------------------------------------------------------------
> >
> > At some level down under the hood, this could be included into
> > another script by the equivalent of...
> >
> > 8<------------------------------------------------------------
> > >> testobject: do %cmptest.r
> > >> testobject/sum
> > == 43
> > 8<------------------------------------------------------------
> >
> > but also by embedding inside other objects, as in...
> >
> > 8<------------------------------------------------------------
> > >> foo: make object! [
> > [    red: 23
> > [    yellow: 48
> > [    caramel: do %cmptest.r
> > [    ]
> > >> source foo
> > foo:
> > make object! [
> >     red: 23
> >     yellow: 48
> >     caramel:
> >     make object! [
> >         x: 1
> >         y: 42
> >         sum: func [][x + y]
> >     ]
> > ]
> > >> foo/caramel/sum
> > == 43
> > 8<------------------------------------------------------------
> >
> > The point of the anonymity is, of course, to avoid the danger
> > of conflicting with other words defined by the code that uses
> > the unit (or with words defined by other units).
> >
> > The point of the phrase "at some level under the hood" above
> > is that I don't think a simple "do %unitname.r" is the right
> > solution.  I suggest that the unit/module/component management
> > mechanism contain the idea of a standard path (or set of paths)
> > so that units stored in the canonical place are accessible to
> > any using code regardless of where in the directory structure
> > it (either one!) appears.
> >
> > Therefore, the actual usage might resemble something like
> >
> > 8<------------------------------------------------------------
> > unit/add-unit-path %lib/ideas
> >
> > >> foo: make object! [
> > [    red: 23
> > [    yellow: 48
> > [    caramel: unit/do %cmptest.r
> > [    ]
> > ...
> > 8<------------------------------------------------------------
> >
> > which might imply that the file cmptest.r is in the lib/ideas
> > subdirectory under whatever is the standard library path (or
> > one of the standard library paths!) on the current box.  Thus
> > the code above wouldn't change if I move to a different box or
> > platform with different library placement conventions (this,
> > of course, assumes that */lib/ideas/cmptest.r is in the "right"
> > library path for the other box/platform).
> >
> > Comments, suggestions, alternatives, collaborators???
> >
> > -jn-
> > --
> > To unsubscribe from this list, please send an email to
> > [EMAIL PROTECTED] with "unsubscribe" in the
> > subject, without the quotes.
>
> --
>
>
>      Ryan Cole
>  Programmer Analyst
>  www.iesco-dms.com
>     707-468-5400
>
> "I am enough of an artist to draw freely upon my imagination.
> Imagination is more important than knowledge. Knowledge is
> limited. Imagination encircles the world." -Einstein
>
>
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
>

-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to