scalakernelnativesystems-programming

Is scala sufficient for native, system and kernel programming?


  1. Is there a compiler that translates Scala code to native code?
    • Is there a released compiler?
    • Is there a compiler under development?
    • If there is no such compiler, would it be possible to write one?
      • If it is not possible: What are the reasons for that?
  2. Is Scala sufficient for system programming?
  3. Is Scala sufficient for kernel programming (e.g. programming a device driver)?
  4. If Scala is not sufficient for system or kernel programming: What are the reasons for that?

I know Scala has been targeted to the Java platform. As far as I know Scala also fits to .Net / C# intermediate code thing. IMHO Java and .Net platforms are relatively similar, this is no surprise.

Java and .Net platforms deliver services or some kind of infrastructure which may be missing in system and kernel development.

  1. Which features of the Java platform are essential or necessary for Scala which are missing in system / kernel development?
  2. Which of these features / requirements could possibly be covered by integrating existing solutions into system / kernel development or by future development?

Solution

  • Yes there is have a look at scala LLVM: http://greedy.github.com/scala-llvm/ It is under development. Some issues like garbage collection remain.

    For more details and insights have a look at one of the relevant mailing list discussions: http://groups.google.com/group/scala-debate/browse_thread/thread/4ce486843cf7ef33/01ac59db9d8c5137?lnk=gst&q=LLVM+#01ac59db9d8c5137

    You may also take a look at the rust programming language