If a deprecated function is invoked or a deprected protocol is implemented the compiler will issue a warning. These warnings can be suppressed by binding *cljs-warn-fn-deprecated* to false or by attaching the ^:deprecation-nowarn metadata to the invocation form or to the protocol symbol.
IPersistentMap This is just flat out better and will allow one to create Rhino and Browser evaluation environments within the same process.
Signed-off-by: Stuart Sierra <firstname.lastname@example.org>
…ix + test.
up. eliminate the declare. similarly move Reduced, reduced, reduced?, counted?, indexed? and eliminate declares around them. eliminate truth_ call in find. set *unchecked-if* true for body of apply.
…d w/ :whitespace
… anyway - doing arithmetic on these cases is slow. Extra tests do incur a small perf hit when testing actual numbers.
Previously, a huge number of temporary vectors and lazy sequences were built up and concat-ed, which ran reasonably on newer JS engines (e.g. V8) but suffered from miserable performance on old engines (such as IE8). By passing a StringBuffer down the callstack and appending to that, performance gains of 10-100X can be seen in older JS engines. For backwards compatibility, the new fastpath uses a new IPrintWithWriter protocol, and the old IPrintable is left in place. The old protocol is used as a fallback for items that do not satisfy IPrintWithWriter.