|
|
-
The Dynamic Language Runtime powers IronPython and IronRuby. It contains the following features:
- Hosting APIs - allows embedding of any DLR language as a scripting language inside of a host application
- Extensions to LINQ ExpressionTree - allows language compilers to generate higher level constructs instead of MSIL
- DynamicSite - call-site caching to speed up the performance of dynamic languages
- ActionBinder - utility code to facilitate .NET interop
- IDynamicObject - interface for dynamic objects
- Other compiler utility code
Mailing lists
You can currently ask questions on the IronPython (link) and IronRuby (link) mailing lists. There is currently no dedicated DLR mailing list. Similarly, the sources for the DLR are bundled with the IronPython and IronRuby sources.
Specs, whitepapers,etc
http://msdn2.microsoft.com/en-us/magazine/cc163344.aspx - MSDN article on IronPython and DLR by Bill Chiles. It talks about DynamicSite and ExpressionTrees
http://compilerlab.members.winisp.net/dlr-spec-hosting.doc - Hosting API spec
http://langnetsymposium.com/talks.asp - Recordings of Lang.Net talks
Team Blogs
http://blogs.msdn.com/ironpython - IronPython team blog
http://blogs.msdn.com/dinoviehland - Dino Viehland, IronPython dev
http://jimmy.schementi.com/blog - Jimmy Schementi, IronRuby PM
http://knowbody.livejournal.com/ - Dave Fugate, IronPython QA
http://blog.jredville.com/ - Jim Deville, IronRuby QA
http://blog.tomasm.net/ - Tomas Matousek, IronRuby dev
http://blogs.msdn.com/shrib/ - Shri Borde, Dynamic Languages lead
David DiCato, IronPython dev
DLR languages
http://codeplex.com/IronPython - IronPython
http://ironruby.rubyforge.org/ - IronRuby
http://www.codeplex.com/IronScheme - IronScheme
http://www.codeplex.com/IronLisp - IronLisp
http://www.codeplex.com/Nua - Nua (Lua)
Other links
http://dynamicsilverlight.net/ - DLR for Silverlight 2
http://www.dotnetguru.org/us/dlrus/DLR2.htm - A walk-through of implementing a sample language MyJScript on top of the DLR.
http://www.codeplex.com/DLRScript - Using DLR languages in the Script tag in a HTML page
http://www.bitwisemag.com/2/DLR-Build-Your-Own-Language - A getting-started guide about implementing a new language using the DLR
http://www.codeplex.com/DlrPad - Script XAML with DLR languages
http://www.codeplex.com/chameleon - Use DLR languages with CGI
|
-
-
-
-
I'll be posting the samples from TechEd 2007 later this week and wanted to let you know that this is still on my mind (tho it has slipped from EOD Monday) :)
Mahesh
|
-
We have three very exciting talks (below) at TechEd 2007 in Orlando. In addition we are dynamic languages booth that will have folks from the team that can demo/answer questions you may have. Join us at TechEd!
WEB06-TLC - Developing Data Driven Applications Using the New Dynamic Data Controls in ASP.NET
 Tuesday, June 5 4:30 PM - 5:45 PM, Blue Theater 14
Speaker(s): Mahesh Prakriya, Qing Ye
Track(s): Web Development and Infrastructure
ASP.NET dynamic data controls are part of a powerful, rich new framework that lets you create data driven ASP.NET applications very easily. ASP.NET dynamic data controls do this by automatically discovering the schema at runtime, deriving behavior from the database and finally creating an ASP.NET page. Anything that can be inferred from the schema works with almost no user effort. If needed, the page can then be further customized either by using static languages such as Microsoft Visual C# or Visual Basic .NET or dynamic languages such as IronPython, Visual Basic, Jscript, etc. In this talk, we show you how to build rich, database driven Web applications from scratch, such as TaskList along with other demos.
WEB324 - Dynamic Languages on the Web
 Thursday, June 7 9:45 AM - 11:00 AM, N220 F
