ClojureScript 1.9.456 发布,外部推理及综合模块

栏目: 编程语言 · Clojure · 发布时间: 6年前

内容简介:ClojureScript 1.9.456 发布,外部推理及综合模块

ClojureScript 1.9.456 发布了,ClojureScript 是一个用来将 Clojure 语言转成 JavaScript 脚本的工具。

该版本引入新特性 —— 外部推理( 详情 )以及综合 JS 模块( 详情

详细记录包括:

### Enhancements

* Enhanced JavaScript module support

* Support Node resolution for CommonJS modules

* Externs inference

* Performance enhancements

* CLJS-1835: REPL load special fn

* CLJS-1194: Support for `data_readers.cljc`

### Changes

* expose :closure-module-roots option

* bump Closure Compiler dep

* Under Node.js don't need require entries in the goog.addDependency calls in cljs_deps.js

* do not throw on circular dependencies between Google Closure JS libs

* str macro should call str/1 function directly, added str benchmark

* CLJS-1718: Foreign lib files should be placed in a relative location

* CLJS-1858: Should allow `:cache-analysis true` and `cache-analysis-format nil`

* CLJS-1616: Self-host: improve documentation for compile-str

* CLJS-1643: Emit more informative error when emitting a type which has no emit multimethod case

* CLJS-1816: Basic timing info in verbose output

* add support for emitting inferred externs file

* add cljs.analyzer/analyze-form-seq

* CLJS-1666: Flag to optionally disable transit analysis cache encoding

* Provide more descriptive error message when invalid libspec detected

* CLJS-1768: cljs.spec perf tweaks

* CLJS-1842: Remove analyzer `:merge` hack for REPLs

* CLJS-1839: Relax the constraint that `new` and dot forms must be passed a symbol

* default to :ecmascript3 if :language-out not specified for :es6 module

* respect :language-out when processing ES6 modules

* default to :ecmascript3 if :language-out not specified for :es6 module

* inline some?

### Fixes

* CLJS-1911: Need to bind Node.js require

* CLJS-1909: Self-host: circular dependency when requiring cljs.reader

* CLJS-1906: Self-host: script/test-self-parity fails

* CLJS-1903: Remove anonymous vars from dir and apropos output

* CLJS-1897: Too many externs generated

* CLJS-1895: Externs inference needs to support user supplied externs

* CLJS-1873: Self-host: Unit tests fail owing to test.check dep

* CLJS-1874: Self-host: :fn-var true for macros

* CLJS-1877: :foreign-libs entries should be allowed to specify directories along with individual files

* CLJS-1890: s/form for s/nilable in cljs.spec does not match clojure.spec

* CLJS-1811: Can't compose cljs.spec.test.instrument (or cljs.spec.test.check) with cljs.spec.test.enumerate-namespace

* CLJS-1894: Unnecessary analysis of core.cljs on first compile

* CLJS-1893: Unnecessary analysis of core.cljs

* CLJS-1892: Dependencies in JARs are analyzed every time even if an analysis cache file exists

* CLJS-1887: add :watch-error-fn option

* CLJS-1883 Foreign libs can't be found on Node.js

* CLJS-1882 Fix constant table sort order when using :modules

* CLJS-1853: var metadata in compiled output

* CLJS-1878: prefer `some?` over `(not (nil? %))` in analyzer

* CLJS-1880: missing ^boolean on some hasNext calls

* CLJS-1875 Difference in seqable? between CLJ & CLJS

* CLJS-1829: get does not return not-found on negative indexes

* cljs.spec.test/unstrument shouldn't return the names of vars that weren't instrumented in the first place. Fixes CLJS-1812

* CLJS-1786: Add knob for controlling printing of namespaced maps

* CLJS-1836: nth doesn't throw for IndexedSeqs

* CLJS-1870: Quoted specs check in require macro symbols

* CLJS-1869: Regression importing goog.Uri

* Fix CLJS-1653 regression

* CLJS-1860: Resolve JS modules referred by their fully-qualified namespace

* CLJS-1861: Use usr/bin/env in build scripts for portability

* CLJS-1857: Fix self-host tests

* CLJS-1855: Subvec should implement IIterable

* CLJS-1856: Self-host: load-deps doesn't delegate to itself

* CLJS-1651: Self-host: Cannot replace core macro-function

* CLJS-1848: Analyzer can't find JS modules during macro-expansion

* CLJS-1851: Only output JS module processing time when `:compiler-stats` is true

* CLJS-1850: *unchecked-if* not declared ^:dynamic warning after commit a732f0

* CLJS-1849: Self-host: regression introduced by CLJS-1794

* CLJS-1844: port over Maria Geller's externs file parsing code

* CLJS-1845: Assoc on subvec should throw if out of bounds

* CLJS-1847: REPL should recognize `clojure.core/load`

* CLJS-1745: refer-clojure doesn't pull in previously excluded vars

* CLJS-1794: incomplete alias created for namespace cljs.spec warning under advanced compilation

* CLJS-1834: REPL regression, require of ns from the ns itself errors out in circular reference

* fix ns aliasing regression for JS namespaces

* CLJS-1837: Port halt-when over from Clojure

* CLJS-1820: "No such namespace" warning when referring to JS module namespace without using alias

* CLJS-1828: Add `:rename` to `require`'s docstring


以上所述就是小编给大家介绍的《ClojureScript 1.9.456 发布,外部推理及综合模块》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

美铁之战

美铁之战

[英]帕特里克·蒂利 / 黑曜、超侠 / 百花文艺出版社 / 2018-9 / 44.80元

本书的故事发生在未来,一场核战毁灭了北美大陆上的人类文明,残存下来的人类分化成两拨:生活在地面上退化到刀耕火种时代的平原人;躲藏在地下苟延残喘的沙穴人。几百年后,当保留着战前文明的沙穴人尝试着登上地面,和平原人的同室操戈将不可避免地上演……一起来看看 《美铁之战》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试