Hosting IronPython made easier

With 2.0 Beta 5 coming out very soon, there is a new hosting helper class in there called IronPython.Hosting.Python . It has a few helper methods to create a ScriptRuntime or ScriptEngine and adds some Python-specific extension methods to ScriptRuntime and ScriptEngine. Creating a ScriptRuntime the normal way now requires a LanguageSetup as Sesh explains…

12

Passing keyword args to C# methods from IronPython

In Python one can call functions with either the argument itself or a named argument i.e f(3) or f(x=3). Python also provides syntax to absorb excess arguments for either style of argument passing with either * or **. So for example for this function f: def f(x, *args, **kwargs): pass f(3,4,5,y=6,z=7) The value passed to…

1

Static Compilation of IronPython scripts

The ability to compile IronPython scripts into .NET IL and to save them to disk existed in IronPython 1.0 but has been missing in 2.0 so far. With IronPython 2.0 Beta4 this has been added back. Why would I compile dynamic language scripts? There are a lot of reasons to compile scripts into a binary…

18

Turning your .NET object models dynamic for IronPython

Say you want to interop with a .NET library but you also want it to behave like objects in dynamic languages do. You want to be able to add/delete methods/properties to the object dynamically. In python you can do something like this: class x(object): pass y = x() y.z = 42 dir(y) And the dir(y)…

4

Decorators to convert return statements to yield statements

We have this really cool tool that parses a python file into a AST and then morphs it according to some transformation and then spits out python code corresponding to the new AST. I’ve been playing around with it lately to come up with some transformations. One of the things I wanted to do was…

0

DeepZoom in dynamic languages

There’s been a lot of talk lately about the DeepZoom technology in Silverlight 2. If you have seen it yet you should definitely goto HardRock’s memorabilia site. That is a 2 billion pixels image that you see in that 640X480 segment there. Instead of getting all those pixels down the wire and killing your system,…

5

Dynamic dispatch in C#

Charlie Calvert blogged about dynamic support in C# 4.0. I love this for two reasons. One it will enable dynamic language interop and COM automation interop in a much better way, and two it will use the DLR. So if you were writing COM automation interop before this is what you would have had to…

4

Moving to the DLR Team

For the past two years, I’d been working on the Record-and-play feature of Visual Studio Team Test which has been announced with the Rosario CTP. Abhinaba and Anu have blogged about these features here and here. It was quite a pain not being able to talk about it publicly. I will probably post about some…

2