Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Microsoft's Dynamic Languages Runtime (DLR)

3 views
Skip to first unread message

sturlamolden

unread,
May 2, 2007, 2:22:41 PM5/2/07
to

On Monday Microsoft announced a new runtime for dynamic languages,
which they call "DLR". It sits on top of the conventional .NET runtime
(CLR) and provides services for dynamically typed languages like
Python or Lisp (thus the cross-posting). Apparently is is distributed
under a BSD-like open-source license.

I am curious to know how it performs in comparison to CPython and an
efficient compiled Lisp like CMUCL. Speed is a major problem with
CPython but not with .NET or CMUCL, so it will be interesting to see
how the DLR performs in comparison. It would be great to finally see a
Python that runs on steroids, but knowing M$ bloatware my expectations
are not too high.

Has anyone looked at the DLR yet? What are your impression?

Jim Hugunin har written about the DLR in his blog:

http://blogs.msdn.com/hugunin/

To cite one of the comments: "Fuck this microsoft bollocks! You just
stole the Lisp runtime ideas and fucked them up by stupid it salesman
lingo." (Khrishna)

Sturla Molden

Pascal Costanza

unread,
May 2, 2007, 3:20:42 PM5/2/07
to
sturlamolden wrote:
> On Monday Microsoft announced a new runtime for dynamic languages,
> which they call "DLR". It sits on top of the conventional .NET runtime
> (CLR) and provides services for dynamically typed languages like
> Python or Lisp (thus the cross-posting). Apparently is is distributed
> under a BSD-like open-source license.
>
> I am curious to know how it performs in comparison to CPython and an
> efficient compiled Lisp like CMUCL. Speed is a major problem with
> CPython but not with .NET or CMUCL, so it will be interesting to see
> how the DLR performs in comparison. It would be great to finally see a
> Python that runs on steroids, but knowing M$ bloatware my expectations
> are not too high.
>
> Has anyone looked at the DLR yet? What are your impression?

So far, there is not a lot of information available. The only statement
about the technology I have read so far is that the DLR is a thin layer
on top of the CLR. This doesn't say a lot.

So it's hard to tell whether this is a (good) marketing stunt or whether
there are actual substantial improvement to the infrastructure.


Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

kyos...@gmail.com

unread,
May 2, 2007, 3:29:41 PM5/2/07
to


I realize this is a stupid question, but why did you cite the most
offensive comment to this blog post? Most of them were positive.

Mike

Michel Claveau

unread,
May 2, 2007, 3:29:51 PM5/2/07
to
Hi!

DLR is include in SilverLight. See my message of yesterday.
For instant, DLR is for IronPython & JScript. Others languages are only
promised.

You can install SilverLight 1.1, and make your tests.


--
@-salutations

Michel Claveau


Michel Claveau

unread,
May 2, 2007, 3:49:27 PM5/2/07
to
Re!


During we post messages, then blog of Jim Hugunin is updated:
http://blogs.msdn.com/hugunin/

--
@-salutations

Michel Claveau


Ken Tilton

unread,
May 2, 2007, 6:33:13 PM5/2/07
to

Yes, but everybody hates Microsoft, so there ya go. Anyway, here is the
real question: "thin layer"? I wonder then if anything has changed since:

http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/2f9759fa3e8877eb/2b11ecfdc4a15fb4?q=rettig+clr&_done=%2Fgroups%3Fq%3Drettig+clr%26hl%3Den%26lr%3D%26c2coff%3D1%26safe%3Doff%26sa%3DN%26tab%3Dwg%26&_doneTitle=Back+to+Search&&d#2b11ecfdc4a15fb4

Anyway, doesn't matter, just fun to see MS running up the white flag
after their ballsy attempt to get CL to do the same at ILC 2005.

kt

--
http://www.theoryyalgebra.com/

"Algebra is the metaphysics of arithmetic." - John Ray

"As long as algebra is taught in school,
there will be prayer in school." - Cokie Roberts

"Stand firm in your refusal to remain conscious during algebra."
- Fran Lebowitz

