Help figuring out appropriate naming scheme (previously 'wedge')

Bare with me as I try to articulate this.

I am currently finishing up a new version of the `wedge` gem. However
I am not satisfied with the naming and namespace usage of the project,
but I can't figure out the best approach.

Essentially what the project does is let you inject "loaders", or
"load wedges" if your prefer, into Ruby's require/load mechanism.
While any object that responds to the proper minimal interface can be
a loader/load-wedge, generally one is written using a base class which
provides some useful boilerplate methods, e.g.

  class MyLoader < Loader
    ...
  end

Under the hood there are alternate #require and #load methods, as well
as two extra #find and #search methods which can be using to lookup
loadable files.

The system also comes with a few pre-built load wedges, one such
example is the RubyWedge (or RubyLoader).

So the code is essentially ready, I just can't figure out how to
organize it. One idea is to use Load as toplevel namespace:

  module Load
    def self.require
    def self.load
    def self.find
    def self.search
    class Wedge
    end
    class RubyWedge < Wedge
    end
  end

But then `Load.load` seams pretty silly and would I rename the project
to 'load' or 'load_wedge' ?

Another was to rename 'Wedge' to 'Loader' which is a more
comprehensible name, but then I'm really lost as to what overall
namespace to use.

On a whim I even considered:

  module Free
    def self.require
    def self.load
    def self.find
    def self.search
    class Loader
    end
    class RubyLoader < Loader
    end
  end

Get it? Unfortunately (well maybe) 'free' is already a taken gem name.
But maybe 'freeloader' can work?

OTOH, the gem effects Ruby is such a core way that I have even
considered putting these in RbConifg (which is all but empty anyway) b/
c loading actually depends of some of the information that
RbConfig::CONFIG provides (i.e. the site locations).

  module RbConfig
    def self.require
    def self.load
    def self.find
    def self.search
    class Loader
    end
    class RubyLoader < Loader
    end
  end

In that case I think `RbConfig.find` is too generic and would need to
be `RbConifg.load_find` or something like that. But maybe it's just a
plain bad idea to use this namespace.

Of course, there's also toplevel/Kernel, maybe I should just forego a
namespace altogether. But then, I still have to have a reasonable name
for the project. Would it be 'loader' instead of 'wedge'?

As you can see I've gone round and round with ideas and nothing has
really struck me as the "Ah ha!" right way to go. So I've turned to
the ruby community for any suggestions. Appreciate any guidance others
can give.

One idea is to use Load as toplevel namespace:

This strikes me as somewhat odd. As far as I've noticed, TLNs tend to
be nouns, or maybe adjectives if they're intended to be used as
mixins. That would point more towards Loader or Wedge or Loadable.
Maybe Wedgie? :wink:

But maybe 'freeloader' can work?

Yeah, the Ruby community does seem to appreciate a good pun. (I often
refer to having missed the Java boat, and trying to sneak onto the
Ruby yacht.) This one has the added advantage of being actually
somewhat descriptive, as it does have something to do with loading.

If you want to distinguish your gem from others having to do with
loading, I'd stay away from names as generic as Load or Loader. If
you can describe your "wedge" as some kind of particular technique,
you could just call it Wedge... or if you still want a touch of
whimsy, go for Wedgie. That opens the (trap)door to all kinds of
horrible puns.... :wink:

