PureScript 0.8.0 发布,静态类型语言
PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。purescript 主要是由 Haskell 和 PureScript 编写的。
PureScript 0.8.0 "TIMESLIDES"发布,更新如下:
重大更新
None, but there are lots of new warnings related to upcoming breaking changes in 0.9:
Operators as aliases will become mandatory, and regular operators (as functions) will now generate warnings.
Non-exhaustive functions will get a
Partial
constraint in 0.9, so the exhaustivity checker will now attempt to generate warnings by looking forPartial
constraints in scope.The
qualified
import syntax has been deprecated.Class imports will use the new
class
syntax in 0.9 and the alternative syntax is deprecated.
改进
Add native
Partial
constraint (@garyb)Reduce backtracking in parser to hopefully improve quality of parsing error messages (@paf31)
Drop requirement to parenthesize single constraints in instance contexts (@garyb)
Case expressions can now match multiple values (@natefaubion)
Add operator aliases (@garyb)
Show identifiers correctly in ctags (@nwolverson)
Fix #1523, add
--json-errors
flag for editor integrations (@paf31)Error and warning corrections are now available to editors via
--json-errors
(@nwolverson)Check integer values are within range in codegen (@garyb)
Support for unicode operators (@paf31)
The parser now supports unicode symbols for
forall
and function arrows (@DavidLindbom)Module Imports
Use
class
keyword for class references in imports (@garyb)Type imports no longer require
()
(@garyb)Allow import hiding with qualified imports (@garyb)
Naming conflicts are now resolved at the use site (@garyb)
Error Messages
Fix #1662, display extra type info in instance errors (@paf31)
Add information about skolem constants to type errors (@paf31)
Sort rows in unification errors (@paf31)
Warnings
Bug 修复
Renamer updates, fixes naming bug in some unlikely situations (@garyb)
Fix #1645, implement new indentation rules for types to avoid very wide errors (@paf31)
Fix "resource exhausted" issue on MacOS (@mgmeier)
Fix up shadowed module names in JS codegen (@garyb)
Fix #1185, fix #1369, add everythingWithScope traversal to correct some scoping issues. (@paf31)
Fix two cases where errors were missing context (@garyb)
Fix #1636, instantiate polytypes fully, even under constraints. (@paf31)
Fix missing data constructors in re-exports (@garyb)
Fix codegen error with instance for re-exported class (@garyb)
Fix a bug related to redundancy checking in cases (#1853, @nicodelpiano)
Fix a TCO/composition inlining bug (@garyb, @hdgarrood)
Fix renaming for nested constructor binders (#1839, @sharkdp)
Fix generic deriving bug with >1 type argument (@hdgarrood)
Fix generate fresh binder names unless all names in case are equal (#1825, @paf31)
Fix external require expressions when minifying (#1794, @paf31)
Rename
foreign
argument to fix compiling issue (@anttih)Allow use of bottom integer (@garyb)
其它
Fix #1700, remove warnings for syntactic features removed in 0.7.0 (@paf31)
Fix psc-publish test (@passy)
Relax rules for docs comments (#1820, @hdgarrood)
Qualified name lookup is now supported in PSCi (#974, @soupi)
https://github.com and git@github.com URLs are now allowed by psc-publish (@passy, @codedmart)
Docs are now generated for module re-exports (@hdgarrood)
Use friendly module name in psc-docs error (@nwolverson)
Distinguish between the different ProperNames (@garyb)
Warn about unspecified constructors in type imports (@garyb)
Fix warning about values missing from virtual modules (@garyb)
下载页面:0.8.0
PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。purescript 主要是由 Haskell 和 PureScript 编写的。