lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

It was thus said that the Great Pierre Chapuis once stated:
> On Mon, 25 Nov 2013 08:47:51 +0800
> Michael Richter <> wrote:
> > On 25 November 2013 07:45, Sean Conner <> wrote:
> >
> > >   What about organizational prefixes don't you (that is, Pierre, not
> Dirk)
> > > don't like about such prefixes?
> >
> > I'm neither Pierre or Dirk, but I can tell you what I don't like about
> > them: organizations change.
> Same thing, Michael explained the issue really well.
> But also, more "philosophically", this is Open Source.
> A module theoretically should *not* belong to a person
> or an organization, it should be the result of collaboration
> between people of different organizations.

  For some reason this doesn't sit well with me.  I feel as if there should
be *one entity* (whether that's a person, like Mike Pall, or an
organization, like PUC-Rio) in charge of a module, least complete confusion
reign.  Somebody has to be able to say "no".

> > And as I see it, any other system
> > that is proposed will have to necessarily
> > require a centralized authority to
> > assign namespaces to prevent collisions.
> If we adopt the convention I was proposing that the name
> of the package in LuaRocks should be the top-level thing
> we require, we already have that centralized authority :)

  A problem with LuaRocks is that the name used to install a module isn't
the actual name of the module you use in Lua---that still doesn't solve the
issue of overlapping modules.  For instance:

[spc]lucy:~>luarocks install luuid
Lua 5.1.5  Copyright (C) 1994-2012, PUC-Rio
> uuid = require "uuid"
> show = require "org.conman.table".show
> show(uuid)
version  "uuid library for Lua 5.1 / Nov 2010" 
new      function: 0x905cab0                   
time     function: 0x90541d8                   
isvalid  function: 0x905ca78                   

[spc]lucy:~>luarocks install uuid
Lua 5.1.5  Copyright (C) 1994-2012, PUC-Rio
> uuid = require "uuid"
> show = require "org.conman.table".show
> show(uuid)
randomseed  function: 0xa0136f8   
seed        function: 0xa0136d8   
new         function: 0xa013788   

  No warning that module "uuid" was being overwritten.  Now, what if I
installed (via LuaRocks) LuaFoo that uses luuid (which is installed, because
of dependency tracking), and LuaBar that uses uuid (which is also installed,
because of dependency tracking)?

  -spc (Relying on the LuaRocks name isn't a solution ... )