I actually did a school project that was very similar for a compilers class! It was also Hindley-Minler in Ocaml and we tried to basically stuff any random features of a programming language we could into one language, and just compile it to java (because you can do anything with java).<p>Here is the paper we did: <a href="http:&#x2F;&#x2F;www1.cs.columbia.edu&#x2F;~sedwards&#x2F;classes&#x2F;2013&#x2F;w4115-fall&#x2F;reports&#x2F;pubCrawl.pdf" rel="nofollow">http:&#x2F;&#x2F;www1.cs.columbia.edu&#x2F;~sedwards&#x2F;classes&#x2F;2013&#x2F;w4115-fal...</a>
and the full information is available here: <a href="http:&#x2F;&#x2F;www1.cs.columbia.edu&#x2F;~sedwards&#x2F;classes&#x2F;2013&#x2F;w4115-fall&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;www1.cs.columbia.edu&#x2F;~sedwards&#x2F;classes&#x2F;2013&#x2F;w4115-fal...</a> our project was called &quot;pubCrawl&quot;.