LEGAL PROGRAMMING. (Communications of the ACM, 2006)