内容简介: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 ofado
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-generics
.purescript-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)
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
andOrd
deriving will now rely onEq1
andOrd1
constraints as necessary where sometimes previouslyEq (f _)
would be required.Eq1
andOrd1
instances can also be derived. (#3207, @garyb)Some
Prim
type classes have been renamed/moved, so will require explicit importing (#3176, @parsonsmatt):RowCons
is nowPrim.Row.Cons
Union
is nowPrim.Row.Union
Fail
is nowPrim.TypeError.Fail
Warn
is nowPrim.TypeError.Warn
Users can no longer specify modules under the
Prim
namespace (#3291, @parsonsmatt)TypeConcat
andTypeString
have been replaced because they were in kindSymbol
but weren't literals. ThePrim.TypeErrer.Doc
kind and related constructors (Text
,Quote
,Beside
,Above
) have been added in their place. TheFail
andWarn
type classes now accept aDoc
instead of aSymbol
.
(#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 topurs 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 thesourcemaps
target is usedjs
will be implied, so there's no difference between--codegen js,sourcemaps
and--codegen sourcemaps
). If no targets are specified the default isjs
. (#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 forSymbol
(#3054, @kcsongor)The
Append
compiler-solved type class forSymbol
can now be run in reverse (#3025, @paf31)Find Usages for values and constructors in
purs ide
(#3206, @kRITZCREEK)purs ide
treatshiding
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)Large compiler perfomance improvement in some cases by skipping source spans in
Eq
,Ord
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
andPrim.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 fullindex.js
file paths (#2621, @chexxor)Added more compiler-solved type classes and supporting types and kinds to
Prim
:Prim.Ordering
module withkind Ordering
,type LT
,type EQ
,type GT
Prim.RowList
module withclass RowToList
,kind RowList
,type Nil
,type Cons
Prim.Symbol
module withclass Compare
,class Append
,class Cons
(#3312, @LiamGoodacre, @kRITZCREEK)Generated code for closed records now explicitly reconstructs the record rather than looping (#1493, @fehrenbach, blog 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
MissingClassMember
,ExtraneousClassMember
,ExpectedWildcard
errors (#3216, @garyb)Added position information to
ExportConflict
errors (#3217, @garyb)Fixed
ctags
andetags
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
andDuplicateModule
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)
其它
Updated installation information to include details about prebuild binaries (#3167, @MiracleBlue)
Test suite now prints output when failing cases are encountered (#3181, @parsonsmatt)
Updated test suite to use tasty (#2848, @kRITZCREEK)
Refactored
let
pattern desugaring to be less brittle (#3268, @kRITZCREEK)Added makefile with common tasks for contributors (#3266, @bitemyapp)
Added
ghcid
and testing commands to makefile (#3290, @parsonsmatt)Removed old unused
MultipleFFIModules
error (#3308, @nwolverson)mod
anddiv
forInt
are no longer inlined as their definition has changed in a way that makes their implementation more complicated - purescript/purescript-prelude#161 (#3309, @garyb)The test suite now checks warnings and errors have position information (#3211, @garyb)
The AST was updated to be able to differentiate between
let
andwhere
clauses (#3317, @joneshf)Support for an optimization pass on
CoreFn
was added (#3319, @matthewleon)
详情见发布公告。
下载地址:
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- TinySelect 0.4.2 发布,带来大量更新
- ColorWanted 4.1.0 发布,带来大量更新
- MariaDB 10.3.6 发布,带来多项更新
- VS Code 1.23.0 发布,带来众多更新
- 记一次 Chrome 更新带来的登录 Cookie 问题
- Node.js v8.0.0 正式发布,带来大量更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程的逻辑
马俊昌 / 机械工业出版社 / 2018-1-1 / 99
Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。 全书共六大部分,其要点如下。 第一部分(第1~2章)讲解计算机程序的基本执行流程与元素,以及数据背后的二进制表示,帮读者掌握编程的基本概念。 第二部分(第3~7章)讲解面向对象的编程原理与逻辑,涉及类、继承与多态、接口与抽象类、异......一起来看看 《Java编程的逻辑》 这本书的介绍吧!