Re: Current state of 5.1, and the PS2.
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: Current state of 5.1, and the PS2.
- From: Rici Lake <lua@...>
- Date: Thu, 2 Nov 2006 21:58:51 -0500
On 2-Nov-06, at 9:39 PM, Glenn Maynard wrote:
This isn't mentioned in 5 - Standard Libraries. Also, these functions
don't actually use it; that is, if I luaopen_table() with a parameter
of
"tab", the table library is still loaded into "table", so passing
"table"
along here is a bit confusing.
That's true.
Also, I forgot to mention that I believe that io is the only library
which uses the function environment feature (of the standard libraries,
that is; third-party libraries may well use it.)
As I understand it, the purpose of passing the module name is not so
that the library will create a global with that name; it is to tell the
library what the name is in case it needs to know. None of the standard
libraries do, but one can imagine uses for this feature (for example,
locating related libraries).
I'm personally of the opinion that libraries should not create globals;
they should return objects and let the caller put them where they like.
Of course, the standalone interpreter would put the standard library in
standard globals, but I think it ought to be the customer of the
library and the library itself which makes that decision. The library
is (or should be) registered with the package system with its full name
(which could be dotted); that's the name which it needs to be given, in
case it cares. (Just my S/0.02 worth, doesn't correspond with anyone
else's prejudices.)
- References:
- Re: Current state of 5.1, and the PS2., Brian Weed
- Re: Current state of 5.1, and the PS2., Sam Roberts
- Re: Current state of 5.1, and the PS2., Glenn Maynard
- Re: Current state of 5.1, and the PS2., Rici Lake
- Re: Current state of 5.1, and the PS2., Glenn Maynard