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.

On Fri, Oct 14, 2011 at 12:01, Intransition [email protected] 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 at https://github.com/davearonson/N-Dimensional-Life/.)

-Dave

On Fri, Oct 14, 2011 at 5:01 PM, Intransition [email protected]
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.

On Oct 16, 2:40pm, Dave A. [email protected]
wrote:

Yeah, the Ruby community does seem to appreciate a good pun. (I often

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/.)

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 Tue, Oct 18, 2011 at 6:51 AM, Intransition [email protected]
wrote:

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.

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 Oct 17, 9:57pm, “Sean O’Halpin” [email protected] wrote:

On Fri, Oct 14, 2011 at 5:01 PM, Intransition [email protected] 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.

Thanks.

On Oct 18, 2:13am, Robert K. [email protected] wrote:

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.