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
Partialconstraint in 0.9, so the exhaustivity checker will now attempt to generate warnings by looking forPartialconstraints in scope.The
qualifiedimport syntax has been deprecated.Class imports will use the new
classsyntax in 0.9 and the alternative syntax is deprecated.
改进
Add native
Partialconstraint (@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-errorsflag 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
foralland function arrows (@DavidLindbom)Module Imports
Use
classkeyword 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
foreignargument 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 编写的。