From: Dave B. <da...@ta...> - 2001-09-07 23:10:24
|
At 11:54 07/09/2001, Robert Harper wrote: >I mistakenly reversed the senses of "expansive" and "non-expansive", as must >be obvious to everyone. Sorry about that. Hi Bob, I'm afraid I'm now confused, as I can see two possible interpretations of your message. Please can you tell me which you intended? Example: exception Foo val it = raise Foo raise Foo has type 'a; can 'a be generalised? First interpretation: Yes, 'a can be generalised. The definition should be changed to allow this, thus removing an inconsistency between an explicit raise and the implicit raise caused by a refutable pattern. Second interpretation: No, 'a can not be generalised. The definition should be changed to also ban the generalisation of type variables in any expression matched against a refutable pattern, regardless of whether the rhs expression is expansive. FWIW, the Commentary only discusses the question of generating exception names. If I understand correctly, simply raising an exception doesn't generate a new name. Dave. |