Framework

From Adam Colton
Revision as of 14:51, 29 August 2013 by Adamcolton (talk | contribs) (Created page with "The open source community lacks a vm/framework like .Net or the JVM. I think it would be interesting to develop one with no primary language (C# for .Net or Java for the JVM). =...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The open source community lacks a vm/framework like .Net or the JVM. I think it would be interesting to develop one with no primary language (C# for .Net or Java for the JVM).

Memory Management

This is (in my opinion) the most important function of the VM - it needs to be very efficient. Obviously I would need to learn a lot (or find someone who already knows a lot) but from what I know now, the best approach seems to be tiered. Start with reference counting, then look for loops. More heavy handed operations like stop-the-world should be avoided if possible.

I also think that options like unmanaged memory access should be available (though probably protected) and the garbage collector should provide some hooks to allow for things like delaying garbage collection (or triggering it).

Concurrency

This is where everything is headed. It's important that at the core everything is threaded. I really like the cheap Go threads - I'm interested in learning how they did that. It should be easy to make things threadsafe, shared memory should be discouraged.

Types

There needs to be a type system, but I'm hesitant to get too attached to classical objects. I like the idea of structs with functions and functions as first-class-citizens.