On Wed, 29 Mar 2006, Jonathan Pryor wrote:

On Wed, 2006-03-29 at 13:02 +0300, Tomi Valkeinen wrote:
- More support for dynamic languages. Perhaps there's an unsafe way (read:
you have to know what you are doing) to unload types. Or perhaps a
modified mcs could generate code for dynamic methods. Or something else I
haven't thought about =).

What do you have in mind, exactly?

.NET 2.0 added System.Reflection.Emit.DynamicMethod, largely to target
dynamic languages such as IronPython.  It provides access to an
ILGenerator for a method, and the DynamicMethod + IL + assembly language
is garbage collected in the usual fashion (instead of being tied to an
Assembly, thus necessitating an AppDomain unload to free the memory).

Given IronPython is Microsoft's dynamic-language testbed, and it's
running rather nicely under .NET, I'm not sure how much more needs to be
added to better support dynamic languages...

Hi,

Yes, DynamicMethod is quite a nice feature, and IronPython is a great tool, I've been using them both.

But DynamicMethods have their downside, as they are, in a sense, just plain global static functions. You lose the class structure etc.

I imagine that unloading a type is possible, but it's very hard to ensure that no one will use that unloaded type. But if I implement a framework that handles the type loading and unloading, I could live with the fact that if the core framework bugs, the application will crash.

I think the IronPython guys have problems because of DynamicMethods. DynamicMethods are very good for helper functions, like complied regexp parser, but using them to implement a full object oriented language is not that simple. Of course DynamicMethods are much better than what we had in .Net 1.1 (ie. nothing =).

Also, I don't like python very much, and I'd like the language to be strictly typed. What I would like is a C# with type unloading.

 Tomi
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to