archives

Dynamic interactivity in Mathematica 6

From http://www.wolfram.com/products/mathematica/newin6/

Building on two decades of world-class algorithm and software development, Mathematica 6 represents a dramatic breakthrough that immensely broadens Mathematica's scope and applicability—and redefines the very way we think about computation. Made possible by Mathematica's unique symbolic architecture, Mathematica 6 introduces a sweeping unification of language and interface concepts that makes possible a new level of automation in algorithmic computation, interactive manipulation and dynamic presentation—as well as a whole new way of interacting with the world of data.

By looking at the demos and documentation, it looks like they provide constructs to interact with functions; e.g., by being able to view or fiddle with symbolic expression parameters. This functionality seems to be tied up nicely in an interactive shell. Something to play around with.

Microsoft's new Dynamic Language Runtime (DLR)

From Jim Hugunin's blog:

The CLR has good support for dynamic languages today. IronPython-1.0 demonstrates this. The new Dynamic Language Runtime (DLR) adds a small set of key features to the CLR to make it dramatically better. It adds to the platform a set of services designed explicitly for the needs of dynamic languages. These include a shared dynamic type system, standard hosting model and support to make it easy to generate fast dynamic code. With these additional features it becomes dramatically easier to build high-quality dynamic language implementations on .NET. More importantly, these features enable all of the dynamic languages which use the DLR to freely share code with other dynamic languages as well as with the existing powerful static languages on the platform such as VB.NET and C#.

This is being packaged as part of Microsoft's Silverlight initiative, where JavaScript, IronPython, and in the future Ruby, are being put forward as languages for building rich cross-platform web clients. It will be interesting to see what they've included in the DLR when the documentation is released.

Is Integer wrapping an exceptional condition?

Is there any language that throws an exception when an integer wraps around?

I am curious, why even strongly typed languages like OCaml allow integers to wrap around. Why isn't integer wrapping considered an inconsistent state? Is lack of support from hardware the reason why it is not implemented? (I think we can use the overflow flag to detect integer wrapping. Is this the right way to do it?)

Any pointers (like papers or articles) on this topic will be helpful.

SICP picture

I finished reading SICP today so I made this picture to sum up the incredible experience: The SICP experience
:D

How about you? What did you do after reading SICP?