Skip to content

Instantly share code, notes, and snippets.

@yuhan0
Last active September 15, 2024 23:14
Show Gist options
  • Select an option

  • Save yuhan0/b6a8d23467d61b89ebd0ef0d389d4302 to your computer and use it in GitHub Desktop.

Select an option

Save yuhan0/b6a8d23467d61b89ebd0ef0d389d4302 to your computer and use it in GitHub Desktop.
Clojure vs Clojurescript core namespace differences
;; Public vars in JVM Clojure (1.11.2) which are missing from Clojurescript (1.11.60, self-hosted via Planck REPL)
;; and roughly categorized according to their purpose.
;; Note: Some manual work was involved in sorting out the macros, so there may be omissions or grouping errors
{:dynamic-vars [*agent*
*allow-unresolved-vars*
*clojure-version*
*compile-files*
*compile-path*
*compiler-options*
*data-readers*
*default-data-reader-fn*
*err*
*file*
*fn-loader*
*in*
*math-context*
*read-eval*
*reader-resolver*
*source-path*
*suppress-read*
*unchecked-math*
*use-context-classloader*
*verbose-defrecords*
*warn-on-reflection*]
:primitive-array [aset-boolean
aset-byte
aset-char
aset-double
aset-float
aset-int
aset-long
aset-short
bytes?
boolean-array
byte-array
char-array
float-array
short-array]
:primitive-vector [->Vec
->VecNode
->VecSeq
EMPTY-NODE
vector-of]
:java-interop [add-classpath
bases
bean
cast
class
class?
definterface
supers
primitives-classnames
gen-class
gen-interface]
:IO [file-seq
line-seq
read
read+string
read-line
read-string
slurp
spit
with-in-str
with-open
print-ctor
print-dup
print-method
print-simple
PrintWriter-on
StackTraceElement->vec]
:vars [alter-var-root
bound-fn
bound-fn*
bound?
thread-bound?
find-var
get-thread-bindings
push-thread-bindings
pop-thread-bindings
with-bindings*
with-redefs-fn
with-local-vars
var-get
var-set]
:namespaces [all-ns
the-ns
in-ns
remove-ns
namespace-munge
compile
load
load-reader
load-string
loaded-libs
with-loading-context
ns-aliases
ns-map
ns-refers
ns-resolve
ns-unalias
find-keyword
alias
intern
refer
requiring-resolve]
:math [*'
+'
-'
inc'
dec'
bigdec
bigint
biginteger
num
decimal?
ratio?
rational?
rationalize
numerator
denominator
with-precision]
:structs [accessor
create-struct
defstruct
struct
struct-map]
:agents [await
await-for
await1
agent
agent-error
agent-errors
clear-agent-errors
error-handler
error-mode
release-pending-sends
restart-agent
shutdown-agents
set-agent-send-executor!
set-agent-send-off-executor!
set-error-handler!
set-error-mode!
send
send-off
send-via]
:refs [alter
commute
dosync
ensure
io!
ref
ref-history-count
ref-max-history
ref-min-history
ref-set
sync]
:futures [future
future-call
future-cancel
future-cancelled?
future-done?
future?
deliver
promise]
:proxy [construct-proxy
get-proxy-class
init-proxy
method-sig
proxy
proxy-call-with-super
proxy-mappings
proxy-name
proxy-super
update-proxy]
:protocol [-cache-protocol-fn
-reset-methods
extend
extenders
extends?
find-protocol-impl
find-protocol-method]
:misc [char-escape-string
char-name-string
clojure-version
default-data-readers
definline
destructure
reader-conditional
reader-conditional?
seque
printf
format
enumeration-seq
iterator-seq
resultset-seq
xml-seq
pcalls
pmap
pvalues
re-groups
re-matcher
unquote
unquote-splicing]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment