I believe the F# pattern matching feature is called Active Patterns. The idea of patterns as reusable and extensible classes in Newspeak sounds great. If the syntactic footprint of this feature is low then why not. Pattern matching is a pretty pervasive feature after all.

I'd like to try out the Newspeak Hopscotch IDE at some point in time, if it's publicly available to try out.

 

Now about the connection between {C,D}LR, JVM and Newspeak, it sounds from Gilad's description like there's a very long way before Newspeak can become a natural citizen of either platform in terms of their intermediate languages (MSIL, Java bytecode). The Java dynamic invoke is perhaps just bytecode support for dynamic invocation, which then doesn't address the more demanding class dynamism Gilad mentions.

 

The Spur research prototype, previously presented on 9, is impressive, however I wonder how well it optimizes when one starts messing with prototypes, adding and removing functions to objects and prototypes. That said, the idea of pay for play is great: if you don't do very dynamic things, you don't pay much and dynamism is optimized away.

Newspeak capability based security is truly elegant but in terms of Javascript, as Gilad mentions when you can't even protect object members and have to resort to tricks like closures, it's not really adequate - it's a hazardous zone to move around in without closures and with them, it's inefficient.

 

I wonder if Microsoft research on low-level typed assembly language (TAL) is the way forward; how will that mesh with dynamic languages and verification requirements. Can you potentially rewrite and host the CLR on TAL? And perhaps create new dynamic run-times that interoperate on the TAL level. That sounds like a good topic Charles!

 

Now looking forward to the Jonathan Shapiro interview!

 

Thanks Smiley