lua-users home
lua-l archive

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


What I would find extremely interesting would be a system that's bare-bones linux reusing all the linux device drivers (nobody wants to rewrite all those in lua, trust me).  Then on top of that lua, have a basic network aware lua engine that works somewhat like a web browser.  You can take the idea that Mozilla is doing with Boot to Gecko and instead use lua.  The system can have some basic abilities built-in that are exposed to lua and thus scriptable.  It could be HTML + CSS like the web or it could be something else.  Maybe a traditional desktop gui system that's based on widgets like GTK or QT or even a simple canvas-like API with optional opengl.  The key here is to use the internet at the core.  It needs a way to store applications offline in some local cache and a way to store data locally.  This would be a perfect operating system for Raspberry PI computers that are starting to ship.  People could write software that does anything they want, host it on network servers and interlink them.  It would be like the internet all over again, except using lua and aimed at applications rather than hyperlinked documents.

On Mon, Apr 23, 2012 at 10:10 AM, Martin Guy <martinwguy@gmail.com> wrote:
On 23 April 2012 05:25, Alessandro Delgado <adelgado1313@gmail.com> wrote:
> What I'd /really/ like would be a fully Lua-based operating system.
>
> Taking something like eLua booting on bare x86 and make it up from there.

Why? If you were a fan of Basic or Perl or shell scripts, would you
want to write an OS in them?

Already we sell a board that runs eLua as its entire operating system
but anything beyond a single flow of control is beyond its abilities.
You'd have to write everything with coroutines and some kind of
scheduler and so on - a bit like teaching a poodle to dance.

If you want to create an application  with little effort, that is
relatively easy to write and within the abilities of Lua/eLua, it's
fine. If you want anything that needs preemptive multitasking, or a
rich set of libraries then Lua/eLua is the wrong tool for the job.

In part this would be helped if eLua implemented Lua Socket, Lua File
System, LuaPosix and so on - the basic modules that every other
package needs - but instead it has its own whimsical and incomplete
library interfaces for everything. The only standard parts are most of
the built-in Lua libraries: io.*(), string.*() and so on. Even os.*()
is absent.

One project in the "Lua OS" direction would be to reimplement eLua
dumping all the eLua extensions and implementing os.*(), Lua socket,
LFS, luaposix and onwards, to make an embedded platform that standard
Lua applications would run on.

Then the world would be yours...

   M