[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: A major problem with the Lua ecosystem
- From: Dirk Laurie <dirk.laurie@...>
- Date: Thu, 1 Feb 2018 10:22:10 +0200
2018-02-01 0:08 GMT+02:00 Dibyendu Majumdar <email@example.com>:
> On 31 January 2018 at 22:03, Paul K <firstname.lastname@example.org> wrote:
>>> require "paths"
>>> paths.require "libtorch"
>>> The paths.lua script is generated from:
>>> I must be missing something here.
>> I think it's a different paths module. I'd expect it to be this one:
> Ah okay thanks! Strange that there is 'paths.lua' in the Lua script folder.
The problem has two parts:
1. The name of the module is often a common word like "paths"
which may easily be non-unique.
2. The name under which the module is contributed to LuaRocks
is not the same as the name that comes in "require".
The Lua team has done what they could: "require" can specify
subpaths, which so far seem mostly to be exploited by writers
of large module collections.
What we as a community shoud do is to agree on a standard
directory tree to act as containers. just one or two levels.
Then we can say "paths = require 'torch.paths'" and make
sure we get the right one.
For this idea to work with "lua -l" , we also need the patch
to preload libraries with customized global names
lua -l paths=torch.paths