PureScript v0.12.0-rc1 发布,带来大量更新

栏目: 软件资讯 · 发布时间: 6年前

内容简介:PureScript  v0.12.0-rc1 发布,PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。PureScript 主要是由 Haskell 和 PureScript 编写的。 主要更新: Added applicative-do notation; ado i...

PureScript  v0.12.0-rc1 发布,PureScript 是个小巧而强大的静态类型语言,可以编译成 JavaScript。PureScript 主要是由 Haskell 和 PureScript 编写的。

主要更新:

  • Added applicative-do notation; ado is now a keyword. An full explanation of the behaviour and usage of ado is available in a comment on the issue. (#2889@rightfold)

  • Removed wrapper scripts for the old binary names (psc, psci, etc.) (#2993@hdgarrood)

  • Removed compiler support for deriving purescript-genericspurescript-generics-rep is still supported. (#3007@paf31)

  • Instances with just one method now require the method to be indented (bug fix, but potentially breaking) (#2947@quesebifurcan)

  • Overlapping instances are now an error rather than a warning, but can be resolved with the new instance chain groups feature (#2315@LiamGoodacre)

  • Reworked the CoreFn json representation (#3049@coot)

  • It is no longer possible to export a type class that has superclasses that are not also exported (bug fix, but potentially breaking) (#3132@parsonsmatt)

  • Eq and Ord deriving will now rely on Eq1 and Ord1 constraints as necessary where sometimes previously Eq (f _) would be required. Eq1 and Ord1 instances can also be derived. (#3207@garyb)

  • Some Prim type classes have been renamed/moved, so will require explicit importing (#3176@parsonsmatt):

    • RowCons is now Prim.Row.Cons

    • Union is now Prim.Row.Union

    • Fail is now Prim.TypeError.Fail

    • Warn is now Prim.TypeError.Warn

  • Users can no longer specify modules under the Prim namespace (#3291@parsonsmatt)

  • TypeConcat and TypeString have been replaced because they were in kind Symbol but weren't literals. The Prim.TypeErrer.Doc kind and related constructors (TextQuoteBesideAbove) have been added in their place. The Fail and Warn type classes now accept a Doc instead of a Symbol.
    (#3134@LiamGoodacre)

  • In simple cases instance overlaps are now checked at declaration time rather than being deferred until an attempt is made to use them. (#3129@LiamGoodacre)

  • Chaining non-associative or mixed associativity operators of the same precedence is no longer allowed (#3315@garyb)

  • The --dump-corefn and --source-maps arguments to purs compile have been removed. There is now a --codegen argument that allows the specific codegen targets to be specified - for example, --codegen corefn will not produce JS files, --codgen js,corefn will produce both. If the sourcemapstarget is used js will be implied, so there's no difference between --codegen js,sourcemaps and --codegen sourcemaps). If no targets are specified the default is js. (#3196@garyb@gabejohnson)

  • Exported types that use foreign kinds now require the foreign kinds to be exported too (bug fix, but potentially breaking) (#3331@garyb)

改进

  • Added Cons compiler-solved type class for Symbol (#3054@kcsongor)

  • The Append compiler-solved type class for Symbol can now be run in reverse (#3025@paf31)

  • Find Usages for values and constructors in purs ide (#3206@kRITZCREEK)

  • purs ide treats hiding imports the same as open imports when sorting (#3069@kRITZCREEK)

  • Added inlining for fully saturated usages of runEffFn/mkEffFn (#3026@nwolverson)

  • Improved explanation of UnusableDeclaration error (#3088#3304@i-am-tom)

  • Improved rendering of comments in generated JavaScript by removing additional newlines (#3096@brandonhamilton)

  • Instance chain support. (#2315@LiamGoodacre)

  • Improved orphan instance error to include locations where the instance would be valid (#3106@i-am-tom)

  • Added an explicit error for better explanation of duplicate type class or instance declarations (#3093@LiamGoodacre)

  • purs ide now provide documentation comments (#2349@nwolverson)

  • Clarified meaning of duplicate labels in a Record row (#3143@paf31)

  • Explicit import suggestions consistently use (..) for constructors now (#3142@nwolverson)

  • Improved tab completion in purs repl (#3227@rndnoise)

  • Large compiler perfomance improvement in some cases by skipping source spans in EqOrd for binders (#3265@bitemyapp)

  • Added support for error/warning messages to carry multiple source spans (#3255@garyb)

  • Improved tab completion in purs repl when parens and brackets are involved (#3236@rndnoise)

  • Improved completion in purs repl after :kind and :type (#3237@rndnoise)

  • Added the "magic do" optimisation for the new simplified Effect type (Control.Monad.Eff is still supported) (#3289@kRITZCREEK#3301@garyb)

  • Improvide build startup times when resuming a build with incremental results (#3270@kRITZCREEK)

  • Added compiler-solved Prim.Row.Nub type class (#3293@natefaubion)

  • Improved docs for Prim.Row.Cons and Prim.Row.Union (#3292@vladciobanu)

  • Functor can now be derived when quantifiers are used in constructors (#3232@i-am-tom)

  • purs repl will now complete types after :: (#3239@rndnoise)

  • Added compiler-solved Prim.Row.Lacks type class (#3305@natefaubion)

  • Added current output path to missing output error message from purs ide (#3311@rgrinberg)

  • Improved parser error messages for .purs-repl (#3248@rndnoise)

  • require in generated JavaScript now includes full index.js file paths (#2621@chexxor)

  • Added more compiler-solved type classes and supporting types and kinds to Prim:

    • Prim.Ordering module with kind Orderingtype LTtype EQtype GT

    • Prim.RowList module with class RowToListkind RowListtype Niltype Cons

    • Prim.Symbol module with class Compareclass Appendclass Cons
      (#3312@LiamGoodacre@kRITZCREEK)

  • Generated code for closed records now explicitly reconstructs the record rather than looping (#1493@fehrenbachblog post with more details)

bug 修复

  • Fixed a bug with names cause by Prim always being imported unqualified (#2197@LightAndLight)

  • Fixed overlapping instances error message to reflect its new status as an error (#3084@drets)

  • Added source position to TypeClassDeclaration errors (#3109@b123400)

  • Fixed entailment issues with skolems and matches in the typechecker (#3121@LiamGoodacre)

  • Fixed multiple parentheses around a type causing a crash (#3085@MonoidMusician)

  • Fixed purs ide inserting conflicting imports for types (#3131@nwolverson)

  • Fixed constraints being inferred differently for lambda expressions compared with equational declarations (#3125@LiamGoodacre)

  • Updated glob handling to prevent excessive memory usage (#3055@hdgarrood)

  • Added position information to warnings in type declarations (#3174@b123400)

  • Fixed documentation generated for Pursuit rendering functional dependency variables as identifier links (#3180@houli)

  • Naming a function argument __unused no longer breaks codegen (#3187@matthewleon)

  • Added position information to ShadowedName warning (#3213@garyb)

  • Added position information to UnusedTypeVar warning (#3214@garyb)

  • Added position information to MissingClassMemberExtraneousClassMemberExpectedWildcarderrors (#3216@garyb)

  • Added position information to ExportConflict errors (#3217@garyb)

  • Fixed ctags and etags generation when explicit exports are involved (#3204@matthewleon)

  • Added position information to ScopeShadowing warning (#3219@garyb)

  • Added position information for various FFI related errors and warnings (#3276@garyb)

  • Added all available positions to CycleInModule and DuplicateModule errors (#3273@garyb)

  • Added position information for IntOutOfRange errors (#3277@garyb@kRITZCREEK)

  • Warnings are now raised when a module re-exports a qualified module with implicit import (#2726@garyb)

  • purs repl now shows results for :browse Prim (#2672@rndnoise)

  • Added position information to ErrorParsingFFIModule (#3307@nwolverson)

  • Added position information for ScopeConflict cause by exports (#3318@garyb)

  • Added position information to errors that occur in binding groups and data binding groups (#3275@garyb)

  • Fixed a scoping issue when resolving operators (#2803@kRITZCREEK@LightAndLight)

  • Type synonyms are now desugared earlier when newtype deriving (#3325@LiamGoodacre)

  • Fixed subgoals of compiler-solved type classes being ignored (#3333@LiamGoodacre)

  • Added position information to type operator associativity errors (#3337@garyb)

其它

详情见发布公告

下载地址:


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

About Face 4: 交互设计精髓

About Face 4: 交互设计精髓

[美] 艾伦·库伯、[美] 罗伯特·莱曼、[美] 戴维·克罗宁、[美] 克里斯托弗·诺埃塞尔 / 倪卫国、刘松涛、杭敏、薛菲 / 电子工出版社 / 2015-10 / 118.00元

《About Face 4: 交互设计精髓》是《About Face 3:交互设计精髓》的升级版,此次升级把全书的结构重组优化,更加精练和易用;更新了一些适合当下时代的术语和实例,文字全部重新编译,更加清晰易读;增加了更多目标导向设计过程的细节,更新了现行实践,重点增加 移动和触屏平台交互设计,其实《About Face 4: 交互设计精髓》多数内容适用于多种平台。 《About F......一起来看看 《About Face 4: 交互设计精髓》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具