Speaker(s): Mahesh Prakriya, Dmitry Robsman
Track(s): Web Development and Infrastructure
After attending this talk you will learn how to use dynamic languages (such as IronPython, Jscript, VBx and IronRuby) in Silverlight and ASP.net. ASP.net and Silverlight are two great example hosts of Dynamic Language Runtime (DLR) and the languages listed above are implemented on DLR. We will first demo in Silverlight, then asp.net and will end with a combined demo of the two!
DEV315 - "IronPython" and Dynamic Languages on .NET
 Friday, June 8 10:45 AM - 12:00 PM, S210 B
Speaker(s): Mahesh Prakriya
Track(s): Developer Tools and Technologies
"IronPython" is the codename for a new implementation of the Python programming language on the .NET Framework. IronPython is fast—in fact, up to 1.8 times faster than Python-2.4 on the standard pystone benchmark. It supports an interactive interpreter with fully dynamic compilation as well as static compilation to produce pre-compiled executables. It's well integrated with the rest of the framework and makes all .NET libraries easily available to Python programmers. This session shows how IronPython brings the power of .NET to Python and the power of Python to .NET. At OSCON 2004, the first public release of IronPython was announced. This session demonstrates the latest IronPython version in a range of situations from using GUI frameworks to driving Microsoft Office applications to working with a variety of external libraries. We also discuss other scripting languages on .NET.
|
-
We've discovered one issue caused by VS SP1 installation recently. After having upgraded to SP1, IronPython disappeared from language dropdown when trying to create a new web project.
The issue is due to a registry key for IronPython under NewProjectTemplate was removed by VS SP setup. Adding it back fixes the problem. To do that, the easiest way is to uninstall and then reinstall "IronPython for ASP.NET CTP".
This happens to Visual Web Developer SP1 as well. Similar work-around applies.
Note, you don't have to do anything if your IronPython web project still shows up after upgrading.
|
-
There are few upcoming talks that I’d like to announce:
First, at the ASP.Net Connections in Vegas, David Ebbo is giving a talk that'll be worth attending and will cover how to use IronPython in ASP.Net applications.
AMS301: Developing ASP.NET Web Applications with IronPython David Ebbo IronPython is a new fast implementation of the Python programming language running on the .NET Framework. While it stays true to the beauty and simplicity of the Python language, IronPython offers Python programmers seamless access to the richness and power of .NET libraries and applications in a fully dynamic environment as well as static compilation to produce pre-compiled assemblies. This session focuses on utilizing the IronPython dynamic language to quickly build full-featured ASP.NET Web applications. You will learn how to use IronPython to add rich scripting support to existing .NET applications and extend new applications with custom Python code. We will also demonstrate how IronPython can be used to combine a wide variety of .NET components and services. This talk is targeted at Python programmers looking to take advantage of the power of ASP.NET and at ASP.NET programmers looking to learn how Python can make building Web applications easier.
Overall agenda is at: http://www.devconnections.com/shows/aspfall2006/default.asp?c=1&s=82
Second, I’ll be giving two talks at Teched Europe in Barcelona.
Nov 9th, 11:45am: Dev206: IronPython and .NET Scripting Languages
'IronPython' is the codename for a new implementation of the Python programming language on the .NET Framework. IronPython is fast – in fact, up to 1.8 times faster than Python-2.4 on the standard pystone benchmark. It supports an interactive interpreter with fully dynamic compilation as well as static compilation to produce pre-compiled executables. It's well integrated with the rest of the framework and makes all .NET libraries easily available to Python programmers. This session shows how IronPython brings the power of .NET to Python and the power of Python to .NET. At OSCON 2004, the first public release of IronPython was announced. This session demonstrates the latest IronPython version in a range of situations from using GUI frameworks to driving Microsoft Office applications to working with a variety of external libraries. We also discuss other scripting languages on .NET.
Nov 9th, 5:30pm: DEVWD26: ASP.NET: Developing ASP.NET Web Applications with IronPython
description is same as above for David's web talk..
Thanks,
Mahesh Prakriya
|
-
This sample, written by Lee Culver, provides a step-by-step, comprehensive tutorial on creating graphical applications using managed DirectX API(s) from IronPython. It will teach you how to:
- Load and render DirectX meshes
- Position, rotate, and move objects
- Auto-track objects with cameras
The readme.htm in the download ( download page: IronPython-1.0-Samples-Direct3D.zip) is quintessential to understanding this sample. It is written in tutorial format and walks you through various exercises that teach you DirectX API manipulation and usage. You do not need prior knowledge of DirectX or WinForms to follow the tutorial, although having some basic Python knowledge is highly advisable. By the time you finish with the tutorial, you should be able to comfortably work with basic Direct3D classes from Python.
|
-
This sample shows developers how to create .NET executables directly out of IronPython scripts. The readme.htm in the download ( download page: IronPython-1.0-Samples-Pyc.zip) will get you started. IronPython’s Hosting APIs can be used to compile Python scripts into DLLs, console executables, or Windows executables. The pyc.py script included in this tutorial leverages these hosting APIs and can be used to compile other Python scripts. It provides a variety of flags such as the ability to specify the target platform of the .NET assembly (e.g., x64). While the assemblies produced by the IronPython Hosting APIs are true .NET assemblies, the dynamic nature of the Python language makes it difficult to use these from other .NET languages. In short, this means that attempting to import Python types into other .NET languages such as C# is not recommended.
|
-
This sample shows how to use PowerShell commands from IronPython by invoking the PowerShell API(s) directly and also by using a nice Python helper class. The samples use both of these techniques to detect whether a host meets some of the minimum system requirements for playing Age of Empires III Trial edition. The readme.htm in the download ( download page: IronPython-1.0-Samples-IPPowerShell.zip) will get you started.
By utilizing managed PowerShell API(s) from IronPython, it becomes downright easy to perform a runtime inspection of the system. As an example, you can determine how much memory your video card has installed on it using only a couple lines of IronPython code. To make working with PowerShell even easier, the “powershell.py” module (included with this sample) allows you to run PowerShell cmdlets in a very elegant and object-oriented manner.
|
-
This sample, written by Brad Dodson, is a music player written in IronPython that uses DirectShow, Windows Presentation Foundation, and COM Interop. The readme.htm in the download ( download page: IronPython-1.0-Samples-IronTunes.zip) will get you started.
When launched, IronTunes presents you with a graphical interface from which you can load any number of music files and begin playing them. Further, you can search through your loaded music collection by typing inside the search field and see your playlist filtered as you type. IronTunes provides the basic playback functionality (play, pause, volume control) by using DirectShow COM APIs from IronPython via COM interop.
|
-
This sample, written by Matt Gruskin, is a frequency modulation synthesizer that uses DirectX and System.Windows.Forms. The readme.htm in the download ( download page: IronPython-1.0-Samples-FMsynth.zip) will get you started.
In the FMSynth UI you can quickly generate tones by clicking on the provided piano keyboard or take more control by specifying a precise frequency and wave type. You can combine several carrier and modulator wave forms together to form more complex musical sounds and effects. You can save your “synth” in an XML file. FMSynth also comes with several sample synth files in the “synths” subfolder which you can load and experiment with.
|
-
This sample written by Ravi Chugh is an IronPython program that builds on top of System.Windows.Forms to create a fun slide puzzle game using maps. The readme.htm file in the download (download page: IronPython-1.0-Samples-Puzzle.zip) will get you started. The puzzle game comes with several maps (games) that you can start with. If you want more challenging maps, Slide Local gives you the ability to choose or create your own map to play with.
The map tiles the program uses are pulled from Virtual Earth tile servers using the System.Net APIs. If the caching option is selected, all downloaded map tiles are saved to the file system, allowing tiles to be rendered much faster the second time around. Enabling caching also allows you to continue to play games when you don’t have a network connection. Keep an eye on the size of the cache folder though since there is no size limit.
|
-
This utility written by Jocelyn Turcotte is an IronPython program that leverages Windows Presentation Foundation (WPF) and System.Windows.Forms to create a handy utility that graphically displays disk usage information. The readme.htm file in the download ( download page: IronPython-1.0-Samples-DiskUse.zip) will get you started.
When the application is first launched, a file dialog prompts you to pick a base directory. This is the directory that will be analyzed. Once a base directory is chosen, the application scans the file system to retrieve the names and sizes of subdirectories and files. The utility displays the directory and file information with a treeview in the left pane and a graphical presentation of the relative file size information in the right pane.
|
|
|
|