archives

The Next Mainstream Programming Languages

I didn't see anyone post them yet, so here are the slides from Tim Sweeney's POPL talk entitled "The Next Mainstream Programming Languages: A Game Developer's Perspective". I know Tim and I aren't the only game developers who follow LtU, and I figure even non-game developers might find them quite interesting!

http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt

G'Caml comes of age

G'Caml, which extends O'Caml with overloading, has been around since O'Caml 2.0something. It is now updated with its own source code (no more patching!) and some new features (generic primitives?) that I don't understand.

I think I remember seeing Simon Peyton-Jones predict somewhere that ML would grow type classes. Will G'Caml metastasize?

The essence of ML type inference

The essence of ML type inference is an expanded version of Chapter 10 of the beloved Advanced Topics in Types and Programming Languages. It weighs in as the heaviest non-dissertation, non-book academic paper I've ever seen, but it's still a great introduction to HM type inference with some extensions.

The extensions are based on contraints, and are closely related to HM(X) and Chameleon. Along the way, the authors deal with row types, equirecursive types, and subtyping. Fun for the whole family!

Type Refinements for Programming Languages

Type Refinements for Programming Languages is the web page for a graduate course at CMU. It is full to the brim of great papers about PL theory, including some things we talk about here, like Soft Type Systems, Dependent Types, and Polymorphic Type Inference.

A New Haskell and those anxious to change

Haskell' (pronounced "Haskell prime") is being formulated while we sleep. While the committee wants to incorporate into the new standard only "tried-and-true language features", a quick glance at the mailing list shows quite a few unimplemented ideas being tossed around.

The same thing happens with the C++ standardization process. Is it a good idea to keep language standardization conservative? Herb Sutter would perhaps argue so, since the export feature in C++98 was so rarely implemented.

So, is conservatism right for C++0x? Is it right for Haskell'?