[IronPython] Exporting Python code as an assembly
Michael Foord
fuzzyman at voidspace.org.uk
Mon Feb 4 20:07:03 CET 2008
Curt Hagenlocher wrote:
> The assemblies call into the IronPython engine (version 2) to load and
> execute the script. Currently, the script is loaded from the file
> system, but I'd eventually like to support embedding any
> required scripts as resources in the assembly, so that the whole thing
> can be distributed as a single neat package.
Great - you beat me to it. :-)
If you make this open source then I'll be happy to help on it.
Michael Foord
http://www.manning.com/foord
>
> On Feb 4, 2008 10:55 AM, Michael Foord <fuzzyman at voidspace.org.uk
> <mailto:fuzzyman at voidspace.org.uk>> wrote:
>
> The interface is pretty much exactly what I had in mind for a similar
> system.
>
> What do the statically defined assemblies do - do they call into the
> IronPython engine - and if so, for IronPython 1 or 2? If not then are
> you just compiling Python to static assemblies?
>
> To my mind the former is more interesting than the latter... (Although
> both are interesting of course...)
>
> Michael
> http://www.manning.com/foord
>
>
> Curt Hagenlocher wrote:
> > After a bit of spare-time hacking this weekend, I've got a
> > "proof-of-concept" program that takes a Python class and exports
> it as
> > a (statically-defined) assembly. It uses Pythonic function
> > annotations to signal attributes and input and output types to the
> > wrapper generator. You end up with something like this
> >
> > def Test(object):
> > @ClrAttribute(Xunit.FactAttribute)
> > def WorthlessTest(self):
> > Xunit.Assert.Equal[type(1)](1, 1)
> >
> > @ClrAccepts(System.String, System.Int32)
> > @ClrReturns(System.Int32)
> > def CalculateValue(self, s, i):
> > return len(s) + i
> >
> > The program takes this source and spits out a DLL containing the
> class
> > "Test" which implements "WorthlessTest" and "CalculateValue". The
> > class itself contains a reference to the actual Python object, and
> > each of the public functions simply delegates to the Pythonic
> > implementation.
> >
> > I'm still working on cleaning up the source a little before
> releasing
> > it, but was wondering if anyone had some feedback on the design as
> > described so far. What should be changed or implemented in
> order for
> > this to be more useful to you?
> >
> > Thanks,
> > -Curt
> >
> > --
> > Curt Hagenlocher
> > curt at hagenlocher.org <mailto:curt at hagenlocher.org>
> <mailto:curt at hagenlocher.org <mailto:curt at hagenlocher.org>>
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> >
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
More information about the Ironpython-users
mailing list