[IronPython] Gestalt, IronPython in Silverlight and embedded xaml

Michael Foord fuzzyman at voidspace.org.uk
Thu Apr 1 13:44:03 CEST 2010

On 01/04/2010 04:04, Jimmy Schementi wrote:
>> I mean that if I develop in an html file I can't view it from the filesystem in a
>> browser but must still have a locally running server for the scripts to run.
> Yes, this is true today; I think mainly because dlr.xap depends on downloading Microsoft.Scripting.slvx at startup, and that must be failing from the file-system. If the assemblies were in the XAP, I'm pretty sure it'll work, and I think that's what will happen in the future. http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26672.
> Though, do you really not have a machine that has a web-server running on it anyway, be it Apache or IIS? I like that it doesn't *require* me to use Chiron.

I *never* have a machine running IIS and my Windows VM doesn't have 
Apache setup on it - so as far as I'm concerned I *do* still need Chiron 
running. I can see that being able to use an alternative server is an 
advantage though.

>> This means any backwards incompatible changes are *guaranteed* to break
>> apps using it. :-) What are needed are versioned URLs so that you can specify
>> precisely which version to use.
> The first "Note" in the docs addresses this:http://ironpython.net/browser/docs.html#setup

Ah - I just missed that note. Now you mention it, it is pretty obvious, 
so just me being dense. :-)

> "Note: using the gestalt.ironpython.net version is preferred, especially in production. However, please pick a specific version (like dlr-20100305.js, rather than dlr-latest.js), as this will ensure your application keeps working between releases; dlr-latest.js will always point to the most recent version."
> But I guess that should be called out a bit more obviously?

A list of available versions would be nice, preferably specifying which 
version of IronPython / IronRuby they use and a list of changes in each 

>> Are these [other versions] available, I couldn't find them in the
>> docs but I may just not be looking in the right place.
> The online versions aren't enumerated anywhere, as there's just two:
> http://gestalt.ironpython.net/dlr-20100305.js
> http://gestalt.ironpython.net/dlr-20091120.js
> For the next release I can start maintaining this list on the website.

>> I did think that the docs said all un-scoped scripts were run against the default
>> control, but using an explicit scope is no problem.
> Yes, that's true; un-scoped scripts are run against the "default control", which is defined as the control automatically added to the page when dlr*.js is run, and has a width/height of 1px; basically for DOM-only apps. If you have a XAML script-tag though, that DOM-only control is still added to the page, forcing you to always scope your script-tag if you're using XAML. I guess you assumed the "default control" meant the "first control"? I'm a bit unsure about what the right behavior should be, so I just left it as-is; let me know what you think: http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26673

Ok. I don't like the *idea* of an extra invisible Silverlight control 
but am prepared to take your word that it isn't an issue in practise. My 
'skimming' (i.e. not reading properly) of the docs implied to me that 
all unscoped scripts would run in the same control - but in fact if you 
have a xaml script that *has* to create a new control. So unscoped 
Python scripts all run in the default (invisible) control and unscoped 
xaml creates a new control that isn't then used by code.

I don't have concrete suggestions for making this clearer - other than 
to strongly recommend in the docs that all code / xaml is scoped.


> ~js


READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.

More information about the Ironpython-users mailing list