lua-users home
lua-l archive

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

> This reminds me of another direction: distributed computing. Moving
> programs as if they where data around fits the platform pretty well. The
> people at PUC themselves have a few papers on this.

The thing that I like about Inferno is that the VM is the same for all
implementations...this means the same binary could run on the x86
kernel, a SPARC kernel, a kernel running on the JVM or in a ActiveX
control in a web browser (yuck). For instance the Mono VMs just
abstract the OS interfaces, so to write cross/platform code for Mono
you have to make sure you switch out \ for / when going from Windows
to Linux. Because of this higher level of abstracton in the VM it
should be possible to have much more portability than Python/Java/etc.

The other thing I think should be considered is built-in concurrency.
Concurrent Lua is okay, but if you're going to base the entire OS off
a microkernel, then why not go a step farther and use Erlang style
concurrency across the board. Extend the Lua language to support a !
style send operator, add some sort of message filtering into the mix,
and make every Lua process completely independent. Tag each thread
with a GUID and suddenly you have the ability to migrate processes off
of one physical machine and on to another.

I love this idea of a LuaOS. I think, done right, it might actually be
usable. Users could try the OS out on a hosted platform such as
Windows or Linux (the LuaOS would run as a VM on the host system). And
if more performance is desired, they could install the OS onto the
native system.

Now I know all this would take a bit of doing...just some thoughts.


“One of the main causes of the fall of the Roman Empire was
that–lacking zero–they had no way to indicate successful termination
of their C programs.”
(Robert Firth)