"I'm an algebra liar. I figure two good lies make a positive."
- Tim Allen

Fuzzyman

unread,
May 2, 2007, 6:44:55 PM5/2/07
to
On May 2, 8:20 pm, Pascal Costanza <p...@p-cos.net> wrote:
> sturlamolden wrote:
> > On Monday Microsoft announced a new runtime for dynamic languages,
> > which they call "DLR". It sits on top of the conventional .NET runtime
> > (CLR) and provides services for dynamically typed languages like
> > Python or Lisp (thus the cross-posting). Apparently is is distributed
> > under a BSD-like open-source license.
>
> > I am curious to know how it performs in comparison to CPython and an
> > efficient compiled Lisp like CMUCL. Speed is a major problem with
> > CPython but not with .NET or CMUCL, so it will be interesting to see
> > how the DLR performs in comparison. It would be great to finally see a
> > Python that runs on steroids, but knowing M$ bloatware my expectations
> > are not too high.
>
> > Has anyone looked at the DLR yet? What are your impression?
>
> So far, there is not a lot of information available. The only statement
> about the technology I have read so far is that the DLR is a thin layer
> on top of the CLR. This doesn't say a lot.
>
> So it's hard to tell whether this is a (good) marketing stunt or whether
> there are actual substantial improvement to the infrastructure.

Well, they're now implementing four dynamic languages on top of the
DLR - not just IronPython.

* IronPython
* IronRuby
* Java Script
* VBx (a dynamic version of VB)

The DLR provides a dynamic type system and hosting environment for
dynamic languages.

The nice part is that the DLR runs on top of the 'Core CLR' which
ships with Silverlight. This means that apps. that run in Silverlight
are secure - so you can run an IronPython console in the browser...

Fuzzyman
http://www.voidspace.org.uk/python/weblog/index.shtml

Kaz Kylheku

unread,
May 2, 2007, 8:15:13 PM5/2/07
to
On May 2, 11:22 am, sturlamolden <sturlamol...@yahoo.no> wrote:
> On Monday Microsoft announced a new runtime for dynamic languages,

Kindly refrain from creating any more off-topic, cross-posted threads.
Thanks.

sturlamolden

unread,
May 2, 2007, 8:19:34 PM5/2/07
to
On May 3, 2:15 am, Kaz Kylheku <kkylh...@gmail.com> wrote:

> Kindly refrain from creating any more off-topic, cross-posted threads.
> Thanks.

The only off-topic posting in this thread is your own (and now this
one).
Begone.


S.M.


Kevin Haynes

unread,
May 2, 2007, 8:42:23 PM5/2/07
to pytho...@python.org
Isn't python cross platform?

Ken Tilton

unread,
May 2, 2007, 8:45:30 PM5/2/07
to

FWIW, I took Kaz's remark to be more of a joke than an actual
cease-desist thing, partly because we here recorgnize that every nod to
dynamic languages brings us one day closer to the ascendance of Common
Lisp to Its Rightful Place on the throne and all other languages being
pushed into the sea, and partly because we all actually enjoy long,
drawn-out, flamewars with other NGs.

For example, my guess is that the DLR/Iron Python just proves that the
CLR had enough chops to support a hack like Python, but not enough to
support The Greatness of Common Lisp.

See how that works?

:)

kenny

Alex Martelli

unread,
May 3, 2007, 1:06:20 AM5/3/07
to
Kevin Haynes <kevin....@auxilior.co.uk> wrote:

> Isn't python cross platform?

Sure -- why is that relevant?


Alex

Pascal Costanza

unread,
May 3, 2007, 2:08:13 AM5/3/07
to

That still doesn't explain what DLR actually does. You can implement
these languages on top of the JVM as well. You could implement them on
any Turing-complete language, for that matter. The interesting question
how well integrated such an implementation is.

However, Jim Hugunin seems to be willing to give more details on his
blog - the recent entry gives hints that there is indeed something
interesting going on. I'm still waiting for the meat, though...

Stefan Scholl

