diff options
-rw-r--r-- | Changes | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -8,6 +8,11 @@ Language features: { lbl } stands for { lbl = lbl } and { M.lbl } for { M.lbl = lbl } - Record patterns of the form { lbl = pat; _ } to mark that not all labels are listed, purposefully. (See new warning below.) +- Explicit naming of a generic type; in an expression like "fun ... (type t) ... -> e", + the type t is considered abstract in its scope (the arguments that follow it and the body + of the function), and then replaced by a fresh type variable. In particular, the type t + can be used in contexts where a type variable is not allowed (e.g. for defining + an exception in a local module). Compilers and toplevel: - New warning (activated by 'E', the fragile match warning) to signal |