After having spent the last few days on understanding PyPy's JIT, today I went back hacking the clr module. As a result, it is now possible to import and use external assemblies from pypy-cli, including Windows Forms
Here is a screenshot of the result you get by typing the following at the pypy-cli interactive prompt:
>>>> import clr >>>> clr.AddReferenceByPartialName("System.Windows.Forms") >>>> clr.AddReferenceByPartialName("System.Drawing") >>>> from System.Windows.Forms import Application, Form, Label >>>> from System.Drawing import Point >>>> >>>> frm = Form() >>>> frm.Text = "The first pypy-cli Windows Forms app ever" >>>> lbl = Label() >>>> lbl.Text = "Hello World!" >>>> lbl.AutoSize = True >>>> lbl.Location = Point(100, 100) >>>> frm.Controls.Add(lbl) >>>> Application.Run(frm)
Unfortunately at the moment you can't do much more than this, because we still miss support for delegates and so it's not possibile to handle events. Still, it's a step in the right direction :-).