[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua Ecosystem
- From: Sean Conner <sean@...>
- Date: Mon, 25 Nov 2013 22:46:49 -0500
It was thus said that the Great Pierre Chapuis once stated:
> On Mon, 25 Nov 2013 08:47:51 +0800
> Michael Richter <ttmrichter@gmail.com> wrote:
>
> > On 25 November 2013 07:45, Sean Conner <sean@conman.org> 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
...
[spc]lucy:~>lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, 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
...
[spc]lucy:~>lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, 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 ... )