non/kind-projector — pull request #4 by non (2014-12-05 04:06:01+00:00)
Title: Use beautiful unicode identifiers.

This commit changes the way type lambdas are encoded.
Currently, the encoding looks like this:

Function2[?, Int, ?] becomes:
({type L_kp[X_kp0, X_kp2] = Function2[X_kp0, Int, X_kp2]})#L_kp

With this commit, it would instead be:
({type Λ[α0, α2] = Function2[α0, Int, α2]})#Λ

Benefits of this change:

1. Encoding looks better.
2. Error messages are much cleaner.
3. Closer to existing community conventions.

Drawbacks to this change:

1. Requires users to be able to display unicode.
2. Complicates using types named "Λ", "α0", etc. with kind-projector.

Overall, I think this would be a win, but I'll have to canvas opinions.