Friday, March 31, 2006

Gold Falcon

I saw a little display in Birchall's today advertising the imminent release of Katherine Kerr's latest book Gold Falcon (excerpt). This is very, very good news — if they're sending posters out to bookshops, then it's all but certain to actually ship!

Permission-based ownership: encapsulating state in higher-order typed languages

Permission-based ownership: encapsulating state in higher-order typed languages by Neel Krishnaswami and Jonathan Aldrich. In PLDI'05.

I'm still puzzling through the examples, but it looks pretty cool. The essential idea is to use the type system (an extension of System F with references and ownership called System Fown) to ensure that the internal details of modules cannot be messed with.

They give an illustrative example involving customers in one domain, banking machinery in a second and account details in a third. The customers are allowed to call the banking machinery, and the banking machinery can access the account details, and all other access is invalid. The goal of System Fown is to prove these sorts of properties.

ACM | Google | Del.icio.us | CiteULike

Wednesday, March 22, 2006

Google Page Creator

I just got an email telling me that I've got a Google Page Create account.

I've got a demonstration page up at http://thsutton.googlepages.com/home.

Tuesday, March 21, 2006

Essential Language Support for Generic Programming

Essential Language Support for Generic Programming by Jeremy Siek and Andrew Lumsdaine.

This paper presents an extension of System F called System FG. The motivation for the work is in the construction of generic algorithms and, more importantly, the verification of their use. It looks to me as though the authors have taken a little bit too much of C++ on board.

The concepts of the paper are very similar to Haskell's type classes (according to section two, the main difference is that type classes are designed to allow Hindley-Milner type inference) and the associated types seem to me to be filling a similar role as functional dependancies. I found it rather interesting and it's the first type system paper I've read since I achieved a vague understanding of type systems.

ACM | Google | Del.icio.us | CiteULike | LtU

Sunday, March 19, 2006

An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes

An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes by Craig Chambers, David Ungar, and Elgin Lee. (PS)

I read this paper for a compulsory milestone papers course at the ANU Department of Computer Science. In it, the authors describe the techniques used to implement that the SELF efficiently. SELF was unusual (and still is, in some respects) in that it was a dynamic, prototype-based object-oriented language. The techniques pioneered by the SELF team formed the foundation upon which most modern virtual machines, including the various JIT technologies for Java, are built.

This paper and SELF have been discussed at Lambda the Ultimate on a number of occasions.

DOI | ACM | Google | CiteULike | Citeseer

Jingle Bells: Solving the Santa Claus Problem in Polyphonic C#

Jingle Bells: Solving the Santa Claus Problem in Polyphonic C# by Nick Benton.

This paper presents the solution to the Santa Claus problem in the Polyphonic C# language. Polyphonic C# is an extension of Microsoft's C# language with concurrency primitives based on those of the join calculus. It was intended for use in "orchestrating distributed applications built on asynchronous messaging," but is "equally applicable to programming with multiple threads in a shared-memory environment."

This is, the authors claim, another piece of evidence supporting the claim that the join calculus is an effective basis for concurrent, as well as distributed, programming.

Google | Del.icio.us | CiteULike | LtU

Harry Potter and the Half-Crazed Bureaucracy

Harry Potter and the Half-Crazed Bureaucracy by Benjamin H. Barton.

