Bitter Coder
sour code and astringent experiences
Wednesday, May 02, 2007
Things I'd like to know about the DLR, but don't...
Has anyone had a chance to really dig into the DLR??... I've briefly browsed the source code in IronPython 2.0 for the Microsoft.Scripting project, it looks promising... but I really need to sit down and write myself a simple little DSL from end-to-end to get a handle on it (when I get time, I'll be sure to post a mini-series on it ;o)
Things I have been wondering though are:
Is it possible to decorate dynamic classes with attributes yet? (i.e. create say an WCF message class and decorate it with [DataMember] attributes dynamically) - no attribute support in IronPython 1.x was a problem for
Ivan
a while ago.
Are continuations supported (and how) ?
Just how well does the language mixing work... Can I grab an instance of an IronPython class and change just a single instances methods using features particular to (Iron)Ruby
I'd love to know a few things, but just don't have the time at the moment to find out right now.
Also I wonder if pushing IronPython & IronRuby into the mainstream is going to see a surge in interest for projects like
FePy
? I still feel the value proposition for a lot of the dynamic languages on the CLR/DLR is weakened by the fact that the BCL isn't as much fun to use from a dynamic langauge as the native equivalents for the ruby or python (or certainly makes it difficult to port python or ruby knowledge of the managed equivalents) ... I'm sure I could write a YAML parser in C# that would be "good" - but it's not going to feel as nice to use as say Why's
Syck
parser which is built with dynamic languages in mind.
IronPython
|
IronRuby
|
DLR
posted @ Tuesday, May 01, 2007 8:46:06 PM (New Zealand Standard Time, UTC+12:00)
Comments [2]
|
Trackback
|
Tuesday, May 01, 2007 10:46:24 PM (New Zealand Standard Time, UTC+12:00)
We haven't really done any work on generalizing class creation in the DLR yet. This would correspond to IronPython's NewTypeMaker class which stil lives in Microsoft.Scripting.Vestigial (which is basically things which haven't been fully DLR-ized yet). We also haven't yet added support for adding attributed methods in IronPython either. So that's basically a no for multiple reasons.
We also don't have any continuation support. We could possilby do this for sequences which consisted of only script code but we'd need CLR support to do anything more complex.
If you were to grab an arbitrary mutable object from IronPython you could mutate it and add arbitrary objects to it from another language. There's questions about what are 1st class objects in other languages that I don't know deep enough. But given a fictional language that has 1st class functions you could assign that onto a Python object. How that object gets called will be interesting (Python doesn't implicitly flow this, whereas the calling language may. Therefore you'll get the calling languages behavior)... I think this might be one of the things Jim will blog about soon.
Dino Viehland
Tuesday, May 01, 2007 11:28:11 PM (New Zealand Standard Time, UTC+12:00)
Thanks for the comments Dino :) you must be having a lot of fun at the moment!
Attributes are understandably tricky - I guess I'm just interested in the interoperability story in the short and long term... at this point we cant really write everything we currently do with say C# in a dynamic language like IronPython ... will the DLR move towards reducing the gap over time, so that existing technologies like WCF are easier to work with from dynamic languages, and how soon could this be expected?
Also with regards to things like Continuations (Which to be honest don't really matter to most of us morts :) - is there a time line for getting support in the CLR to nurture these kinds of dynamic language friendly features?
Getting the calling languages behavior makes sense... but I wonder if that might cause problems when interoperability (i.e. consuming a ruby library from python, where say a factory used to create the ruby object is actually changing the functions on a per-instance basis, but from python we end up falling through to a default missing method function). Opposite might be true for say the way IronPython handles multiple inheritance vs another dynamic language like VBScript.
I'll keep any eye on Jim's blog... Are you going to start blogging again yourself Dino?
Alex Henderson
Comments are closed.
© Copyright 2008 Alex Henderson
Theme design by
Bryan Bell
newtelligence dasBlog 1.9.6264.0
| Page rendered at Saturday, November 22, 2008 2:42:59 AM (New Zealand Daylight Time, UTC+13:00)
Search
FeedCount
Tags...
.Net (82)
.Net Reactor (4)
.net user groups (9)
2008SummerRoadTrip (1)
ActiveRecord (1)
architecture chat (54)
ArchitectureCamp2007 (2)
asp.net (1)
Astoria (1)
Auckland (1)
base4 (9)
batching (1)
binsor (1)
blog (4)
books (1)
C# 3.0 (9)
cambodia (9)
CAML.Net (1)
castle (39)
china (8)
codecamp (2)
codeplex (3)
dapper.net (1)
DevDefined Ltd. (4)
DirectShow.Net (1)
DLR (1)
DSL (3)
EAUG (1)
Enterprise Architect (5)
Enterprise Library (1)
F# (1)
feedburner (2)
Friendster (1)
generics (1)
googlegears (1)
hacks (3)
hardware (3)
hongkong (2)
hyper-v (1)
ideas (1)
IoC (21)
IronPython (13)
IronRuby (2)
jobs (1)
Languages (2)
laos (8)
LINQ (7)
LiveId (1)
LLU (1)
Local Government (1)
MDA (1)
MDD (1)
microsoft (1)
Model Driven Development (1)
mono (1)
monorail (2)
Movies (1)
Music (1)
nDepend (1)
news (1)
NHibernate (2)
NUnit (2)
nvelocity (1)
OAuth (6)
office (1)
OpenSocial (1)
orcon (1)
photos (1)
php (1)
PostSharp (1)
powerpoint (1)
presentations (1)
ReSharper (1)
REST (2)
rhino commons (2)
rhinomocks (5)
Ruby (1)
SaaS (1)
scm (1)
Screen Architect (1)
SharePoint (5)
silverlight (1)
Splicer (4)
SQL2008 (1)
supcom (1)
svn (1)
Syzmk (4)
thailand (6)
Tools (2)
Tortoise SVN (1)
trac (2)
Travel (36)
Unity (2)
vietnam (7)
vista (2)
vmware (1)
volta (3)
VS2008 (1)
WCF (3)
wiki (2)
wikipedia (1)
Windows Server 2008 (1)
windsor (6)
WinForms (1)
wix (2)
WPF (2)
xmlrpc (1)
yahoo pipes (1)
Who am I?
Alex Henderson
Auckland
, New Zealand
Managing Director at
Dev|Defined Limited
"Self Confessed Coding Junky for 15 years"
Mobile:
+64-21-402-969
Email:
bittercoder 'at' gmail 'dot' com
MSN:
bittercoder_nz@hotmail
Skype:
alex.devdefined
Navigation
My Bookmarks (Delicious)
My GoogleReader - shared items
My Photos on Flickr
My Wiki
Catch NZ Limited
DevDefined Limited
tools.devdefined.com (Trac site)
New Zealand DotNet User Group
Screen Architect
Seismic Technologies (Syzmk)
Splicer - The .Net Video Splicing Library
On this page....
Blogs I read by New Zealanders...
Alex James
André Meurer @ Olympic Software
Andrew Dixon
Andrew Peters
Bennie Johnston
Blog:: Craig Pringle
Blogging is probably just a fad, but just in case...
Buzzrick's TileEngine Game Platform
Chris Auld
Chris Crowe's Blog
Chris Johnson
Clifton Johnston
Code Climber
Craig Box
Daniel
Daniel Wissa
Darryl Burling
Dave Dustin
Duncan Bayne
Floyd Burgess
Gabriel Smith
Geekzone blog
Grant Archibald
Grant Drake
Ivan Porto Carrero
Ivan Towlson
Jeremy Boyd
Jithen Singh
John-Daniel Trask
Josh Hektor
Juha Saarinen
Keith Nicholas
Kevin Daly
Mark Rees
Maruis Marais
Mauricio Freitas
Mindscape
My Blog (Alex Henderson)
Nathan Mercer
Nic Wise
Nick's Blog
Nigel Parker
Paul Andrew
Paul Lo
Peter Jones
Phil Cockfield
Public Address
Rod Drury
Sean McBreen
Simeon Pilgrim
Software Development and stuff
Stefan Schulz
Steve Schapel
Steven Kempton
The Blog of Dave5
The Book Diary
The Voice Of Reason New Zealand
Thoughts from Mirality
Tim Haines
Blogs I read on Castle...
Andrew Hallock
Ayende
Brian Romanko
Dan Bunea
Dru Sellers
Eleutian SpeakENG Development Blog
Gabriel Schenker
Hamilton Verissimo
Insane World
Insert Catchy Title Here
Jeff Brown
Ken Egozi
Marc-André Cournoyer's blog
Matt Berther
Nick Parker
Roy Osherove
Roy Tate
Technorati: http://castleproject.org
Wendy Friedlander
BlogMap
Del.icio.us
Wishlists
Sign In