Environment:
- Visual Studio Orcas Beta 1.
- Windows XP
- TestDriven.Net 2.7 Beta.
- Reflector 5.0
- Silverlight 1.0 Beta 1.
- IronPython 1.1.
- Managed JScript.
- ASP.Net Futures May CTP.

Yeah I know, this environment setup looks like a Frankenstein lab.

Notes: This post will be updated throughout the day as I find new thing in the conversion effort. Cairo is hot today anyway and there's nothing to do but hacking.


1. Test Driven beta supports Orcas Beta 1 integration. I have been holding off converting one of our application to C# 3.0 due to lack of support from Test Driven.
2. IronPython 1.1 integration works great
3. Managed JScript compiler is written in Visual Basic .Net.
4. Partial Method is yet supported in Beta 1.
5. Anonymous Types and Python works fine together.
6.  NUnit works with Lamda Expression code.
7. You can call C# 3.0 style Func<> just fine from Python.
8. Passing Python Lambda to Func<> just works
          C# 3.0 signature:
               public static string Evaluate(Func<string, string> func, string output)
              {
                    return func(output);
               }
        
   IronPython call :
        Response.Write(Core.Evaluate(lambda x: x + " in cairo", "Nothing is better than swimming "))

Yay. Happy Dance !!

9. You can mix and match 2.0 and 3.5 assemblies without any problem.
10. Extension method rocks.
11. Jasper is designed for IronPython or Managed JScript. C# 3.0 looks ugly using Jasper.
12. Hosting API in IronPython 2.0 totally breaks IronPython 1.1. (Q#$#$@@#!)
13. Dynamic ASP.Net works just fine with VPP (Virtual Path Provider)
14. IronPython 2.0 is missing PythonEngine.CreateMethod and PythonEngine.CreateLambda methods. Darn.
15. PythonEngine.Globals no longer exists. You have to create IScript module object, pass the Dictionary<string,object) and use them when you call evaluate methods (such as EvaluateAs<>)
16. ClrModule.Import no longer exists.
17. ClrModule has been moved to Microsoft.Scripting.

Alright I am getting mad. IronPython 2.0 has DLR and all that jazz but right now it seems they screw up a lot of cool stuff in the hosting API.

Why don't you use IronPython 1.0? Well, it's easy, because I am trying to bloody integrate my backend IronPython hosting code with ASP.Net futures which runs on IronPython 2.0. I cannot have the backend hosting in IronPython 1.0 and the front end in IronPython 2.0. It just doesn't work.

Anyway, the port is done and it's actually a smooth experience other than the IronPython hosting issue. Right now my app has a crippled IronPython backend hosting. That's for another day to tackle.