unread,
May 3, 2007, 3:20:22 AM5/3/07
to
In comp.lang.lisp sturlamolden <sturla...@yahoo.no> wrote:
> I am curious to know how it performs in comparison to CPython and an
> efficient compiled Lisp like CMUCL. Speed is a major problem with

You are not allowed to publish .NET benchmarks. :-)


--
Web (en): http://www.no-spoon.de/ -*- Web (de): http://www.frell.de/

Edi Weitz

unread,
May 3, 2007, 3:23:51 AM5/3/07
to
On Thu, 3 May 2007 09:20:22 +0200, Stefan Scholl <ste...@no-spoon.de> wrote:

> You are not allowed to publish .NET benchmarks. :-)

I'm pretty sure that only applied to their beta releases.

--

Lisp is not dead, it just smells funny.

Real email: (replace (subseq "spam...@agharta.de" 5) "edi")

Duncan Booth

unread,
May 3, 2007, 4:40:30 AM5/3/07
to
Pascal Costanza <p...@p-cos.net> wrote:

> That still doesn't explain what DLR actually does. You can implement
> these languages on top of the JVM as well. You could implement them on
> any Turing-complete language, for that matter. The interesting question
> how well integrated such an implementation is.
>
> However, Jim Hugunin seems to be willing to give more details on his
> blog - the recent entry gives hints that there is indeed something
> interesting going on. I'm still waiting for the meat, though...

Watch the video he linked from his blog.

In short, the implementation looks really well integrated. They start with
an example (in Ruby) which creates a C# control and handles the event it
generates to call some VB which retrieves a list of strings from the server
and then passes it to a 3d animation written in JScript. All seamless, and
all running in the local browser (which in the demo is Safari).

