[IronPython] DLR, OS X/Linux & other languages

Alcides Fonseca me at alcidesfonseca.com
Fri Dec 26 20:15:50 CET 2008

Em 2008/12/26, às 19:05, Miha Valencic escreveu:

> <thinking outloud/>
> DLR is a subset of CLR, with specific improvements for dynamic  
> languages (dynamic call sites, dispatch and whatnot). At least  
> that's how I understand it.

That's not exactly correct. Silverlight has this thing called CoreCLR,  
and that's what implements the subset of the CLR.

DLR is another layer on top of the CLR (although I believe it is going  
to be included in a future version). The DLR adds support for dynamic  
stuff on the CLR (both the desktop and the CoreCLR).

> Currently, it runs in the browser on all major platforms (Win, OS X  
> and with Linux (with Moonlight?)). It would be nice to be able to  
> write apps on OS X (& linux for that matter) in C# or VB, for  
> instance, that would target the DLR (not CLR). You would have access  
> only to the subset of the CLR (whatever DLR brings to the table) but  
> nontheless.

Silverlight apps target the CoreCLR, not exactly the DLR. You can  
write a Silverlight app in C# and it won't make use of the CLR. If you  
use IronPython, IronRuby or JScript, you are using the DLR to access  
the CoreCLR in Silverlight.

> For whatever is missing, one could add assemblies, which would be  
> loaded into the application... (like with SL). No?
> Silverlight is intended for running in the browser -- but could we  
> use this same technology to write "native" apps? We need a host of  
> some sort for the UI (something that currently browser provides) or  
> maybe we already have something like that?

At least in Linux, you can run silverlight apps in the desktop. Miguel  
calls them Moonlight Desklets, and you can learn more about them in  
his blog: http://tirania.org/blog/archive/2008/Apr-17.html

> Could I write an application for OSX and run it with DLR (with a  
> small download and as low complexity as possible)?
> I know I can download Mono and install it and use that for  
> development and so on -- what about DLR?

In order to run .NET apps in OSX/Linux, you need a virtual machine.  
Two are available at this time: Mono and Moonlight. The first is the  
best for your needs. It has a larger API and you can use C# to write  
applications, or Iron* with the DLR+CLR. The other is using the  

The DLR is only used to access the CLR underneath. So it alone can't  
run anything.

> Miha
> ps: I could launch the same word on Win and on OS X, if Word would  
> be written in .NET completely.

True, but Mono doesn't have the same APIs as Windows's Microsoft .NET.  
WPF isn't implemented, as well as other APIs.


More information about the Ironpython-users mailing list