So, have you heard about the new LS2 compiler?

The official C# Compiler for LavishScript 2.0

So, have you heard about the new LS2 compiler?

Postby WhiteSlax » Thu Sep 27, 2012 9:26 am

ls2csc is the LavshScript 2.0 C# Compiler!

Here's some Frequently Asked Questions:
  • Q: Does this mean we get .NET?
    A: No. C# is not the same thing as .NET. C# is a language. .NET is a runtime environment (like the LS2 VM) and the objects that plug into that runtime model. The LS2 VM will still have different objects than .NET, much like LavishScript (1) has its own set of objects.
  • Q: What happens if I try to reference .NET (e.g. System.dll)?
    A: At the moment, you just can't. The current version of ls2csc doesn't have the capability to reference other modules, but when it does it will natively link to LS2 VM bytecode. If you really need to reference .NET modules, you should actually use a .NET compiler (and the .NET support built into Inner Space). See "Does this mean we get .NET?" ;)
  • Q: Will all language features of C# (e.g. to 5.0) be supported?
    A: Probably not all, but hopefully close. There's no technical reason they can't be supported...
  • Q: Will I be able to interoperate with .NET? And will .NET be able to interoperate with LS2?
    A: Yes. Similar to what we do now with LavishScript 1, but interop with LS2 will be simpler and should perform better in the end.
  • Q: When will I get to try it out?
    A: Right now. Go for it!
  • Q: What will I need in order to use ls2csc?
    A: ls2csc is currently based on Microsoft's Roslyn API. Roslyn is currently in "preview" release, available to Visual Studio 2013 developers. To install Roslyn currently requires Visual Studio 2013.

The project is still fairly early on, and I am still learning new things about the Roslyn API. And they are still building it. I haven't seen any other examples of re-targeting using Roslyn, so I think this project is (so far) pretty unique as far as users of the Roslyn API.
Site Admin
Posts: 97
Joined: Mon May 07, 2012 7:24 pm

Return to C#: ls2csc

Who is online

Users browsing this forum: No registered users and 1 guest