圣凤凌霜 发表于 2015-7-25 08:37:05

PureScript 0.7.0 "MELTDOWN" 发布

腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
  PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。purescript 主要是由 Haskell 和 PureScript 编写的。
  PureScript 0.7.0 ("MELTDOWN") 发布,主要是按照计划进行改进,在 1.0 之前简化升级路径。此最新的核心库已经更新编译到这个版本。旧版本的核心库已经不适用于这个版本,而且最新的库也不能使用旧的编译版本构建。
  详细升级和迁移指导请看 wiki。
重要改进

[*]  psc 可执行已经使用 psc-make 替代,重命名为 psc (为了遵循 CommonJS 模块输出标准)

[*]  Int 和 Number 常量
[*]  Prelude 模块不再自动导入,必须以跟其他模块一样的方式导入

[*]  编译器不再包括模块,模块已经拆分到以下这些库:

[*]  purescript-prelude
[*]  purescript-eff
[*]  purescript-st
[*]  purescript-console
[*]  purescript-functions

[*]  数组类型的 [] 语法已经被移除,但是还是可以使用 [] 数组常量

[*]  [] should now be written as Array, and as Array a.

[*]  Cons patterns for arrays have been removed.
[*]  Declaring operators in classes will now produce a warning. Changes will be coming to operators in PureScript 0.8, and moving to named members in classes with operators as aliases (e.g. () = map) should make the transition easier in the future.
[*]  JavaScript for the FFI can no longer be provided inline.

[*]  Values must instead be provided in a separate .js file, and passed to the compiler with the -ffi flag.
[*]  Values should be provided in the form exports.foo = ..., similar to a CommonJS module
[*]  The file should have a comment // module X.Y.Z where X.Y.Z is the name of the module the JS values are for.
[*]  See here for an example

功能增强

[*]  Module exports (@andyarvanitis). Currently, only full module exports are supported, but imported modules can be re-exported using the following syntax:purescriptmodule M1 (module M2) whereimport M2
[*]  Documentation improvements (@hdgarrood):

[*]  psc-docs can now generate multiple output files, allowing documentation to be collected into functional groups.
[*]  A new tool psc-publish has been added, which generates module documentation in a JSON format required by Pursuit 2 (coming soon)

[*]  @puffnfreshhas worked on dramatically increasing the performance of incremental builds, with improvements up to 10x compared to the previous release.
[*]  The new --require-path option allows the syntax of module imports in generated CommonJS modules to be customized (@garyb).
[*]  @etrepum has added support for building with Stack.
[*]  PSCi now supports computations in the Eff monad. (@paf31)
[*]  The compiler now emits warnings in the following cases:

[*]  Operator name used in type class definition (@garyb)
[*]  Type wildcard used (@nicodelpiano)
[*]  Shadowed variable name (@paf31)

[*]  @balajirrao has improved the appearance of unknown and rigid types appearing in error messages.
[*]  @puffnfresh has added position information to pattern match errors.
[*]  @puffnfresh has added some new optimizations (inlining
页: [1]
查看完整版本: PureScript 0.7.0 "MELTDOWN" 发布