An interesting paper from the Michigan Law Review. The author interprets the Harry Potter books as presenting a particular view of government (libertarianism) based on J. K. Rowling's rendering of her fictional Ministry of Magic. The structure, corruption and abuses by the Ministry of the populace (and Harry and his friends in particular) are presented, if I recall correctly, as an allegoric parallel of the U.S. and U.K. governments. I'm not sure how much of this aspect of J.K.R.'s work is intentional but, Barton's analysis is certainly compelling (even if I don't agree with the politics of conclusions he reaches).

SSRN | CiteULike | Del.icio.us

Saturday, March 18, 2006

Recursive functions of symbolic expressions and their computation by machine, Part I

Recursive functions of symbolic expressions and their computation by machine, Part I by John McCarthy.

A milestone paper in computer science, this is one of, if not the, first LISP paper. This contains one of the earliest descriptions of garbage collection, functional programming and several other topics. It doesn't contain anything particularly enthralling for modern readers, but that is due to the fact that everything that is in it has been absorbed into every aspect of modern computer science.

One thing that I found interesting was the syntax given for conditional expressions:
(p1 → e1, …, pn → en) where pi is a propositional expression (one that is either true of false) and ei is an arbitrary expression. The value of a conditional expression is that of the first ei such that pi is true (or is undefined).

This is quite similar to the description of structures in the ρ-calculus given in Matching Power.

ACM | DOI | CiteULike

On the Revival of Dynamic Languages

On the Revival of Dynamic Languages by Nierstrasz O, Bergel A, Denker M, Ducasse S, Gälli M, Wuyts R.

This paper reads a little like propaganda for dynamic languages. The discussion on Lambda the Ultimate (linked below) raises some interesting points and points out some of the inconsistencies in their argument (static languages can't prove everything, so let's use dynamic languages which prove nothing).

That aside, the authors do discuss some interesting language features. First-class namespaces can be used, as they describe, to implement horizontal sub-classing (a compelling use case has been discussed on LtU). Similarly, their desire for pluggable type systems seems a little reminiscent of the approach that the PyPy project has taken with object spaces. On the other hand, I don't really like their suggestion that image-based languages are the way to go (I much prefer to write code in my favourite editor, manage it using my favourite version control system, etc.). All up, it's an interesting read (if only for the descriptions of the various language features the authors like).

DOI | CiteULike | Del.icio.us | LtU

Monday, March 06, 2006

Maria-sama ga Miteru Novel English Translation Project

Some of my favourite anime and manga are based on Japanese novels which can be quite frustrating: anime and manga are accessible by dint of fan translation efforts, but translations of novels is pretty rare. That is why Geoff Zichterman's Maria-sama ga Miteru Novel English Translation Project is so awesome: he has managed (with assistance) to translate the entirety of the first volume of KONNO Oyuki's Maria-sama ga Miteru.

This has inspired me to make a somewhat belated new-years resolution: by the end of 2006 I hope to be able to read this book in Japanese.

Del.icio.us

Friday, March 03, 2006

Podcasts

Playing with Del.icio.us in the sidebar made me realise that I really ought to list the podcasts that I subscribe to. Here then is a list of my listening habits:

  • All in the Mind from ABC Radio National
    Delving into all things mental: the latest research and expert commentary on our brains and behaviour.
  • Books and Writing from ABC Radio National
    Books and Writing is the foremost national literary program broadcast throughout Australia. It features in-depth discussions focusing on books, ideas and writing.
  • By Design from ABC Radio National
    Alan Saunders looks at how we shape our world, from the ground up.
  • Craphound.com: The Literary Works of Cory Doctorow by Cory Doctorow
    Short-stories in progress by an award-winning science fiction writer, read aloud in small regular chunks.
  • The Nature Podcast
    The Nature Podcast provides insight and context to groundbreaking research, and allows the scientists to explain the significance of their work in their own words.
  • Ockham's Razor from ABC Radio National
    Thoughtful people have their say, without interruption, on important science-related topics.
  • The Science Show from ABC Radio National
    RN's science flagship: your essential source of what's making news in the complex world of scientific research, scandal and discovery.
  • Sunday Night Safran from Triple J
    John Safran and his guests (including regular Father Bob) talk an amusing mix of religion and politics. We've taken the program, and edited the music out to a 60-70min program.
  • Raw Comedy from Triple J
    We bring you selected highlights from the Raw Comedy Festival heats and finals from around the country. These range in length (and quality) but are usually no longer than ten minutes.

Wednesday, March 01, 2006

Designing Effective Step-By-Step Assembly Instructions

Designing Effective Step-By-Step Assembly Instructions by Agrawala M, Phan D, Heiser J, Haymaker J, Klingner J, Hanrahan P, Tversky B. In ACM Transactions on Graphics, 2003.

My first CAD class today reminded me of this paper; I can't remember how I came across it, but it was quite interesting. It's in my stack to re-read and I'll post more about it when it pops off the top.

DOI | ACM | Google | Del.icio.us | CiteULike