clojure.core in Joker
- Implemented
- 56.8%386 / 679
- Mismatched
- 58
- Missing
- 293
- Dialect-Only
- 20
Metadata Mismatches (58)
Vars present in both Clojure (JVM) and this surface but with differing arglists, :macro flag, or :dynamic flag.
| Var | Difference |
|---|---|
*1 | :dynamic Clojure (JVM): true this surface: false |
*2 | :dynamic Clojure (JVM): true this surface: false |
*3 | :dynamic Clojure (JVM): true this surface: false |
*e | :dynamic Clojure (JVM): true this surface: false |
*repl* | :dynamic Clojure (JVM): true this surface: false |
NaN? | arglists Clojure (JVM): ([num])this surface: ([s]) |
abs | arglists Clojure (JVM): ([a])this surface: ([s]) |
alter-meta! | arglists Clojure (JVM): ([iref f & args])this surface: ([ref f & args]) |
array-map | arglists Clojure (JVM): ([] [& keyvals])this surface: ([& keyvals]) |
assoc-in | arglists Clojure (JVM): ([m [k & ks] v])this surface: ([m ks v]) |
atom | arglists Clojure (JVM): ([x] [x & options])this surface: ([x & options]) |
case | arglists Clojure (JVM): ([e & clauses])this surface: ([expr & clauses]) |
cast | arglists Clojure (JVM): ([c x])this surface: ([t x]) |
comp | arglists Clojure (JVM): ([] [f] [f g] [f g & fs])this surface: ([] [f] [f g] [f g h] [f1 f2 f3 & fs]) |
conj | arglists Clojure (JVM): ([] [coll] [coll x] [coll x & xs])this surface: ([coll x] [coll x & xs]) |
dedupe | arglists Clojure (JVM): ([] [coll])this surface: ([coll]) |
deref | arglists Clojure (JVM): ([ref] [ref timeout-ms timeout-val])this surface: ([ref]) |
distinct | arglists Clojure (JVM): ([] [coll])this surface: ([coll]) |
drop | arglists Clojure (JVM): ([n] [n coll])this surface: ([n coll]) |
drop-last | arglists Clojure (JVM): ([coll] [n coll])this surface: ([s] [n s]) |
drop-while | arglists Clojure (JVM): ([pred] [pred coll])this surface: ([pred coll]) |
filter | arglists Clojure (JVM): ([pred] [pred coll])this surface: ([pred coll]) |
hash-map | arglists Clojure (JVM): ([] [& keyvals])this surface: ([& keyvals]) |
hash-set | arglists Clojure (JVM): ([] [& keys])this surface: ([& keys]) |
infinite? | arglists Clojure (JVM): ([num])this surface: ([s]) |
interpose | arglists Clojure (JVM): ([sep] [sep coll])this surface: ([sep coll]) |
into | arglists Clojure (JVM): ([] [to] [to from] [to xform from])this surface: ([to from]) |
keep | arglists Clojure (JVM): ([f] [f coll])this surface: ([f coll]) |
keep-indexed | arglists Clojure (JVM): ([f] [f coll])this surface: ([f coll]) |
load | arglists Clojure (JVM): ([& paths])this surface: ([& libs]) |
load-file | arglists Clojure (JVM): ([name])this surface: ([f]) |
map | arglists Clojure (JVM): ([f] [f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])this surface: ([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls]) |
map-indexed | arglists Clojure (JVM): ([f] [f coll])this surface: ([f coll]) |
mapcat | arglists Clojure (JVM): ([f] [f & colls])this surface: ([f & colls]) |
neg? | arglists Clojure (JVM): ([num])this surface: ([x]) |
partition-all | arglists Clojure (JVM): ([n] [n coll] [n step coll])this surface: ([n coll] [n step coll]) |
partition-by | arglists Clojure (JVM): ([f] [f coll])this surface: ([f coll]) |
partitionv-all | arglists Clojure (JVM): ([n] [n coll] [n step coll])this surface: ([n coll] [n step coll]) |
pos? | arglists Clojure (JVM): ([num])this surface: ([x]) |
pr | arglists Clojure (JVM): ([] [x] [x & more])this surface: ([& args]) |
random-sample | arglists Clojure (JVM): ([prob] [prob coll])this surface: ([prob coll]) |
re-find | arglists Clojure (JVM): ([m] [re s])this surface: ([re s]) |
read | arglists Clojure (JVM): ([] [stream] [stream eof-error? eof-value] [stream eof-error? eof-value recursive?] [opts stream])this surface: ([] [reader]) |
read-string | arglists Clojure (JVM): ([s] [opts s])this surface: ([s]) |
remove | arglists Clojure (JVM): ([pred] [pred coll])this surface: ([pred coll]) |
replace | arglists Clojure (JVM): ([smap] [smap coll])this surface: ([smap coll]) |
reset-meta! | arglists Clojure (JVM): ([iref metadata-map])this surface: ([ref metadata-map]) |
sequence | arglists Clojure (JVM): ([coll] [xform coll] [xform coll & colls])this surface: ([coll]) |
slurp | arglists Clojure (JVM): ([f & opts])this surface: ([f]) |
str | arglists Clojure (JVM): ([] [x] [x & ys])this surface: ([& xs]) |
swap! | arglists Clojure (JVM): ([atom f] [atom f x] [atom f x y] [atom f x y & args])this surface: ([atom f & args]) |
swap-vals! | arglists Clojure (JVM): ([atom f] [atom f x] [atom f x y] [atom f x y & args])this surface: ([atom f & args]) |
take | arglists Clojure (JVM): ([n] [n coll])this surface: ([n coll]) |
take-nth | arglists Clojure (JVM): ([n] [n coll])this surface: ([n coll]) |
take-while | arglists Clojure (JVM): ([pred] [pred coll])this surface: ([pred coll]) |
vector | arglists Clojure (JVM): ([] [a] [a b] [a b c] [a b c d] [a b c d e] [a b c d e f] [a b c d e f & args])this surface: ([& args]) |
with-redefs-fn | arglists Clojure (JVM): ([binding-map func])this surface: ([binding-map f & args]) |
zero? | arglists Clojure (JVM): ([num])this surface: ([x]) |
Vars Present in Clojure (JVM) but Absent from This Surface (293)
| Var |
|---|
*agent* |
*allow-unresolved-vars* |
*clojure-version* |
*compile-files* |
*compile-path* |
*compiler-options* |
*data-readers* |
*default-data-reader-fn* |
*fn-loader* |
*math-context* |
*print-dup* |
*print-length* |
*print-level* |
*print-meta* |
*print-namespace-maps* |
*read-eval* |
*reader-resolver* |
*source-path* |
*suppress-read* |
*unchecked-math* |
*use-context-classloader* |
*verbose-defrecords* |
*warn-on-reflection* |
->ArrayChunk |
->Eduction |
->Vec |
->VecNode |
->VecSeq |
-cache-protocol-fn |
-reset-methods |
.. |
EMPTY-NODE |
Inst |
PrintWriter-on |
StackTraceElement->vec |
Throwable->map |
accessor |
aclone |
add-classpath |
add-tap |
add-watch |
agent |
agent-error |
agent-errors |
aget |
alength |
alter |
alter-var-root |
amap |
ancestors |
areduce |
aset |
aset-boolean |
aset-byte |
aset-char |
aset-double |
aset-float |
aset-int |
aset-long |
aset-short |
assoc! |
await |
await-for |
await1 |
bases |
bean |
bigdec |
biginteger |
boolean-array |
booleans |
bound-fn |
bound-fn* |
byte |
byte-array |
bytes |
bytes? |
cat |
char-array |
char-escape-string |
char-name-string |
chars |
chunk |
chunk-append |
chunk-buffer |
chunk-cons |
chunk-first |
chunk-next |
chunk-rest |
class? |
clear-agent-errors |
clojure-version |
commute |
comparator |
compare-and-set! |
compile |
completing |
conj! |
construct-proxy |
create-struct |
decimal? |
definline |
definterface |
defprotocol |
defrecord |
defstruct |
deftype |
deliver |
derive |
descendants |
destructure |
disj! |
dissoc! |
dosync |
double-array |
doubles |
eduction |
ensure |
ensure-reduced |
enumeration-seq |
error-handler |
error-mode |
extend |
extend-protocol |
extend-type |
extenders |
extends? |
file-seq |
find-keyword |
find-protocol-impl |
find-protocol-method |
float |
float-array |
floats |
future |
future-call |
future-cancel |
future-cancelled? |
future-done? |
future? |
gen-class |
gen-interface |
get-proxy-class |
get-thread-bindings |
get-validator |
halt-when |
hash-combine |
hash-ordered-coll |
hash-unordered-coll |
ifn? |
import |
init-proxy |
inst-ms |
inst-ms* |
inst? |
int-array |
into-array |
ints |
io! |
isa? |
iteration |
iterator-seq |
load-reader |
locking |
long |
long-array |
longs |
make-array |
make-hierarchy |
map-entry? |
memfn |
method-sig |
mix-collection-hash |
munge |
namespace-munge |
ns-imports |
object-array |
parents |
parse-uuid |
pcalls |
persistent! |
pmap |
pop! |
pop-thread-bindings |
primitives-classnames |
print-ctor |
print-dup |
print-method |
print-simple |
promise |
proxy |
proxy-call-with-super |
proxy-mappings |
proxy-name |
proxy-super |
push-thread-bindings |
pvalues |
random-uuid |
rationalize |
re-groups |
re-matcher |
read+string |
reader-conditional |
reader-conditional? |
record? |
reduced |
reduced? |
ref |
ref-history-count |
ref-max-history |
ref-min-history |
ref-set |
reify |
release-pending-sends |
remove-tap |
remove-watch |
replicate |
restart-agent |
resultset-seq |
rsubseq |
satisfies? |
send |
send-off |
send-via |
seq-to-map-for-destructuring |
seque |
set-agent-send-executor! |
set-agent-send-off-executor! |
set-error-handler! |
set-error-mode! |
set-validator! |
short |
short-array |
shorts |
shutdown-agents |
sorted-map |
sorted-map-by |
sorted-set |
sorted-set-by |
sorted? |
stream-into! |
stream-reduce! |
stream-seq! |
stream-transduce! |
struct |
struct-map |
subseq |
supers |
sync |
tagged-literal |
tagged-literal? |
tap> |
thread-bound? |
to-array |
to-array-2d |
transduce |
transient |
unchecked-add |
unchecked-add-int |
unchecked-byte |
unchecked-char |
unchecked-dec |
unchecked-dec-int |
unchecked-divide-int |
unchecked-double |
unchecked-float |
unchecked-inc |
unchecked-inc-int |
unchecked-int |
unchecked-long |
unchecked-multiply |
unchecked-multiply-int |
unchecked-negate |
unchecked-negate-int |
unchecked-remainder-int |
unchecked-short |
unchecked-subtract |
unchecked-subtract-int |
underive |
unquote |
unquote-splicing |
unreduced |
update-proxy |
uri? |
uuid? |
vector-of |
volatile! |
volatile? |
vreset! |
vswap! |
with-loading-context |
with-local-vars |
with-open |
with-precision |
Vars Present in This Surface but Not in Clojure (JVM) (20)
| Var |
|---|
*joker-version* |
*linter-config* |
*linter-mode* |
*main-file* |
<! |
>! |
bigfloat |
bigfloat? |
callable? |
chan |
close! |
exit |
go |
joker-version |
ns-sources |
pprint |
pr-err |
print-err |
println-err |
prn-err |
Documented Intentional Divergences in This Namespace (2)
*print-namespace-maps* / *print-length* / *print-level* not exposed
- Since
joker-1.0- Rationale
- Joker's pr-str emits a canonical form without exposing these binding-controlled dynvars to user code. Portable code that depends on binding them must guard with a :joker reader conditional.
Several core fns lack the single-arg transducer arity
- Since
joker-1.0- Rationale
- `(map f)`, `(filter pred)`, etc. -- the transducer forms -- are not all implemented. Calling `(into [] (map inc) coll)` with the single-arg transducer form raises an arity error. The sequence-returning forms (`(map f coll)`) work as expected.