1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 PureScript 0.7.0 "MELTDOWN" 发布 下载

Discussion in '软件资讯' started by 漂亮的石头, 2015-06-30.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,295
    Likes Received:
    47
    PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。purescript 主要是由 Haskell 和 PureScript 编写的。

    PureScript 0.7.0 ("MELTDOWN") 发布,主要是按照计划进行改进,在 1.0 之前简化升级路径。此最新的核心库已经更新编译到这个版本。旧版本的核心库已经不适用于这个版本,而且最新的库也不能使用旧的编译版本构建。

    详细升级和迁移指导请看 wiki

    重要改进


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


    • Int 和 Number 常量


    • Prelude 模块不再自动导入,必须以跟其他模块一样的方式导入


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


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


      • [] should now be written as Array, and [a] 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:purescript module M1 (module M2) where import 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)

    • @puffnfresh has 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:


    • @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 <<< and $)
    Bug 修复


    • psc, psc-docs and psc-bundle now support file globs as command-line arguments, fixing a bug related to the command length on Windows machines (@paf31)


    • @wuzzeb has fixed some issues in the pretty printer.


    • @mjgpy3 has improved error messages related to incorrect pattern matches on data constructors.
    工具


    • Pulp has been updated:


      • The new psc and psc-bundle binaries are supported


      • FFI modules are now identified and compiled based on a convention


      • pulp docs now generates individual Markdown files for each source module

    • gulp-purescript has been updated:


      • The new psc and psc-bundle binaries are supported


      • FFI modules are now supported



    • The following libraries have been moved into the core library set:


      • purescript-lists - Strict and lazy linked list data structures


      • purescript-assert - Low level assertion library for tests


      • purescript-parallel - An applicative functor for parallel composition of asynchronous computations.


      • purescript-arrows - Arrow type classes and standard instances.


      • purescript-tailrec - A type class for stack-safe monadic tail recursion.

    • The requirements for libraries in the purescript-contrib organization have been tightened, to try to ensure that libraries stay maintained.

    更多改进请看发行说明,下载:

    PureScript 0.7.0 "MELTDOWN" 发布下载地址
     
Loading...