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 发布,外部推理及综合模块》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Servlet和JSP学习指南

Servlet和JSP学习指南

Budi Kurniawan / 崔毅、俞哲皆、俞黎敏 / 机械工业出版社华章公司 / 2013-4-14 / 59.00元

本书是系统学习Servlet和JSP的必读之作。由全球知名的Java技术专家(《How Tomcat Works》作者)亲自执笔,不仅全面解读Servlet 和JSP 的最新技术,重点阐述Java Web开发的重要编程概念和设计模型,而且包含大量可操作性极强的案例。 本书共18章:第1章介绍Servlet API和几个简单的Servlet;第2章讨论Session追踪,以及保持状态的4种技术......一起来看看 《Servlet和JSP学习指南》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

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

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具