The Blog

28 Aug 2004: 0.2.0 and new type inference engine approaching

Summer voyages has ended and we're working hard before 0.2.0 release. A few high priority bugs remain open. We're going to fix them before 0.2.0. The aim of this release is to get better CLS integration (hopefully Nemerle should get status of a full CLS producer and extender). Release notes are almost complete.

I (Michal) have been working on a new type inference engine. There will be probably lots of work with pen and paper, but I seem to know how to solve the subtyping equations now. Finally got the details an hour ago...

The new engine should type the following code just fine:

class B {} class X : B {} class Y : B {} [X (), Y ()] // now: [(X () : B), (Y () : B)]

This is the most important problem with the current engine -- it cannot use more general type, once the type variable is substituted. The other problem is code quality -- it really needs rewrite.