ClojureScript r1.9.293 發布
ClojureScript 是一個用來將 Clojure 語言轉成 JavaScript 腳本的工具。主要有以下優點:
- 簡潔性: 從語法角度來說,ClojureScript 是一種基于 Lisp 的語言,這使得它的語法十分簡潔。除此之外,ClojureScript 還提供了幫助我們更方便的異步編程的工具。
- 安全性: 這意味著更少的漏洞!ClojureScript 和其他的函數編程語言都有很多的特性來幫助我們減少和減輕一些常見的漏洞。
- 高性能: ClojureScript 使用了Google的Closure編譯器,這使得ClojureScript能支持無用代碼清除以及其他的一些特點。
- 實時編程: ClojureScript 生態圈提供了很多的工具來“實時編程”。這意味著當代碼一改變,在你的項目上就會馬上反應出來。
- 代碼復用性: ClojureScript 能在全局中運行,很多人稱之“同態”。這代表你能在服務器端和客戶端運行相同的代碼,這在 Node.js 的生態系統中已經是個流行的模式了。除此之外,ClojureScript 還能使用 Node.js 和 Java 生態圈當中的庫。
更新日志
Enhancements
- CLJS-1346: Support require outside of ns
Changes
- CLJS-1762: Bump Closure Compiler, refactor module support
- CLJS-1658: testing for protocol membership may return false positives
- CLJS-1536: REPL def symbol init collision
- CLJS-1805: Source map should take false
- CLJS-1804: Self-host: process namespace side-effects for new require without NS
- CLJS-1803: Use new require capability in REPLs
- CLJS-1796: Measure Google Closure specific optimization time
- CLJS-1782: Self-host: allow namespaces to require their own macros
- CLJS-1563: :source-map option to cljs.build.api/build should take nil
- CLJS-1785: Warn on reference to js/foo shadowed by local binding
Fixes
- make String an implicit ns like Math. revert char? and clarify docstring. add unit tests for char?
- fix cljs.spec.test/check docstring
- CLJS-1826: Self-host: load-deps doesn't honor
:reload
andreload-all
- CLJS-1825: :source-map error when passing
false
under simple optimizations - CLJS-1821:
add-preloads
should only touch sources if:preloads
option specified - CLJS-1814: Move docstrings for require, etc. from
cljs.repl
to their new definitions incljs.core
- CLJS-1809: Add 0/1 arity to
into
- CLJS-1824: transit cache feature leaks files
- CLJS-1294: Let macroexpand(-1) accept any quoted argument.
- CLJS-1818: (hash false) returns different value from Clojure
- CLJS-1817: Strange result when assoc'ing 0 to persistent hash map
- CLJS-1815: Fix failing analyzer tests
- follow-up on CLJS-460 defmulti ignores optional :hierarchy argument
- CLJS-1807: Better error messages for
ns*
calls - CLJS-1802: Generated namespaces should be of the form
cljs.user.fileXXXX
- CLJ-1935: Use multimethod dispatch value method lookup to take hierarchies into account in multi-spec
- CLJS-1682 :foreign-libs with module conversion does not works properly if it is used form deps.cljs
- CLJS-1710: spec/double-in not implemented
- CLJS-1787: Make cljs.spec explain pluggable
- CLJS-1781: Add cljs.hash-map-test to self-parity tests
- CLJS-1788: Port CLJ-2004: include retag in multi-spec form
- CLJS-1765: Empty iterator for hash maps with nil key
- CLJS-1784: nth doesn't throw on strings or arrays
- CLJS-1773: Self-host: Don't resolve unqualified symbols / keywords with $macros
- CLJS-1770: goog-defines broken for integers
- CLJS-1600: Destructuring defprotocol fn args causes defrecord impls to silently fail
- CLJS-1335: resolve-macro-var: information missing for macros
- CLJS-1633: Improve error associated with invalid foreign-libs :file path
- CLJS-1775:
get
withnil
returns as ifget
with - CLJS-1780: Records without extmaps fail to iterate
- CLJS-1774: Self-host: Report filenames in warns in test-self-parity
- CLJS-1779: keyword 2-arity constructor accepts anything for both parameters which leads to different hashing
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/1ae68f4f
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!