The significant part of the DLR is (I think) that you can have a single
object e.g. a string, but the methods available on that object vary
according to the source file from which you are accessing the object. That
means in pure Python code the string has python methods, but in Python
using the CLR it gains the CLR methods. Presumably in Ruby code it looks
like a Ruby string and so on, but (and this is what's new) it is the same
object, not a bunch of language specific wrappers around the string type.

antoan...@hotmail.com

unread,
May 3, 2007, 7:58:41 AM5/3/07
to

If I looked at every crup they promote I would be braindead by
now.Just look at the DataMining articles at Microsoft research. Piece
of junk IMHO.

Antoan

Duncan Booth

unread,
May 3, 2007, 8:13:49 AM5/3/07
to
sturlamolden <sturla...@yahoo.no> wrote:

> I am curious to know how it performs in comparison to CPython and an
> efficient compiled Lisp like CMUCL. Speed is a major problem with
> CPython but not with .NET or CMUCL, so it will be interesting to see
> how the DLR performs in comparison. It would be great to finally see a
> Python that runs on steroids, but knowing M$ bloatware my expectations
> are not too high.

The video of Jim Hugunin's talk from MIX has a slide showing how many
Pystones you get on some different versions of Python. Of course that is
just one benchmark and not terribly relevant to any real applications, but
if you do get a similar speedup in real code 'Python that runs on
steroids' won't be far from the truth.

The claimed figures were 50,000 Pystones for CPython 2.5, and 101,000 for
the latest IronPython. (He didn't mention it, but I believe Psyco will
outdo both of these.)

Jean-Paul Calderone

unread,
May 3, 2007, 8:40:20 AM5/3/07
to pytho...@python.org

fwiw, my desktop happens to do 50,000 pystones with cpython 2.4 and 294,000
pystones with cpython 2.4 and psyco.full()

Jean-Paul

Alex Martelli

unread,
May 3, 2007, 11:02:05 AM5/3/07
to
Duncan Booth <duncan...@invalid.invalid> wrote:

> means in pure Python code the string has python methods, but in Python
> using the CLR it gains the CLR methods. Presumably in Ruby code it looks
> like a Ruby string and so on, but (and this is what's new) it is the same
> object, not a bunch of language specific wrappers around the string type.

So is it changeable (making Python code using it deeply unhappy) or
unchangeable (making Ruby or Javascript code similarly unhappy)? The
idea of just having one string type across languages is fascinating, but
I'm not sure it can work as stated due to different semantics such as
mutable vs immutable...


Alex

Duncan Booth

unread,
May 3, 2007, 1:43:41 PM5/3/07
to
al...@mac.com (Alex Martelli) wrote:

I think they said in the video that Ruby strings were a whole other talk.
My guess is that, as .Net strings are immutable, Ruby can use them but its
own strings must be some other class.

I did a bit of experimenting with Python and JScript in the DLRconsole
sample (http://silverlight.net/Samples/1.1/DLR-Console/python/index.htm).
Sadly I cannot figure out any way of copying text from the DLR console so
I'll attempt to retype it (hopefully without too many mistakes). BTW, this
is a straight copy: the console really does let you flip languages while
keeping the same variables in scope.

py> s = System.String("abc")
py> s
'abc'
py> type(s)
<type 'str'>
py> s2 = "abc"
py> type(s2) is System.String
True
js> typeof(s)
'string'
js>typeof(s2)
'string'
js> System.String
<type 'str'>
py> n = 42
py> type(n)
<type 'int'>
js> typeof(n)
'number'
py> System.Int32
<type 'int'>
py> type(n) is System.Int32
True
py> p = 2**64
py> type(p)
py> type(p) is System.Int64
False
js> typeof(p)
'Microsoft.Scripting.Math.BigInteger'
py> lst = [1, 2, 3]
js> typeof(lst)
'IronPython.Runtime.List'
js> x = 42
42.0
py> type(x)
<type 'float'>
js> var a = [1, 2, 3]
py> type(a)
<type 'JSArrayObject'>

So it looks like str, int, long, float all map to common types between the
languages but list is an IronPython type. Also as you might expect JScript
will happily use an integer but it only produces float values.

Kaz Kylheku

unread,
May 4, 2007, 12:27:16 PM5/4/07
to

You are making a very clumsy entrance into these newsgroups. So far
you have started two cross-posted threads. The first is only topical
in comp.lang.python (how to emulate macros in Python). This one is
topical in neither one, since it is about Microsoft DLR.

It's quite possible that some Lisp and Python programmers have a
strong interest in Microsoft DLR. Those people who have such an
interest (regardless of whether they are Lisp and Python user also)
and who like to read Usenet will almost certainly find a Microsoft DLR
newsgroup for reading about and discussing Microsoft DLR. Do you not
agree?

Also note that there is very rarely, if ever, any good reason for
starting a thread which is crossposted among comp.lang.* newsgroups,
even if the subject contains elements that are topical in all of them
(yours does not).

> Begone.

You are childishly beckoning Usenet etiquette to be gone so that you
may do whatever you wish. But I trust that you will not, out of spite
for being rebuked, turn a few small mistakes into a persistent style.

Tony Nelson

unread,
May 4, 2007, 5:05:46 PM5/4/07
to
In article <1178296035.9...@n59g2000hsh.googlegroups.com>,
Kaz Kylheku <kkyl...@gmail.com> wrote:

> On May 2, 5:19 pm, sturlamolden <sturlamol...@yahoo.no> wrote:
> > On May 3, 2:15 am, Kaz Kylheku <kkylh...@gmail.com> wrote:
> >
> > > Kindly refrain from creating any more off-topic, cross-posted threads.
> > > Thanks.
> >
> > The only off-topic posting in this thread is your own (and now this
> > one).
>
> You are making a very clumsy entrance into these newsgroups.

...

Go away.
________________________________________________________________________
TonyN.:' *firstname*nlsnews@georgea*lastname*.com
' <http://www.georgeanelson.com/>

Fuzzyman

unread,
May 4, 2007, 5:12:39 PM5/4/07
to
On May 4, 5:27 pm, Kaz Kylheku <kkylh...@gmail.com> wrote:
> On May 2, 5:19 pm, sturlamolden <sturlamol...@yahoo.no> wrote:
>
> > On May 3, 2:15 am, Kaz Kylheku <kkylh...@gmail.com> wrote:
>
> > > Kindly refrain from creating any more off-topic, cross-posted threads.
> > > Thanks.
>
> > The only off-topic posting in this thread is your own (and now this
> > one).
>
> You are making a very clumsy entrance into these newsgroups. So far
> you have started two cross-posted threads. The first is only topical
> in comp.lang.python (how to emulate macros in Python). This one is
> topical in neither one, since it is about Microsoft DLR.
>
> It's quite possible that some Lisp and Python programmers have a
> strong interest in Microsoft DLR. Those people who have such an
> interest (regardless of whether they are Lisp and Python user also)
> and who like to read Usenet will almost certainly find a Microsoft DLR
> newsgroup for reading about and discussing Microsoft DLR. Do you not
> agree?
>

Given that the DLR is a dynamic language framework, abstracted out of
the IronPython 1.0 release, and that it also runs on top of the core
CLR shipped with SilverLight meaning that for the first time sandboxed
Python scripts can run in the browser...

It would seem entirely on topic for a Python newsgroup.... very on-
topic...

Fuzzyman
http://www.voidspace.org.uk/ironpython/index.shtml

Steven Howe

unread,
May 4, 2007, 5:39:58 PM5/4/07
to Fuzzyman, pytho...@python.org
Thank goodness! I was getting ready to filter the DLR crap out. If it's
from microsoft,
it got to be crap.
sph


--
HEX: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Fuzzyman

unread,
May 4, 2007, 5:43:53 PM5/4/07
to
On May 4, 10:39 pm, Steven Howe <howe.ste...@gmail.com> wrote:
> Fuzzyman wrote:
[snip ...]

>
> >> You are childishly beckoning Usenet etiquette to be gone so that you
> >> may do whatever you wish. But I trust that you will not, out of spite
> >> for being rebuked, turn a few small mistakes into a persistent style.
>
> Thank goodness! I was getting ready to filter the DLR crap out. If it's
> from microsoft,
> it got to be crap.

Yeah - I mean what does Jim hugunin know about Python anyway... Bound
to be crap...

Fuzzyman
http://www.voidspace.org.uk/ironpython/index.shtml

Luis M. González

unread,
May 4, 2007, 5:54:01 PM5/4/07
to
On May 4, 6:12 pm, Fuzzyman <fuzzy...@gmail.com> wrote:
> On May 4, 5:27 pm, Kaz Kylheku <kkylh...@gmail.com> wrote:
>
>
>
> > On May 2, 5:19 pm, sturlamolden <sturlamol...@yahoo.no> wrote:
>
> > > On May 3, 2:15 am, Kaz Kylheku <kkylh...@gmail.com> wrote:
>
> > > > Kindly refrain from creating any more off-topic, cross-posted threads.
> > > > Thanks.
>
> > > The only off-topic posting in this thread is your own (and now this
> > > one).
>
> > You are making a very clumsy entrance into these newsgroups. So far
> > you have started two cross-posted threads. The first is only topical
> > in comp.lang.python (how to emulate macros in Python). This one is
> > topical in neither one, since it is about Microsoft DLR.
>
> > It's quite possible that some Lisp and Python programmers have a
> > strong interest in Microsoft DLR. Those people who have such an
> > interest (regardless of whether they are Lisp and Python user also)
> > and who like to read Usenet will almost certainly find a Microsoft DLR
> > newsgroup for reading about and discussing Microsoft DLR. Do you not
> > agree?
>
> Given that the DLR is a dynamic language framework, abstracted out of
> the IronPython 1.0 release, and that it also runs on top of the core
> CLR shipped with SilverLight meaning that for the first time sandboxed
> Python scripts can run in the browser...
>
> It would seem entirely on topic for a Python newsgroup.... very on-
> topic...
>
> Fuzzymanhttp://www.voidspace.org.uk/ironpython/index.shtml

>
> > Also note that there is very rarely, if ever, any good reason for
> > starting a thread which is crossposted among comp.lang.* newsgroups,
> > even if the subject contains elements that are topical in all of them
> > (yours does not).
>
> > > Begone.
>
> > You are childishly beckoning Usenet etiquette to be gone so that you
> > may do whatever you wish. But I trust that you will not, out of spite
> > for being rebuked, turn a few small mistakes into a persistent style.


Indeed, the subject is absolutely on-topic.
If can't talk about a so called "Dynamic Languages Runtime" in a
pyhton mailing list, I wonder what it takes to be considered on-topic.
Frankly, this on-topic/off-topic fascism I see in this list is pissing
me off a little bit.

I suggest reading this paragraph right from http://www.python.org/community/lists/:

"Pretty much anything Python-related is fair game for discussion, and
the group is even fairly tolerant of off-topic digressions; there have
been entertaining discussions of topics such as floating point, good
software design, and other programming languages such as Lisp and
Forth."

Luis

Paul Boddie

unread,
May 4, 2007, 6:28:42 PM5/4/07
to
Luis M. González wrote:
>
> Indeed, the subject is absolutely on-topic.
> If can't talk about a so called "Dynamic Languages Runtime" in a
> pyhton mailing list, I wonder what it takes to be considered on-topic.
> Frankly, this on-topic/off-topic fascism I see in this list is pissing
> me off a little bit.

It's less on-topic for comp.lang.lisp, though, unless you want to
perform in a measuring competition with the Lisp crowd whilst hearing
how they did the very same thing as <insert technology here> way back
in the 1950s. Despite the permissive licences - it'd be hard to slap a
bad EULA on IronPython now - the whole thing demonstrates Microsoft's
disdain for open standards as usual, but it remains on-topic for
comp.lang.python, I guess.

Paul

Fuzzyman

unread,
May 4, 2007, 6:33:59 PM5/4/07
to

How do you work that out? It seems like a very positive move from
them.

As for SilverLight, there will probably be a fully open implementation
by the end of the year.

Fuzzyman
http://www.voidspace.org.uk/ironpython/index.shtml

Paul Boddie

unread,
May 4, 2007, 9:15:17 PM5/4/07
to
Fuzzyman wrote:
> On May 4, 11:28 pm, Paul Boddie <p...@boddie.org.uk> wrote:
> > Despite the permissive licences - it'd be hard to slap a
> > bad EULA on IronPython now - the whole thing demonstrates Microsoft's
> > disdain for open standards as usual,
>
> How do you work that out? It seems like a very positive move from
> them.

Well, I don't think the W3C have been *particularly* effective in
defining updated but still relevant standards and bringing them to my
particular part of the big developer table of late, but I think the
different open standards (XHTML, CSS, SVG and so on) have some mileage
in them yet. I'd rather see moderately slow improvement to those
standards than have some break-out group of vested interests (eg.
WHATWG, Microsoft, Adobe) define some pseudo-standard that is even
more tightly bound to their pet implementations than some of the stuff
that gets a W3C blessing (which is how some people could perceive the
W3C standards process).

A permissive licence on the DLR technologies may be positive, but a
cursory inspection of Microsoft's site doesn't reveal much in a
similar vein for the Silverlight technologies. At least technologies
like XUL (which is itself "standards-polluting" if used to deliver Web
applications to the wider public) are the product of an open
development process and have first-class open source implementations.
Still, I'm a cynic about a lot of add-ons to the Web, and I think Sean
McGrath makes a valid point:

http://seanmcgrath.blogspot.com/2007_04_29_seanmcgrath_archive.html#9180786898079500068

Usability isn't always about duplicating the desktop paradigm in a
browser window or encouraging the proliferation of "cool" but closed
technologies which may reveal the glory of an application's "rich"
user experience to those with the latest Microsoft updates, but which
excludes other users for no good reason.

> As for SilverLight, there will probably be a fully open implementation
> by the end of the year.

We'll see. It may depend on how well the Mono people can play catch-up
with Microsoft, but given the sprinkling of potentially optional but
undoubtedly patented technologies (WMA, MP3, and various others, I
imagine), I doubt that "fully open" will ever really apply to any
implementation.

Paul

0 new messages