Flying a mono biplane through a mono scripted Abbotts Aerodrome (in monochrome). All 2700+ LSL Abbotts scripts compile to CIL, assemble in to CLR assemblies and run in the Mono VM embedded in the Second Life simulator. Note that no source code was changed to make this work, the LSL source was just recompiled to run on the Mono VM.
:: pant pant :: When?
Posted by: Mark Gardner | August 16, 2005 at 09:09 AM
This is pants-wettingly awesome.
Is there any chance that with the move to Mono, LSL might get exception handling?
Posted by: Gabriel Spinnaker | August 17, 2005 at 10:08 PM
Gabriel, Grammar modifications permitting there's no reason why LSL couldn't get exceptions as well as objects and arrays, which are supported by the CLR. The question is whether to add those features to LSL or to keep Mono simple, but allow other object oriented languages like C# to be used to script LSL as well. It would be really good to hear your thoughts on which way you think we should go.
Posted by: Jim Purbrick | August 18, 2005 at 01:41 AM
Sorry, that should have been:
The question is whether to add those features to LSL or to keep LSL simple, but allow other object oriented languages like C# to be used to script LSL as well.
Posted by: Jim Purbrick | August 18, 2005 at 01:42 AM
My preference is that we be given the option to use other languages -- preferably any language that targets the CLR, though I'm not sure how tenable that would actually be -- but I also think as many CLR features as possible should be added to LSL. It's possible that if LSL were improved enough, I might actually continue to use it. These are my basic complaints with it right now:
* It's slow. -- Of course, this is more of a complaint with the VM, and the Mono VM should alleviate it anyway. (Incidentally, did you ever go into greater detail about why concurrency is a big issue?)
* Resource constraints. -- The 16KB bytecode/heap limit is a huge pain. I can't speak for anyone else, but I could probably *grudgingly* live with 16KB if it didn't have to be shared by the script's bytecode and heap. More memory would be better, of course.
* Lack of a homogenous array datatype. -- Lists are nice, but the added overhead in situations where they're used to store items all of a single datatype is also a pain given the current memory limits.
* The syntax for accessing list contents. -- llList2Datatype() offends my delicate sense of aesthetics, as well as being somewhat counterintuitive. Of course, I suppose you're really the wrong person to bother about things like syntax...
I do have some other complaints, but they're not so much about the language itself as they are about some of the features SL provides (and doesn't provide), like IPC between scripts and objects, and lack of outbound XML-RPC.
(I had this nicely formatted, with an HTML unordered list and everything, but I guess Typepad doesn't like HTML in comments.)
Posted by: Gabriel Spinnaker | August 18, 2005 at 04:02 PM
They describe it as C/Java like. It looks more like BASIC/Javascript.
Posted by: Someone At Microsoft | September 25, 2005 at 01:56 PM