Different Runtimes?

Note: The following was written as kind of a stream-of-though conflagulation. Reader discretion is advised :)

I read this, and it spoke to some thoughts I've been having as of late. Basically, when will we be able to generate runtimes?

Right now, M is all the rage (sort of) in that it's making it easier to create languages (DSLs, whatever term you want to use). But why can't we just keep going with this? Create runtimes that are tailored to our specific needs.

Now, I get it, in that the CLR is the package for .NET. Trying to write DSL-like runtimes seems a bit odd and difficult, and frankly, would anyone want to do that anyway?

Of course, I'm not entirely convinced that everyone is going to want to create their own languages either.

There's always versioning issues and compatiabilities and whatnot to consider, but that's the tradeoff: you do something custom, there's always the danger that someone may need to use it in the future, and unless you are very clear in your intents, it may end up being a maintenance nightmare for the rest of the folks who have to use you transmorgrification inspired by Lovecraftian thoughts.

I remember back when the CLR was a baby, someone was showing how you could add a new opcode like "exp" to do exponentiation. This was done via a custom build of the SSCLI. Coolio idea, but limited to anyone who could use the entire toolset to emit, understand, and create assembly code around seeing this custom opcode.

My point is we're getting OK with creating new languages, but maybe we should see what else can be customizable. And sure, trying to write custom, one-off runtimes and execution engines and so on may seem stupid or extremely difficult, but in certain scenarios, why not?

* Posted at 01.16.2009 03:04:14 PM (Last Update: 01.16.2009 05:26:18 PM) | 1 comment | Link | RSS *

Comments

# Future of C#, from Chris Carter at 01.16.2009 05:26:16 PM

Ander's presentation, http://channel9.msdn.com/pdc2008/TL16/, describes how they're looking at adding some hooks into the C# compiler which seems further in the direction you're describing which sounds fun.

Add a Comment

(*) = Required field
Name (*):

E-Mail (*):

Web Site:

Title (*):

Comments (*):

Enter the code you see (*)



Quote
"It is also tempting to compile several different languages into the same intermediate language and use a common back end for the different front ends, thereby obtaining several compilers for one machine. However, because of subtle differences in the viewpoints of different languages, there has been only limited success in this direction." Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman
Twitter History
follow me on Twitter
Blog History