https://github.com/squint-cljs/squint: Light-weight ClojureScript dialect
0.12.193
• Fixhttps://github.com/squint-cljs/squint/issues/832: nREPL server hung on advertised ops.`info`/`eldoc`/`lookup`,`complete`(including`js/`interop completion) and`load-file`are now implemented.
• Fix`parse-long`returning out-of-range values instead of`nil`(the safe-integer upper bound was a no-op due to a chained comparison)
• Fix`select-keys`dropping keys mapped to`nil`(loose`!= undefined`matched`null`); nil-valued keys are now kept, matching Clojure
• Fix`clojure.string/split`limit semantics: a positive limit now caps the number of splits and keeps the remainder (e.g.`(str/split "a-b-c-d" #"-" 2)`->`["a" "b-c-d"]`) instead of truncating like JS`String.split`; limit`0`discards trailing empties, negative keeps them
• Fix`compare`throwing on booleans;`(compare false true)`->`-1`and`(sort [true false])`no longer throws, matching CLJS
• clojure.set/intersectionand`union`now use`.size`(not`.length`) for their set-size optimization, which was previously dead code (`undefined > undefined`); results were already correct, this restores the intended performance
• Fix`seqable?`returning`false`for maps;`(seqable? {:a 1})`->`true`, matching CLJS (`seq`already worked on objects)
• Fix`nth`returning the not-found default for an in-bounds element that is`undefined`(e.g. sparse /`object-array`/ JS-interop arrays); it now decides found-ness by the index bound, not the value
• Fix`parse-double`not trimming leading/trailing whitespace (`(parse-double " 3.14 ")`->`3.14`); the whitespace character class in the regexes was double-escaped and matched literal backslashes instead of control chars
• pr-str/`prn`now print`Infinity`,`-Infinity`and`NaN`as`##Inf`,`##-Inf`and`##NaN`, matching CLJS (`str`is unchanged)
#C0B655S3R19 New release of https://clojure.cc/dialects/ adds obb to dialects. Thanks @chromalchemy++
well, thanks @borkdude babashka
thanks!
Just added a sticky numeric column so you can see how various sorts rank.
awesome
https://scicloj.github.io/plotje/ - composable plotting - https://clojars.org/org.scicloj/plotje:
(following comments by @carsten.behring)
• Layers sharing a panel now paint in the order they were added -- each`pj/lay-*`call renders on top of the previous one -- instead of being reordered by position type. A`pj/lay-text`or`pj/lay-label`added after a bar now reads on top of it rather than being hidden underneath.
• pj/lay-textand`pj/lay-label`accept`:align-x`(`:left`/`:center`/`:right`) and`:align-y`(`:top`/`:center`/`:bottom`) to set which part of the label sits on the data point -- e.g.`:align-x :right`places a value label inside a bar's end. Defaults`:left`/`:center`preserve the previous placement.
• :nudge-x/`:nudge-y`on a categorical axis now raise a clear error pointing to`:align-x`/`:align-y`(and`:jitter`/`:position :dodge`). Nudge is a data-space shift and applies only to numeric or temporal axes.
🪵 mokujin and mokujin-logback v1.0.0.120 is available
mokujin is a thin wrapper around clojure.tools.logging which provides MDC (Mapped Diagnostic Context) support and works with any slf4j-compatible logging framework. mokujin-logback provides EDN-based configurator for Logback.
Changes:
• fixes a bug reported by @nbtheduke - false and nil are no correctly serialized when added to the MDC