Joe3 is a class-based object-oriented programming language with read-only references, immutablility and context-based read-only. Joe3 extends Joline and thus sports deep ownership types and external uniqueness. Joe3 is described in our IWACO workshop paper Ownership, Uniqueness and Immutability (2007). We have implemented Joe3 using the Polyglot extensible compiler framework.
The compiler is available upon request.