Fully-satisfies 1.12.0
Released under the EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0
A variant of clojure.core/satisfies? that checks all methods are implemented.
Installation
To install, add the following dependency to your project or build file:
[io.github.frenchy64/fully-satisfies "1.12.0"]
Namespaces
io.github.frenchy64.fully-satisfies.clearing-future
futures that clear conveyed bindings after execution.
Public variables and functions:
io.github.frenchy64.fully-satisfies.everyp
An implementation of clojure.core/every-pred with a simple definitional equivalence.
Public variables and functions:
io.github.frenchy64.fully-satisfies.folda
Variant of `clojure.core/areduce` that supports naming the array.
io.github.frenchy64.fully-satisfies.head-releasing
Variants of clojure.core functions (and internal helpers) that release the head of seqs earlier, enabling lower peak memory usage in some cases.
Public variables and functions:
io.github.frenchy64.fully-satisfies.lazier
Variants of clojure.core functions that are slightly lazier when processing and/or returning lazy seqs.
Public variables and functions:
io.github.frenchy64.fully-satisfies.leaky-seq-detection
A framework to detect memory leaks caused by holding onto the head of sequences.
Public variables and functions:
io.github.frenchy64.fully-satisfies.linear
Linear-time sequence functions
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.core
Implementations of clojure.core macros that don't leak implementation details.
Public variables and functions:
- binding
- delay
- dosync
- future
- lazy-cat
- lazy-seq
- locking
- non-leaky-binding
- non-leaky-delay
- non-leaky-dosync
- non-leaky-future
- non-leaky-lazy-cat
- non-leaky-lazy-seq
- non-leaky-locking
- non-leaky-pvalues
- non-leaky-sync
- non-leaky-vswap!
- non-leaky-with-bindings
- non-leaky-with-in-str
- non-leaky-with-loading-context
- non-leaky-with-local-vars
- non-leaky-with-precision
- non-leaky-with-redefs
- pvalues
- sync
- vswap!
- with-bindings
- with-in-str
- with-loading-context
- with-local-vars
- with-precision
- with-redefs
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.core.async
Implementations of clojure.core.async macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.core.logic.pldb
Implementations of clojure.core.logic.pldb macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.core.match.debug
Implementations of clojure.core.match.debug macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.java.jmx
Implementations of clojure.java.jmx macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.java.shell
Implementations of clojure.java.test macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.pprint
Implementations of clojure.pprint macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.test
Implementations of clojure.test macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.test.check.generators
Implementations of clojure.test.check.generators macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.test.check.properties
Implementations of clojure.test.check.properties macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.test.tap
Implementations of clojure.test.tap macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.non-leaky-macros.clojure.tools.trace
Implementations of clojure.tools.trace macros that don't leak implementation details.
Public variables and functions:
io.github.frenchy64.fully-satisfies.reify-spec
Provides a spec for clojure.core/reify via ::reify-args.
Public variables and functions:
io.github.frenchy64.fully-satisfies.requiring-resolve
A variant of `clojure.core/requiring-resolve` that fixes [CLJ-2735](https://clojure.atlassian.net/browse/CLJ-2735) and is safe to use concurrently with other calls to itself.
Public variables and functions:
io.github.frenchy64.fully-satisfies.run-all
An alternative to `clojure.core/run!` that does not short-circuit on reduced.
io.github.frenchy64.fully-satisfies.safe-locals-clearing
Provides safer versions of delay and lazy-seq that ensure the function calculating their cached values is only called once while preserving their locals-clearing capabilities.
io.github.frenchy64.fully-satisfies.safer
Variants of clojure.core functions that improve thread-safety and general robustness when passed mutating collections.
Public variables and functions:
io.github.frenchy64.fully-satisfies.somef
An implementation of clojure.core/some-fn with a simple definitional equivalence.
io.github.frenchy64.fully-satisfies.uncaught-testing-contexts
Drop-in replacements for `clojure.test/{deftest,testing}` that (when used together) enhances uncaught exception error messages with the (most likely) testing context it was thrown from.
io.github.frenchy64.fully-satisfies.uniform
Variants of clojure.core functions that are generalized to work uniformly for all values.
Public variables and functions: