New features
-
Named type wildcards (#3500, @natefaubion)
It's now possible to use
?hole
style syntax in type signatures where you want the compiler to tell you the missing type. This was previously possible by using_
in a type signature, but now_
can be used without raising a warning, as long as it does not appear in a top level declaration.
Enhancements
- Improve error message for missing node.js in the repl (#3456, @justinwoo)
- Add
Boolean
kind toPrim.Boolean
(#3389, @justinwoo) - Link to documentation repo as docs for non-Prim built-in types/kinds (#3460, @JordanMartinez)
- PSCi: Support multiple command types in paste-mode (#3471, @LiamGoodacre)
- Add
row:column
printing for source positions in error messages (#3473, @justinwoo) - Add
:print
directive for customizable repl printing (#3478, @hdgarrood) - Implement qualified
do
(#3373, @pkamenarsky) - Add better source positions to kind errors (#3495, @natefaubion)
Fixes
- Remove references to previous kinds
*
and!
(#3458, @LiamGoodacre) - Fix linting of unused type variables (#3464, @LiamGoodacre)
- Avoid dropping super class dicts for the same class (#3461, @LiamGoodacre)
- Fix issue where
Partial
can foil TCO optimizations (#3218, @matthewleon) - Fix quoting of record labels in error messages (#3480, @hdgarrood)
- Prevent invalid JS being generated from awkward record labels (#3486, @hdgarrood)
- Fix unnecessary quoting of reserved names when used as labels (#3487, @hdgarrood)
- Fix source spans for binding groups (#3462, @LiamGoodacre)
- Fix kind error for recursive data type (#3511, @natefaubion)
Other (internals)
- Add annotations to
Type
andKind
(#3484, @natefaubion) - Use handwritten JSON instances for
Type
/Kind
(#3496, @natefaubion) - Remove pretty print constructors from
Type
(#3498, @natefaubion) - Add JSON compatibility tests (#3497, @hdgarrood)
- Remove the concept of the 'current module' in Docs (#3506, @hdgarrood)