One of these years, I intend to take some of the fairly complex
presentation logic I did in making a Game of Life in an arbitrary
number of dimensions, and package it up in a gem that could be used
for all kinds of N-dimensional calculation and presentation. Since it
has to do with dimensions, I've been considering names like Dimwit,
Dimsum, Dimmerswitch, and so on. (If anybody wants to see the Life
game, it's at https://github.com/davearonson/N-Dimensional-Life/\.\)

-Dave

···

On Fri, Oct 14, 2011 at 12:01, Intransition <transfire@gmail.com> wrote:

--
LOOKING FOR WORK! What: Ruby (on/off Rails), Python, other modern languages.
Where: Northern Virginia, Washington DC (near Orange Line), and remote work.
davearonson.com (main) * codosaur.us (programing) * dare2xl.com (excellence)
Specialization is for insects. (Heinlein) - Have Pun, Will Babble! (Aronson)

I'd go for LoadHook myself. And steer clear of RbConfig.

···

On Fri, Oct 14, 2011 at 5:01 PM, Intransition <transfire@gmail.com> wrote:

As you can see I've gone round and round with ideas and nothing has
really struck me as the "Ah ha!" right way to go. So I've turned to
the ruby community for any suggestions. Appreciate any guidance others
can give.

Very humorous, thanks for the chuckle.

I feel a bit like a "dimwit" trying to conceive of N-dimensional
life :slight_smile: Then again I did once managed to conceive of an infinite-
dimension pyramid based on an analysis of Colatz' conjecture. But that
required a lot of illicit college activities, if you know what I mean.

I ended up going with "Loadable". I realized I could use a mixin
instead of a base class to better effect and, strangely but
effectively, the TLN could also be the mixin.

···

On Oct 16, 2:40 pm, Dave Aronson <rubytalk2d...@davearonson.com> wrote:

On Fri, Oct 14, 2011 at 12:01, Intransition <transf...@gmail.com> wrote:
> One idea is to use Load as toplevel namespace:

This strikes me as somewhat odd. As far as I've noticed, TLNs tend to
be nouns, or maybe adjectives if they're intended to be used as
mixins. That would point more towards Loader or Wedge or Loadable.
Maybe Wedgie? :wink:

> But maybe 'freeloader' can work?

Yeah, the Ruby community does seem to appreciate a good pun. (I often
refer to having missed the Java boat, and trying to sneak onto the
Ruby yacht.) This one has the added advantage of being actually
somewhat descriptive, as it does have something to do with loading.

If you want to distinguish your gem from others having to do with
loading, I'd stay away from names as generic as Load or Loader. If
you can describe your "wedge" as some kind of particular technique,
you could just call it Wedge... or if you still want a touch of
whimsy, go for Wedgie. That opens the (trap)door to all kinds of
horrible puns.... :wink:

One of these years, I intend to take some of the fairly complex
presentation logic I did in making a Game of Life in an arbitrary
number of dimensions, and package it up in a gem that could be used
for all kinds of N-dimensional calculation and presentation. Since it
has to do with dimensions, I've been considering names like Dimwit,
Dimsum, Dimmerswitch, and so on. (If anybody wants to see the Life
game, it's athttps://github.com/davearonson/N-Dimensional-Life/.)

Ah, LoadHook. That is a good name. Might well have used it too, except
Loadable turned up and it looks like it will work to good result.

Thanks.

···

On Oct 17, 9:57 pm, "Sean O'Halpin" <sean.ohal...@gmail.com> wrote:

On Fri, Oct 14, 2011 at 5:01 PM, Intransition <transf...@gmail.com> wrote:
> As you can see I've gone round and round with ideas and nothing has
> really struck me as the "Ah ha!" right way to go. So I've turned to
> the ruby community for any suggestions. Appreciate any guidance others
> can give.

I'd go for LoadHook myself. And steer clear of RbConfig.

Why not use the gem's name as namespace, e.g.

module Wedge
end

or

module LoadWedges
end

I also find the name "RubyLoader" too unspecific. I mean, it's clear
that it's Ruby because that is the language it was written for and in.
But I get no idea what it really does. Can you describe what it
really does? If all else fails BaseLoader or just Base might be a
good choice (after all, you have it namespaced already).

Kind regards

robert

···

On Tue, Oct 18, 2011 at 6:51 AM, Intransition <transfire@gmail.com> wrote:

On Oct 17, 9:57 pm, "Sean O'Halpin" <sean.ohal...@gmail.com> wrote:

On Fri, Oct 14, 2011 at 5:01 PM, Intransition <transf...@gmail.com> wrote:
> As you can see I've gone round and round with ideas and nothing has
> really struck me as the "Ah ha!" right way to go. So I've turned to
> the ruby community for any suggestions. Appreciate any guidance others
> can give.

I'd go for LoadHook myself. And steer clear of RbConfig.

Ah, LoadHook. That is a good name. Might well have used it too, except
Loadable turned up and it looks like it will work to good result.

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

>> > As you can see I've gone round and round with ideas and nothing has
>> > really struck me as the "Ah ha!" right way to go. So I've turned to
>> > the ruby community for any suggestions. Appreciate any guidance others
>> > can give.

>> I'd go for LoadHook myself. And steer clear of RbConfig.

> Ah, LoadHook. That is a good name. Might well have used it too, except
> Loadable turned up and it looks like it will work to good result.

Why not use the gem's name as namespace, e.g.

In deed I did, I renamed the gem to 'loadable'.

I also find the name "RubyLoader" too unspecific. I mean, it's clear
that it's Ruby because that is the language it was written for and in.
But I get no idea what it really does. Can you describe what it
really does? If all else fails BaseLoader or just Base might be a
good choice (after all, you have it namespaced already).

My bad, I didn't really explain that. It's called RubyLoader b/c it
isolates loading from Ruby's standard library. See section 4.1 of
https://github.com/rubyworks/loadable\.

···

On Oct 18, 2:13 am, Robert Klemme <shortcut...@googlemail.com> wrote:

On Tue, Oct 18, 2011 at 6:51 AM, Intransition <transf...@gmail.com> wrote:
> On Oct 17, 9:57 pm, "Sean O'Halpin" <sean.ohal...@gmail.com> wrote:
>> On Fri, Oct 14, 2011 at 5:01 PM, Intransition <transf...@gmail.com> wrote: