Thursday, June 12, 2008

Exciting Times at PLT Scheme - PLT Scheme 4.0

While I've been developing apps in PLT Scheme lately I haven't really been following the 4.0 effort. Though, today I read their Coming Soon Announcement. I have to say, I'm impressed.

4.0 appears to be a bit risky in the way they chose to tackle implementing Scheme. As explained in the post, the previous versions of PLT Scheme worked as follows:

PLT Scheme was originally conceived as R5RS Scheme with some extensions to make it practical, and with useful tools (notably an IDE) and libraries (notably a GUI library) built on that core.

This is the classic approach to Scheme - nail the core, then add on to it. But 4.0 is a different:

Version 4.0 is a fresh start in the way that we present PLT Scheme. It’s a new language. PLT Scheme is a dialect of Scheme, certainly, but it’s not merely a superset of R5RS, R6RS, or other standards, and those standards are not really the best place to start understanding PLT Scheme. At the same time, the unique extensibility features of the PLT Scheme language and tools allow them to support other languages easily, including R5RS (though a new plt-r5rs executable), R6RS, and more.

So, PLT Scheme is their own flavor of Scheme - with the ability to be morphed into one of the standards. Very interesting, and I think gutsy. By programming in PLT Scheme, I'm drifting farther and farther away from the other Schemes out there. Of course, by using PLT Scheme I'm also using a language which is more production ready / feature rich than just the core Scheme.

As for what's new in 4.0 besides the development philosophy, we have:

Improvements to the PLT Scheme language include better syntax for modules, better support for optional and keyword function arguments, more expressive syntax for structure types, streamlined hash-table operations, new syntax for list comprehensions and iterations, a more complete and consistent set of list and string operations, and reduced dependence on mutable pairs. To current users of PLT Scheme, these changes will seem like the big ones behind version 4.0, but they’re small compared to the overall re-organization and the accompanying documentation effort.

Oooh, that all sounds like good stuff. Time to head over to the 4.0 docs area for some light reading.

They've also provided a nice, graphics based, tutorial which is a good read for anyone who's still not quite on board with this Scheme stuff, or if you're like me and want to see some 4.0 PLT Scheme in action.

Congrats to the PLT team, seems like their hard work is really paying off!

No comments:

Post a Comment