Clojure Core Audit for PTC-Lisp

Copy Markdown View Source

Warning: This file is auto-generated by mix ptc.gen_docs from priv/functions.exs. Manual edits will be overwritten. Edit priv/functions.exs instead.

Comparison of clojure.core vars against PTC-Lisp builtins.

See also: Function Reference | Clojure String Audit | Clojure Set Audit | Java Math Audit

Summary

StatusCount
Supported211
Candidate71
Not Relevant252
Not Classified0
Total534

Details

VarStatusDescriptionNotes
*✅ supportedMultiplies numbers; returns 1 with no args
*'🔲 candidateMultiplies numbers with arbitrary precisionpure numerical operation
+✅ supportedAdds numbers; returns 0 with no args
+'🔲 candidateAdds numbers with arbitrary precisionpure numerical operation
-✅ supportedSubtracts numbers or negates single argument
-'🔲 candidateSubtracts numbers with arbitrary precisionpure numerical operation
->✅ supportedThreads expression as second argument through forms
->>✅ supportedThreads expression as last argument through forms
.❌ not_relevantJava member access and method callsJava interop
..❌ not_relevantChains member access operationsJava interop
/✅ supportedDivides numbers
<✅ supportedReturns true if numbers monotonically increase
<=✅ supportedReturns true if numbers non-decreasing
=✅ supportedEquality comparison
==🔲 candidateType-independent numeric equalitypure numeric predicate
>✅ supportedReturns true if numbers monotonically decrease
>=✅ supportedReturns true if numbers non-increasing
abs✅ supportedReturns absolute value of number
accessor🔲 candidateReturns function accessing structmap value at keypure functional access to data
aclone❌ not_relevantReturns clone of Java arrayJava array manipulation
add-tap❌ not_relevantAdds function to receive tap> valuesI/O and global state side effects
add-watch❌ not_relevantAdds watch function to referencemutable state and referencing
agent❌ not_relevantCreates agent with initial valueconcurrency primitive (mutable state)
agent-error❌ not_relevantReturns exception from failed agentdepends on agent state and exception handling
aget❌ not_relevantReturns value at Java array indexJava interop (Java array access)
alength❌ not_relevantReturns length of Java arrayJava interop (Java array length)
alias❌ not_relevantAdds namespace aliasnamespace manipulation
all-ns❌ not_relevantReturns all namespacesnamespace system
alter❌ not_relevantSets ref value in transactionconcurrency primitive (ref mutation)
alter-meta!❌ not_relevantAtomically sets metadata via functionmetadata and mutability
alter-var-root❌ not_relevantAtomically alters var root bindingvar root mutation
amap❌ not_relevantMaps expression across Java arrayJava interop (Java array iteration)
ancestors❌ not_relevantReturns parents of tag via hierarchyrelies on Clojure's global hierarchy/multimethod system
and✅ supportedShort-circuit logical AND
any?🔲 candidateReturns true for any argumentpure predicate function
apply✅ supportedApplies function to argument sequence
areduce❌ not_relevantReduces expression across Java arrayrelies on Java array interoperability
array-map🔲 candidateConstructs array-map from key-value pairspure constructor for map data structure
as->✅ supportedBinds name to expr, threads through forms
aset❌ not_relevantSets value in Java array at indexperforms mutable operations on Java arrays
assert❌ not_relevantThrows AssertionError if expr falserelies on exception handling/throwing
assoc✅ supportedReturns map/vector with added key-value pairs
assoc!❌ not_relevantSets value in transient collectionrelies on transient collections (mutability)
assoc-in✅ supportedAssociates value in nested structure
associative?✅ supportedReturns true if coll implements Associative
atom❌ not_relevantCreates atom with initial valuerelies on mutable state
await❌ not_relevantBlocks until agent actions completerelies on agent state
await-for❌ not_relevantBlocks with timeout for agent actionsrelies on agent state
bases❌ not_relevantReturns immediate superclass and interfacesJava interop and class inspection
bean❌ not_relevantReturns map based on JavaBean propertiesJava interop (JavaBeans)
bigdec🔲 candidateCoerces to BigDecimalpure numerical coercion
bigint🔲 candidateCoerces to BigIntpure numerical coercion
biginteger🔲 candidateCoerces to BigIntegerpure numerical coercion
binding❌ not_relevantBinds vars to new values for body durationrelies on thread-local var binding mechanism
bit-and🔲 candidateBitwise ANDpure bitwise arithmetic
bit-and-not🔲 candidateBitwise AND with complementpure bitwise arithmetic
bit-clear🔲 candidateClears bit at indexpure bitwise operation on integers
bit-flip🔲 candidateFlips bit at indexpure bitwise operation on integers
bit-not🔲 candidateBitwise complementpure bitwise operation on integers
bit-or🔲 candidateBitwise ORpure bitwise operation on integers
bit-set🔲 candidateSets bit at indexpure bitwise operation on integers
bit-shift-left🔲 candidateBitwise left shiftpure bitwise operation on integers
bit-shift-right🔲 candidateBitwise right shiftpure bitwise operation on integers
bit-test🔲 candidateTests bit at indexpure bitwise operation on integers
bit-xor🔲 candidateBitwise exclusive ORpure bitwise operation on integers
boolean✅ supportedCoerces to boolean
boolean-array❌ not_relevantCreates boolean Java arraycreates Java array, incompatible with BEAM/non-JVM environments
boolean?✅ supportedReturns true if value is Boolean
booleans❌ not_relevantCasts to boolean arrayJava array manipulation
bound-fn❌ not_relevantReturns function with call-site bindingsrelies on thread-local/dynamic scope bindings
bound-fn*❌ not_relevantReturns function applying creation-context bindingsrelies on thread-local/dynamic scope bindings
bound?❌ not_relevantReturns true if all vars have bound valuerelies on dynamic var binding state
bounded-count❌ not_relevantCounts up to n elementsdesigned for lazy sequences
butlast✅ supportedReturns all but last item
byte🔲 candidateCoerces to bytepure numerical type coercion
byte-array❌ not_relevantCreates byte Java arrayJava array creation
bytes❌ not_relevantCasts to byte arrayJava array casting
bytes?❌ not_relevantReturns true if value is byte arrayJava array type check
case✅ supportedConstant-time dispatch on expression value
cast❌ not_relevantThrows ClassCastException if not instancerelies on Java type system and exception handling
cat🔲 candidateTransducer concatenating input collectionspure transducer for collection transformation
char🔲 candidateCoerces to charpure data type coercion
char-array❌ not_relevantCreates char Java arraycreates Java array
char?✅ supportedReturns true if value is Character
chars❌ not_relevantCasts to char arrayrelies on Java char array types
class❌ not_relevantReturns class of valuerelies on Java class introspection
class?❌ not_relevantReturns true if value is Class instancerelies on Java type system
clojure-version❌ not_relevantReturns Clojure version stringenvironment info irrelevant to pure data transformation
coll?✅ supportedReturns true if implements IPersistentCollection
comment❌ not_relevantIgnores body, yields nilREPL/source code construct
commute❌ not_relevantSets ref value via commutative functionmutable state primitive (refs)
comp✅ supportedComposes functions right-to-left
comparator🔲 candidateReturns Comparator from predicatepure function to create a comparison function
compare✅ supportedCompares values returning neg/zero/pos
compare-and-set!❌ not_relevantAtomically sets atom if current equals oldoperates on mutable state (atoms)
compile❌ not_relevantCompiles namespace into classfilescompilation and class generation
complement✅ supportedReturns function with opposite truth value
completing🔲 candidateReturns reducing function with completionpure function for reducing transformations
concat✅ supportedReturns lazy seq concatenating collections
cond✅ supportedMulti-way conditional
cond->✅ supportedThreads through forms where tests true
cond->>✅ supportedThreads as last arg where tests true
condp✅ supportedPredicate dispatch against expression
conj✅ supportedReturns collection with items added
conj!❌ not_relevantAdds item to transient collectionoperates on transient collections (mutable)
cons✅ supportedReturns seq with item prepended
constantly✅ supportedReturns function ignoring args, returning value
contains?✅ supportedReturns true if key present in collection
count✅ supportedReturns number of items in collection
counted?✅ supportedReturns true if constant-time count
create-ns❌ not_relevantCreates or returns namespacerequires namespace system
create-struct❌ not_relevantReturns structure basis objectrelies on legacy fixed-key structure system
cycle❌ not_relevantReturns infinite lazy seq repeating collectionrelies on lazy sequences
dec✅ supportedReturns number minus one
dec'🔲 candidateDecrements with arbitrary precisionpure arithmetic function
decimal?✅ supportedReturns true if BigDecimal
declare❌ not_relevantDefines var names with no bindingsrelies on namespace/var system
dedupe✅ supportedRemoves consecutive duplicates
def✅ supportedCreates and interns global var
definterface❌ not_relevantCreates Java interfaceJava interop
defmacro❌ not_relevantDefines macromacro system
defmethod❌ not_relevantCreates multimethod implementationmultimethods
defmulti❌ not_relevantCreates multimethod with dispatch functionmultimethods
defn✅ supportedDefines named function
defn-❌ not_relevantDefines private functionnamespacing/metadata
defonce✅ supportedDefines var only if not already defined
defprotocol❌ not_relevantCreates protocol with method signaturesprotocols
defrecord❌ not_relevantCreates record type with fieldscustom types/Java-like classes
defstruct❌ not_relevantCreates structure typeobsolete type system
deftype❌ not_relevantCreates custom type with fieldscustom types/Java interop
delay❌ not_relevantDefers expression evaluationlazy evaluation/stateful caching
delay?❌ not_relevantReturns true if value is delayrelies on delay/concurrency which is not supported
deliver❌ not_relevantDelivers result to promiserelies on promise/mutable state
denominator🔲 candidateReturns denominator of ratiopure math operation
deref❌ not_relevantDereferences ref/delay/future/promiserelies on mutable state/concurrency types
derive❌ not_relevantEstablishes hierarchical relationshiprelies on global namespace/hierarchy state
descendants❌ not_relevantReturns all descendants of tagrelies on global namespace/hierarchy state
disj✅ supportedReturns set with item removed
disj!❌ not_relevantRemoves from transient setrelies on transient/mutable data structures
dissoc✅ supportedReturns map with key removed
dissoc!❌ not_relevantRemoves from transient maprelies on transient/mutable data structures
distinct✅ supportedReturns seq removing duplicates
distinct?✅ supportedReturns true if all args distinct
do✅ supportedEvaluates expressions, returns last
doall❌ not_relevantRealizes entire lazy seqrelies on lazy sequences
dorun❌ not_relevantRealizes lazy seq, returns nilrelies on lazy sequences
doseq✅ supportedIterates over sequences for side effects
dosync❌ not_relevantExecutes body in STM transactionrelies on concurrency/STM primitives
dotimes❌ not_relevantExecutes body n times with counterrelies on side-effecting loops
doto❌ not_relevantCalls methods on object, returns objectrelies on Java interop
double✅ supportedCoerces to double
double-array❌ not_relevantCreates double Java arrayrelies on Java arrays
double?✅ supportedReturns true if Double
doubles❌ not_relevantCasts to double arrayrelies on Java arrays
drop✅ supportedReturns seq skipping first n items
drop-last✅ supportedReturns seq without last n items
drop-while✅ supportedDrops items while predicate true
eduction❌ not_relevantReturns reducible wrapper of transducerrelies on lazy/transducer abstractions
empty✅ supportedReturns empty collection of same type
empty?✅ supportedReturns true if collection empty
ensure❌ not_relevantEnsures ref not written by other transactionrelies on software transactional memory (ref/transactional state)
ensure-reduced🔲 candidateWraps in reduced if not alreadypure utility for reduction flow control
enumeration-seq❌ not_relevantLazy seq from Java Enumerationrelies on lazy sequences and Java interop
error-handler❌ not_relevantReturns agent error handlerrelies on agent state
error-mode❌ not_relevantReturns agent error moderelies on agent state
eval❌ not_relevantEvaluates form in current namespacerequires runtime compilation and namespace support
even?✅ supportedReturns true if number is even
every-pred✅ supportedReturns combined predicate (all must be true)
every?✅ supportedReturns true if pred true for all items
ex-cause❌ not_relevantReturns cause of exceptionrelies on exception handling
ex-data❌ not_relevantReturns data map of exceptionrelies on exception handling
ex-info❌ not_relevantCreates exception with message and datarelies on exception handling
ex-message❌ not_relevantReturns exception message stringrelies on exception handling
extend❌ not_relevantAdds protocol implementations for typerelies on protocols
extend-protocol❌ not_relevantExtends protocol to typesrelies on protocols
extend-type❌ not_relevantExtends type to implement protocolrelies on protocols
extenders❌ not_relevantReturns types extending protocolrelies on protocols
extends?❌ not_relevantReturns true if type extends protocolrelies on protocols
false?✅ supportedReturns true if value is false
ffirst✅ supportedFirst of first item
file-seq❌ not_relevantLazy seq of files in directory treerelies on lazy sequences and file I/O
filter✅ supportedReturns items where predicate true
filterv✅ supportedReturns vector of items where pred true
find✅ supportedReturns map entry for key or nil
find-keyword❌ not_relevantReturns keyword with ns and namerelies on namespaces
find-ns❌ not_relevantReturns namespace or nilrelies on namespace system
find-var❌ not_relevantReturns var or nilrelies on vars/namespace system
first✅ supportedReturns first item
flatten✅ supportedFlattens nested collections
float✅ supportedCoerces to float
float-array❌ not_relevantCreates float Java arraycreates Java array
float?✅ supportedReturns true if Float
floats❌ not_relevantCasts to float arrayhandles Java arrays
flush❌ not_relevantFlushes output writerI/O operation
fn✅ supportedDefines anonymous function
fn?✅ supportedReturns true if value is function
fnext✅ supportedFirst of next item
fnil✅ supportedReturns function with nil defaults
for✅ supportedList comprehension from nested iteration
force❌ not_relevantForces evaluation of delayrelies on lazy evaluation/delays
format✅ supportedReturns formatted string
frequencies✅ supportedReturns map of item frequencies
future❌ not_relevantAsync computationconcurrency primitive
future-call❌ not_relevantCalls function asynchronouslyconcurrency primitive
future-cancel❌ not_relevantCancels futureconcurrency primitive
future-cancelled?❌ not_relevantReturns true if future cancelledconcurrency primitive
future-done?❌ not_relevantReturns true if future completeconcurrency primitive
future?❌ not_relevantReturns true if value is futureconcurrency primitive
gensym❌ not_relevantReturns unique symbolmacro system utility
get✅ supportedReturns value for key or nil
get-in✅ supportedReturns value at nested key path
get-method❌ not_relevantReturns multimethod implementationmultimethods not supported
get-proxy-class❌ not_relevantReturns proxy classJava interop
get-thread-bindings❌ not_relevantReturns thread-local bindingsconcurrency primitive / thread locals
get-validator❌ not_relevantReturns reference validatormutable state validator
group-by✅ supportedGroups items by function result
halt-when❌ not_relevantTransducer halting on predicaterelies on transducers which often involve stateful reduction and lazy-like sequence processing
hash🔲 candidateReturns hash codepure function computing a value from data
hash-map✅ supportedCreates hash map from pairs
hash-ordered-coll🔲 candidateReturns hash of ordered collectionpure function computing a hash
hash-set🔲 candidateCreates hash set from itemspure function creating a hash set data structure
hash-unordered-coll🔲 candidateReturns hash of unordered collectionpure function computing a hash
ident?🔲 candidateReturns true if keyword or symbolpure predicate for data types
identical?❌ not_relevantReturns true if same objectrelies on object identity which is not meaningful for serializable data in a BEAM-based environment
identity✅ supportedReturns argument unchanged
if✅ supportedConditional branch
if-let✅ supportedConditional with binding
if-not✅ supportedNegated conditional
if-some✅ supportedBinds if not nil
ifn?✅ supportedReturns true if invokable
import❌ not_relevantImports Java classesrelies on Java interop
in-ns❌ not_relevantChanges current namespacerelies on namespace support
inc✅ supportedReturns number plus one
inc'🔲 candidateIncrements with arbitrary precisionpure mathematical transformation
indexed?✅ supportedReturns true if supports indexed access
infinite?✅ supportedReturns true if number infinite
inst-ms🔲 candidateMilliseconds since epoch for instantpure data extraction from date object
inst?🔲 candidateReturns true if instantpure type predicate
instance?❌ not_relevantReturns true if instance of classrelies on Java class system
int✅ supportedCoerces to int
int-array❌ not_relevantCreates int Java arrayrelies on Java array/mutability
int?✅ supportedReturns true if Integer
integer?✅ supportedReturns true if integer
interleave✅ supportedInterleaves items from collections
intern❌ not_relevantCreates or returns var in namespaceoperates on namespaces
interpose✅ supportedInserts separator between items
into✅ supportedConjoins items from source into target
into-array❌ not_relevantCreates Java array from itemsJava interop
ints❌ not_relevantCasts to int arrayJava interop
isa?❌ not_relevantReturns true if child is parent instancerelies on hierarchy/multimethods system
iterate❌ not_relevantLazy seq of repeated function applicationcreates lazy sequences
iteration❌ not_relevantReducible wrapper of iteratorwraps Java iterators
iterator-seq❌ not_relevantLazy seq from Java Iteratorcreates lazy sequences from Java iterators
juxt✅ supportedApplies multiple functions, collects results
keep✅ supportedKeeps non-nil results of function
keep-indexed✅ supportedKeeps non-nil results with index
key✅ supportedReturns key of map entry
keys✅ supportedReturns map keys
keyword✅ supportedCoerces to keyword
keyword?✅ supportedReturns true if keyword
last✅ supportedReturns last item
lazy-cat❌ not_relevantLazy concatenation of expressionsrelies on lazy sequences
lazy-seq❌ not_relevantCreates lazy sequence from expressionrelies on lazy sequences
let✅ supportedLocal variable bindings
letfn🔲 candidateBinds function names for mutual recursionpure binding of functions for recursion
line-seq❌ not_relevantLazy seq of lines from readerrelies on lazy sequences and reader I/O
list🔲 candidateCreates list from itemspure data structure creation
list*🔲 candidateCreates list with seq appendedpure list constructor
list?🔲 candidateReturns true if listpure predicate
load❌ not_relevantLoads Clojure file from classpathrelies on file I/O and classpath
load-file❌ not_relevantLoads Clojure file from pathrelies on file I/O
load-reader❌ not_relevantLoads code from readerrelies on reader I/O
load-string❌ not_relevantLoads code from stringevaluates code/REPL feature
locking❌ not_relevantAcquires monitor lock, executes bodyconcurrency primitive/locking
long🔲 candidateCoerces to longtype coercion, pure
long-array❌ not_relevantCreates long Java arrayJava interop/primitive array
longs❌ not_relevantCasts to long arrayJava interop/primitive array
loop✅ supportedLoop with recur for tail recursion
macroexpand❌ not_relevantRecursively expands macromacro system
macroexpand-1❌ not_relevantExpands macro one levelmacro system
make-array❌ not_relevantCreates Java arrayJava interop/array creation
make-hierarchy❌ not_relevantReturns empty hierarchyrelies on multimethods system
map✅ supportedApplies function to each item
map-entry?✅ supportedReturns true if map entry
map-indexed✅ supportedApplies function with index to items
map?✅ supportedReturns true if map
mapcat✅ supportedMaps then concatenates results
mapv✅ supportedReturns vector from mapping function
max✅ supportedReturns greatest number
max-key✅ supportedReturns item with greatest function value
memfn❌ not_relevantReturns function calling Java methodrelies on Java interop
memoize❌ not_relevantCaches function results by argumentsrelies on mutable state for caching
merge✅ supportedMerges maps
merge-with✅ supportedMerges maps with combining function
meta❌ not_relevantReturns metadatarelies on metadata support
methods❌ not_relevantReturns multimethod implementationsrelies on multimethods
min✅ supportedReturns least number
min-key✅ supportedReturns item with least function value
mod✅ supportedReturns modulo
name✅ supportedReturns name string of symbol/keyword
namespace❌ not_relevantReturns namespace of symbol/keywordrelies on namespace support
nat-int?✅ supportedReturns true if non-negative integer
neg-int?✅ supportedReturns true if negative integer
neg?✅ supportedReturns true if number negative
newline❌ not_relevantWrites newline to outputrelies on I/O
next✅ supportedReturns seq after first item
nfirst✅ supportedNext of first item
nil?✅ supportedReturns true if nil
nnext✅ supportedNext of next item
not✅ supportedLogical complement
not-any?✅ supportedReturns true if pred false for all
not-empty✅ supportedReturns collection or nil if empty
not-every?✅ supportedReturns true if pred false for some
not=✅ supportedReturns true if not equal
nth✅ supportedReturns item at index
nthnext🔲 candidateReturns nth nextpure list/sequence navigation
nthrest🔲 candidateReturns rest after nth itempure list/sequence navigation
num🔲 candidateCoerces to numberpure numeric coercion
number?✅ supportedReturns true if number
numerator🔲 candidateReturns numerator of ratiopure mathematical operation on ratios
object-array❌ not_relevantCreates object Java arrayrelies on Java interop and host arrays
odd?✅ supportedReturns true if number odd
or✅ supportedShort-circuit logical OR
parents❌ not_relevantReturns immediate parents of tagmetadata/hierarchy manipulation not supported in PTC-Lisp
parse-boolean🔲 candidateParses string to booleanpure string-to-data transformation
parse-double✅ supportedParses string to double
parse-long✅ supportedParses string to long
parse-uuid🔲 candidateParses string to UUIDpure string-to-data transformation
partial✅ supportedFixes supplied arguments to function
partition✅ supportedPartitions items into groups of n
partition-all✅ supportedPartitions without dropping partial group
partition-by✅ supportedPartitions by change in function value
pcalls✅ supportedParallel calls to zero-arity functions
peek✅ supportedReturns first/last without removing
persistent!❌ not_relevantConverts transient to persistenttransients are unsupported
pmap✅ supportedParallel map over collection
pop✅ supportedReturns collection without first/last
pop!❌ not_relevantRemoves from transient collectiontransients are unsupported
pos-int?✅ supportedReturns true if positive integer
pos?✅ supportedReturns true if number positive
pr❌ not_relevantPrints value in readable formI/O operation
pr-str✅ supportedReturns readable string of value
prefer-method❌ not_relevantPrefers multimethod implementationmultimethods are unsupported
prefers❌ not_relevantReturns multimethod preferencesmultimethods are unsupported
print❌ not_relevantPrints value without quotingI/O operation
print-str❌ not_relevantReturns printed string of valuerelies on printing logic/I/O
printf❌ not_relevantPrints formatted outputperforms stdout I/O
println✅ supportedPrints with newline
promise❌ not_relevantCreates promiseconcurrency primitive
proxy❌ not_relevantCreates proxy implementing interfacesJava interop
push-thread-bindings❌ not_relevantInstalls thread-local bindingsthread-local mutability/state
qualified-ident?🔲 candidateReturns true if ident has namespacepure predicate for data inspection
qualified-keyword?🔲 candidateReturns true if keyword has namespacepure predicate for data inspection
qualified-symbol?🔲 candidateReturns true if symbol has namespacepure predicate for data inspection
quot✅ supportedReturns integer division quotient
quote🔲 candidateReturns form unevaluatedfundamental Lisp evaluation control
rand🔲 candidateReturns random float 0-1pure data-generating function (if implemented as a pure seeded RNG)
rand-int❌ not_relevantReturns random int less than argrelies on non-deterministic side effects/state
rand-nth❌ not_relevantReturns random item from seqrelies on non-deterministic side effects/state
random-sample❌ not_relevantReturns random sample of itemsrelies on non-deterministic side effects/state
random-uuid❌ not_relevantReturns random UUIDrelies on non-deterministic side effects
range✅ supportedReturns sequence of numbers
ratio?✅ supportedReturns true if ratio
rational?✅ supportedReturns true if rational number
rationalize🔲 candidateCoerces to ratiopure mathematical transformation
re-find✅ supportedReturns first regex match
re-groups🔲 candidateReturns regex match groupspure string processing function
re-matcher❌ not_relevantReturns matcher for patternreturns an object maintaining mutable state/matcher position
re-matches✅ supportedReturns full regex match or nil
re-pattern✅ supportedReturns compiled regex pattern
re-seq✅ supportedReturns seq of regex matches
read❌ not_relevantReads next form from readerimplies I/O and interaction with reader contexts
read-line❌ not_relevantReads line from inputI/O operation
read-string❌ not_relevantReads form from stringinvokes reader/eval capabilities not supported in sandbox
realized?❌ not_relevantReturns true if delay/future completerelies on concurrency/lazy primitives not supported
record?❌ not_relevantReturns true if recordrelies on class/type system not supported
recur✅ supportedRebinds loop vars and jumps to loop start
reduce✅ supportedReduces collection with function
reduce-kv✅ supportedReduces map with key-value function
reduced🔲 candidateWraps value indicating reduction completepure control flow mechanism for reduction interruption
reduced?🔲 candidateReturns true if wrapped in reducedpure predicate for checking reduction status
reductions❌ not_relevantReturns intermediate reduction resultsreturns a lazy sequence
ref❌ not_relevantCreates STM referencemutable state/concurrency primitive
ref-set❌ not_relevantSets ref value in transactionmutable state/concurrency primitive
reify❌ not_relevantCreates instance implementing protocolsrelies on protocols and class generation
rem✅ supportedReturns remainder of division
remove✅ supportedReturns items where predicate false
remove-all-methods❌ not_relevantRemoves all multimethod implsrelies on multimethods
remove-method❌ not_relevantRemoves multimethod implrelies on multimethods
remove-ns❌ not_relevantRemoves namespacerelies on namespaces
remove-tap❌ not_relevantRemoves function from tap setrelies on global mutable state/taps
remove-watch❌ not_relevantRemoves watch from referencerelies on mutable state references
repeat❌ not_relevantReturns infinite seq repeating valuereturns lazy sequences
repeatedly❌ not_relevantReturns seq calling function repeatedlyreturns lazy sequences
replace✅ supportedReplaces values by map mapping
require❌ not_relevantRequires namespacerelies on namespace/load system
requiring-resolve❌ not_relevantRequires ns and resolves symbolrelies on namespace/load system
reset!❌ not_relevantSets atom valuemutable state (atoms)
reset-meta!❌ not_relevantSets metadatametadata manipulation
reset-vals!❌ not_relevantSets atom, returns [old new]mutable state (atoms)
resolve❌ not_relevantResolves symbol in namespacenamespace/symbol resolution
rest✅ supportedReturns seq after first item
restart-agent❌ not_relevantRestarts failed agentconcurrency primitives (agents)
reverse✅ supportedReverses order of items
reversible?✅ supportedReturns true if collection reversible
rseq❌ not_relevantReturns reverse seq of sorted collectionrelies on lazy/sorted sequence implementation details
rsubseq❌ not_relevantReturns reverse subseq of sorted collrelies on lazy/sorted sequence implementation details
run!❌ not_relevantRuns side effects, returns nilrelies on side effects
satisfies?❌ not_relevantReturns true if type satisfies protocolprotocol/type system feature
second✅ supportedReturns second item
select-keys✅ supportedReturns map with only specified keys
send❌ not_relevantDispatches action to agentrelies on agent mutable state
send-off❌ not_relevantDispatches blocking action to agentrelies on agent mutable state
send-via❌ not_relevantSends action via executor to agentrelies on agent mutable state
seq✅ supportedReturns sequence or nil if empty
seq?✅ supportedReturns true if value is sequence
seqable?✅ supportedReturns true if implements Seqable
sequence❌ not_relevantReturns seq applying transducerrelies on lazy sequences
sequential?✅ supportedReturns true if sequential
set✅ supportedCreates set from items
set!❌ not_relevantSets thread-local var valuerelies on mutable state
set?✅ supportedReturns true if set
short🔲 candidateCoerces to shortpure numerical type coercion
short-array❌ not_relevantCreates short Java arrayrelies on Java array instantiation
shorts❌ not_relevantCasts to short arrayrelies on Java array interaction
shuffle❌ not_relevantReturns items in random orderrelies on non-deterministic side effects (randomness)
shutdown-agents❌ not_relevantShuts down agent thread poolmanages thread pools which is unsupported
simple-ident?🔲 candidateReturns true if ident has no namespacepure predicate for data validation
simple-keyword?🔲 candidateReturns true if keyword has no nspure predicate for data validation
simple-symbol?🔲 candidateReturns true if symbol has no nspure predicate for data validation
slurp❌ not_relevantReads entire contents of file/URLinvolves file/network I/O
some✅ supportedReturns first truthy result or nil
some->✅ supportedThreads through forms while non-nil
some->>✅ supportedThreads as last arg while non-nil
some-fn✅ supportedReturns pred true if any fn truthy
some?✅ supportedReturns true if not nil
sort✅ supportedReturns sorted sequence
sort-by✅ supportedReturns seq sorted by function result
sorted-map🔲 candidateCreates sorted map from pairspure collection construction
sorted-map-by🔲 candidateCreates sorted map with comparatorpure collection construction with custom comparator
sorted-set🔲 candidateCreates sorted set from itemspure collection construction
sorted-set-by🔲 candidateCreates sorted set with comparatorpure collection construction with custom comparator
sorted?✅ supportedReturns true if collection sorted
spit❌ not_relevantWrites content to filefile I/O
split-at✅ supportedSplits seq at index
split-with✅ supportedSplits seq by predicate
str✅ supportedConverts to string
string?✅ supportedReturns true if string
struct❌ not_relevantCreates structure instancelegacy structure system, discouraged/deprecated
struct-map❌ not_relevantCreates structure map from basislegacy structure system, discouraged/deprecated
subs✅ supportedReturns substring
subseq🔲 candidateReturns subseq of sorted collectionpure operation on sorted collections
subvec✅ supportedReturns subvector
supers❌ not_relevantReturns all ancestors of classrelies on Java class hierarchy/interop
swap!❌ not_relevantUpdates atom with functionrequires mutable state (atom)
swap-vals!❌ not_relevantUpdates atom, returns [old new]requires mutable state (atom)
symbol🔲 candidateCoerces to symbolpure data coercion
symbol?✅ supportedReturns true if symbol
take✅ supportedReturns first n items
take-last✅ supportedReturns last n items
take-nth❌ not_relevantReturns every nth itemreturns a lazy sequence
take-while✅ supportedTakes items while predicate true
tap>❌ not_relevantSends value to tapsside-effecting I/O mechanism
test❌ not_relevantRuns tests for namespacebuilt-in testing framework/REPL tool
throw❌ not_relevantThrows exceptionexception handling
time❌ not_relevantEvaluates and prints elapsed timeside-effecting I/O and timing
to-array❌ not_relevantConverts to object arrayJava interop for array creation
to-array-2d❌ not_relevantConverts to 2D arrayJava interop for array creation
trampoline🔲 candidateMutual recursion without stack overflowPure mutual recursion utility
transduce🔲 candidateReduces with transducerPure data transformation utility
transient❌ not_relevantCreates transient collectionMutable state/transients are not supported
tree-seq✅ supportedDepth-first seq from root
true?✅ supportedReturns true if value is true
try❌ not_relevantException handlingException handling is not supported
type✅ supportedReturns type of value
unchecked-add❌ not_relevantAdds without overflow checkJava-specific math optimization
unchecked-add-int❌ not_relevantAdds ints without overflow checkJava-specific math optimization
unchecked-byte❌ not_relevantCasts to byte without checkJava-specific primitive casting
unchecked-char❌ not_relevantCasts to char without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-dec❌ not_relevantDecrements without overflow checkRelies on Java primitive casting/low-level JVM semantics
unchecked-dec-int❌ not_relevantDecrements int without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-divide-int❌ not_relevantDivides ints without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-double❌ not_relevantCasts to double without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-float❌ not_relevantCasts to float without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-inc❌ not_relevantIncrements without overflow checkRelies on Java primitive casting/low-level JVM semantics
unchecked-inc-int❌ not_relevantIncrements int without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-int❌ not_relevantCasts to int without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-long❌ not_relevantCasts to long without checkRelies on Java primitive casting/low-level JVM semantics
unchecked-multiply❌ not_relevantMultiplies without overflow checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-multiply-int❌ not_relevantMultiplies ints without checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-negate❌ not_relevantNegates without overflow checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-negate-int❌ not_relevantNegates int without checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-remainder-int❌ not_relevantRemainder without checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-short❌ not_relevantCasts to short without checkrelies on Java type casting/interop
unchecked-subtract❌ not_relevantSubtracts without overflow checkrelies on JVM-specific primitive behavior/overflow semantics
unchecked-subtract-int❌ not_relevantSubtracts ints without checkrelies on JVM-specific primitive behavior/overflow semantics
underive❌ not_relevantRemoves hierarchical relationshiprequires global hierarchy/multimethod infrastructure
unreduced🔲 candidateUnwraps from reducedpure transformation used for handling reduced values in reductions
unsigned-bit-shift-right🔲 candidateUnsigned right shiftpure bitwise arithmetic operation
update✅ supportedApplies function to map value at key
update-in✅ supportedApplies function to nested map value
update-keys✅ supportedApplies function to map keys
update-proxy❌ not_relevantUpdates proxy method implementationsrelies on Java interop/proxy class system
update-vals✅ supportedApplies function to map values
val✅ supportedReturns value of map entry
vals✅ supportedReturns map values
var-get❌ not_relevantGets value of varrelies on specific var/namespace system
var-set❌ not_relevantSets var in thread-local bindingrelies on mutable thread-local bindings
var?❌ not_relevantReturns true if varrelies on var data structure absent in PTC-Lisp
vary-meta❌ not_relevantReturns value with transformed metadatarelies on metadata feature
vec✅ supportedConverts to vector
vector✅ supportedCreates vector from items
vector?✅ supportedReturns true if vector
volatile!❌ not_relevantCreates volatile with initial valuerelies on mutable state
volatile?❌ not_relevantReturns true if volatilerelies on mutable state
vreset!❌ not_relevantSets volatile valuerelies on mutable state
vswap!❌ not_relevantUpdates volatile with functioninvolves mutable state (volatiles)
when✅ supportedEvaluates body if test true
when-first✅ supportedEvaluates body if seq non-empty
when-let✅ supportedBinds if truthy, evaluates body
when-not✅ supportedEvaluates body if test false
when-some✅ supportedBinds if not nil, evaluates body
while❌ not_relevantRepeats body while test trueimperative looping construct typically relying on side effects
with-bindings❌ not_relevantExecutes body with thread-local bindingsrelies on thread-local state which is not supported in the BEAM model for PTC-Lisp
with-in-str❌ not_relevantEvaluates body with string as inputrelies on I/O streams
with-local-vars❌ not_relevantEvaluates body with local var bindingsrequires mutable local vars
with-meta❌ not_relevantReturns value with new metadatametadata is not supported
with-open❌ not_relevantOpens resources, closes on exitrelies on I/O and resource management
with-out-str❌ not_relevantCaptures output to stringrelies on capturing side-effecting I/O
with-precision❌ not_relevantSets decimal precision for bodyrelies on specific BigDecimal support and dynamic binding context not present in PTC-Lisp
with-redefs❌ not_relevantRedefines vars for body durationmodifies global var bindings, which is not supported in a functional, immutable sandbox
xml-seq❌ not_relevantLazy seq of XML elementsrelies on lazy sequences and I/O-related parsing
zero?✅ supportedReturns true if number is zero
zipmap✅ supportedCreates map from keys and values seqs