lua-users home
lua-l archive

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

On Monday 09 January 2006 00:11, Rici Lake wrote:
> All I'm suggesting is that if we put our heads together, we ought to be
> able to come up with a nice clean set of documented interfaces which
> *could* be used by people to implement OS support libraries in a
> standard, Lua-like way. The market would then decide, I suppose, but
> I'd be betting that the standard interfaces would have a lot of market
> support.

Actually, I do believe I was agreeing with you, though it's a bit hard to tell 
from my original message (memo to self: *don't* post late at night)...

From what I see, Lua has two separate roles with vastly different, and largely 
incompatible, requirements:

* There's Lua the *embedded language*, where you're running 
application-specific programs as an extension to a non-Lua application. The 
scripts may be portable across platforms, but only as far as the application 
is portable. This is what game developers and, to a lesser extent, I'm using 
Lua for (although in my case, the 'application' is generic Unix).

* And there's Lua the *platform*, where all the application functionality is 
written in Lua, and the scripts need to be portable across all systems that 
the Lua platform has been ported to (ideally, lots). This is what systems 
such as Kepler and LuaCheia are aiming at.

Lua the Language wants to be as thin as possible, with as few OS interfaces as 
can be humanly managed. Lua the Platform, however, wants to be considerably 
thicker, and wants to insulate the platform from any of the details of the OS 
implementation. A lot of bindings that are suitable for Lua the Language 
(such as os.getenv) will *not* be suitable for Lua the Platform (which will 
use your table-based implementation), and vice versa.

Am I making sense?

+- David Given --McQ-+ "It's the dawn of the day before the time of the
|    | land that the lost dinosaurs forgot to remember!"
| ( | --- Ookla the Mok
+- --+ 

Attachment: pgpF8gxZkxUP3.pgp
Description: PGP signature