Hi,

The manual talks about a construction called a polymorphic function type, but this construction appears to have zero examples (nothing in the demos, the tutorial or mailing list).

Just creating valid syntax by applying the rules also doesn't appear to work.

con name::Type = int (* ok *)

Applying the 'polymorphic function type' rule (int is x and Type is clearly a kind, the arrow is ->, and int is clearly a tau).
con nametwo::Type = int ? Type -> int (* not OK *)

Now, I don't expect this to do anything useful, but I did expect to get a type-error, not a syntax error.

I kind of expect that Ur polymorphic function types are the same as these: http://en.wikibooks.org/wiki/Haskell/Polymorphism#Higher_rank_types . Is that correct? If so, can you show how for example the ST monad would work in Ur syntax?

--
Best regards,
  Ron de Bruijn

_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur

Reply via email to