I skipped blogging about the last release mainly because I have been busy trying to find work (as well as preparing for a training I'm doing this month). Anyway, I thought I should put out a little update, so my readers know that I have made a new release.
New Language!
If you've seen the download page you will notice that I have a new language, and no, it's not the language I wanted to add. It's not Ruby. I figured out how to get DLR JScript (and I'm calling it that so as to not confuse it with JavaScript the client-side code -- which exposes some objects to DLRScript)
Object Cleanup
With the last release I cleaned up a little code, and renamed the DomHelper object to jsapi. I'm still not 100% thrilled with that name, but for now it works. Basically this object exposes certain DOM functionalities to DLRScript languages as well as exposes a couple JavaScript (client-side) functions/features like alert, confirm, prompt, and eval (although the latter still seems to be working a little strangely). I will be adding setTimeout/clearTimeout once I have the time. They are there, but not very usable (or useful). You can probably use setTimeout, but won't be able to stop it, and only against client-side (non-DLR) JavaScript functions. At some point I'll make it possible to hook up your DLRScript language's functions to setTimeout/clearTimeout
I also felt like I should respect the camel-case of aspect of JavaScript, so I switched the functions to camel-case (first character is lowercase then the first char of each "word" is uppercase).
Additional Object abstraction
I normally wouldn't do this, but I needed to do this so I could begin to introduce a few streamlined properties. Here's the objects:
You can probably guess that HtmlObject is a parent to the other two (and you would be correct). One of the things I introduced was a cross-browser "text" property for all objects returned from a getElementById (or the document object).
This also let me enable a number of pieces of functionality you would fully expect (stuff like attaching/detaching events, adding/removing new elements/attributes, reading/setting properties/tag attribute/styles, etc.
I will eventually start beefing this up so that you don't have to resort to using the function to read a property (or to read a style)
What's next?
Well, I really, really, really(!!) want to get IronRuby working. I'm hoping that after Mix08 that should be a little easier to do. Once I do that then I think I'll do a little bit of work on the object model, and will start looking at adding things like communications support. I also NEED to get the script tags to load DLR scripts from the web server (and more importantly cache them!)
I also want to test inter-language communication... maybe Python is better at a task then say Ruby (not sure, so don't be shooting me over the comment), but you want to create more of a DSL (which Ruby is stellar at)... You could potentially write some functions in Python and use them from Ruby.
So basically I have my work cut out for me... Oh yeah, the DLRScript Project is here. It comes with a couple sample files for you.
Print | posted on Tuesday, March 04, 2008 4:58 PM