Organization of standard and 3rd party libraries

Discussion in 'Ruby' started by Trans, Dec 20, 2007.

  1. Trans

    Trans Guest

    Do you think Ruby's standard library would be better if it was
    organized more categorically? Might it, in turn, encourage 3rd party
    library developers to categorize their libraries better as well? AFAIK
    net/ is the only categorized set of libs in the standard lib and
    Austin is one of the very few who religiously organizes his libraries
    in this manner.

    Is categorization a good idea, or a waste of time?

    Trans, Dec 20, 2007
    1. Advertisements

  2. Trans

    Robert Dober Guest

    A good idea I believe, but only if it comes naturally. I have no idea
    if categories could be applied already, maybe the SL is just not big
    enough right now...
    I believe that it might indeed be a nice thing for 3rd party
    developers to have entry points into a tree.
    I imagine things like
    require "extensions/facets...."
    require "text/ruport"
    require "crazy/labrador/" ;)

    maybe one could peek over to Python or Perl and steal some ideas ;).

    Robert Dober, Dec 20, 2007
    1. Advertisements

  3. Trans

    Trans Guest

    I see it the other way around:

    require "facets/extensions/...."
    require "ruport/text/..."
    require "labrador/crazy/..."

    Whereby the first name represents a project/package and the rest
    indicates the categories. Ruby itself has no sub-namespace, of course.
    That stands to reason as it is all "toplevel". What would be
    interesting then is to be able to "include" a namespace. Ie. Something

    use "ruport"


    requre 'text/...'

    But that's not really the main point. Just wondering about
    categorization in general. Unlike the Perl, where CSPAN provides the
    incentive to do so, the Ruby community doesn't seem to do much at all
    --and really there seems to be no standard ideas to speak of on the
    matter. For example, I recently talked to a maintainer of the Text
    project about perhaps a merger with my English project. His response
    was that he felt certain libs belonged to the Text namespace and
    others to the English namespace. But that's misconstrued IMO. I've
    never thought of English as anything more than a project name. By
    Tim's reasoning it would mean he has taken ownership of the entire
    Text category. Which is clearly silly. So that's why I think
    "{package}/{catagory}/..." makes sense.

    Trans, Dec 20, 2007
  4. Trans

    John Joyce Guest

    I think this concept of <package_name>/<category_name> is a very good
    idea. It does help to encapsulate things in a logical way.
    As for other people's projects conforming...
    unless something happens with ruby and gems on this kind of thing
    (including adding some sort of namespace) you're likely to see
    resistance from many people.
    Many people are protective and sensitive about their libraries. Even
    if it is open source they want control.
    Some folks are more willing to let the software take on its own
    John Joyce, Dec 22, 2007
  5. Trans

    Robert Dober Guest

    I have a mild concern wiith this, I would like to have things like the
    followwing too



    seems less natural to me, but I guess I would adapt, nice that we
    agree on this in general ;)

    Robert Dober, Dec 29, 2007
  6. Trans

    Gary Wright Guest

    Instead of trying to come up with a single organization
    that satisfies everyone, why not partition the name space:

    std/... # specified by Matz and company
    rc/... # specified by Ruby Central community
    rf/... # specified by Ruby Forge community
    x/... # unregistered namespace, first come, first serve

    The idea is that the top-level name would identify the
    organizer and/or organizing principle for the lower-level
    names. The x/... suggestion is similar to how extensions are
    proposed to mime types or mail headers. New top-level names
    could be proposed and then approved by Matz and company but
    ideally would remain small and would not clash with any existing
    well-known project names.

    Not sure how this might interact with the Ruby class/module namespace,
    but any attempt to standardize either namespace should probably be

    Gary Wright
    Gary Wright, Dec 29, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.