Forwarding to [email protected].
I'm not sure I understand what you want to achieve. Could you describe
functionality your framework provides?
Every language that integrates with DLR might use a different way of expressing
late bound calls. C#'s dynamic type is one way of doing that. The code that
actually performs the dynamic dispatch via DLR call sites usually looks like:
// Lazy-initialize a dynamic call-site object; provide a language specific
binder that performs the runtime binding
if (site == null) { site = CallSite<Func<CallSite, T1, .. Tn,
TResult>>>.Create(runtime_binder); }
// call the Target delegate of the site.
result = Site.Target(Site, args);
The runtime_binder for the site carries information about the dynamic operation
available at compile-time. This includes e.g. a method name, the current
accessibility context, etc.
Tomas
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Alexander Morou
Sent: Wednesday, January 05, 2011 6:39 AM
To: Iron Python Mailing List
Subject: [IronPython] Writing a Compiler framework: Static typing use of the DLR
Hello,
I'm not really sure where to ask this question, so I figured I'd ask on the
mailing list of the project that largely started the DLR (assuming memory
serves correctly.) I'm writing a compiler framework, and I was wondering what
kind of work, in AST rewrites I would need to perform, or classes from the DLR
object model I would need to use, in order to support, what C# calls, a static
type dynamic? From what I can tell of C#, it uses its own model to wrap some
of the concepts provided by the DLR, so I'm not exactly sure how to handle the
late-bound dispatch so that it's marshaled by the appropriate language binder
for a given object instance. I could go deeper into how C# does it, but I
don't really like the idea of looking at the code that was written by someone
else (since the only way I can look at it is through a disassembler), my own
code rewritten by C#'s compiler is fine, but the innards of what that code
uses: no.
I understand the basic concept behind the DLR, but it's too complex to go over
with a fine tooth comb. Search algorithms aren't sophisticated enough to ask
questions like this through google or bing (especially on, largely intangible,
intent in code), which is why I ask here. I originally asked Jeff Hardy
(http://jdhardy.blogspot.com/) for insight, and he suggested I look here.
Any insight anyone here can provide into this is appreciated.
Thanks,
-Allen [Alexander Morou] Copeland Jr.
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com