[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: The LuaVM implemented in languages other than C
- From: Kristofer Karlsson <kristofer.karlsson@...>
- Date: Sat, 26 Sep 2009 10:07:16 +0200
Since C# is fairly similar to Java, you may want to take a look at either LuaJ or Kahlua. I have a feeling they would be fairly simple to port to C#
As a side note, I also spent a few days getting a working VM together (which was surprisingly easy) and then spent a few more months getting all the small details and standard libraries right.
On Sat, Sep 26, 2009 at 1:38 AM, Anthony Fairchild <email@example.com>
I've been playing around with the idea of implementing a Lisp-like language that targets the LuaVM. The reasons why I chose the Lua VM are 1) It seems to be faster than several other VMs and 2) The VM has a very minimalistic approach, which makes it very easy to implement. I want my language to run on several platforms that do not support C code, including rich web clients like Flash and Silverlight and game development environments like XNA. I really like the idea of a language being built up from a small core which can be easily implemented anywhere it is not supported.
I have started a VM implementation in C#, and it passes many lua unit tests at this point. I can compile lua files using luac and run them in both Silverlight and XNA. I have really only spent a couple of days doing this and I'm surprised at how straightforward this is. Setting my Lisp language idea aside, I was wondering if this VM might be of any value to others, as an alternative way to run Lua code in .NET? I see there is LuaInterface but that doesnt seem to support my requirements because it is a bridge to Lua's C VM.
I will probably end up writing a native action script Lua VM as well so I can easily develop games that work in both silverlight and flash. Either that or I could use Lua-Alchemy but I am curious about how a native action script VM would perform against the c->llvm solution that alchemy is using.
Any thoughts on this are appreciated.