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

Keith J. Farmer kfarmer at thuban.org
Fri Dec 26 21:14:20 CET 2008

My memory is sketchy on this point, but for Silverlight, you have to either provide the assembly itself, or you have to have it blessed.  The problem with having the assembly is that you end up having to bring in others.
What's wrong with targetting a full WPF host (assuming that Mono's WPF support is sufficient at the time)?
Either stick to the reduced set or not.  Don't try to turn the one into the other :)
(and looking outside, it's snowing again...)


From: users-bounces at lists.ironpython.com on behalf of Miha Valencic
Sent: Fri 12/26/2008 11:31 AM
To: Discussion of IronPython
Subject: Re: [IronPython] DLR, OS X/Linux & other languages

Thanks for correcting me. So, how could I leverage the use of CoreCLR for OS X/Linux... development? With c# or Iron*?

Actually, Desklets sound like the right solution. But with the same API across all platforms. Something that Java "delivered" with Swing -- sort of. 

A way to have a powerful (but at the same time lightweight (== not bloated)) framework/infrastructure, that enables you to write apps in the language of your choice -- be it M, C#, VB, python, ruby or javascript (BTW, given that a lot of web developers use javascript at their work, using managed jscript for development has some interesting potential -- like VB).

Wouldn't it be cool to deliver developer tooling to support that? I could leverage whatever language I am proficient in, I could leverage XAML for the UI (hopefully the same on for desktop as for the web) and the software I would write would run on most platforms and the ones that don't have the "runtime", could get it with a quick download (like Silverlight).

It seems obvious to me that something like that is going to happen -- I'm just wondering why it hasn't yet. Where is the missing link? If Miguel has the tooling to run "Silverlight apps" on the desktop on Linux, I think they could also run on Windows and/or MacOSX.

What about accessing functionality (BCL) which is not included in the CoreCLR? Could I just reference (and add to deployment) System.ServiceModel.dll assembly and have access to full WCF? (there are of course other implications to that, but let's brainstorm for a minute)

Hey, Ironmen, what do you think?


2008/12/26 Alcides Fonseca <me at alcidesfonseca.com>

	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 desklets.
	The DLR is only used to access the CLR underneath. So it alone can't run anything. 

		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.
	Users mailing list
	Users at lists.ironpython.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081226/131355c2/attachment.html>

More information about the Ironpython-users mailing list