rcf
spec.alpha
rcf | spec.alpha | |
---|---|---|
11 | 2 | |
266 | 13 | |
0.8% | - | |
0.0 | 0.0 | |
7 months ago | over 1 year ago | |
Clojure | Clojure | |
MIT License | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rcf
-
What makes Clojure better than X for you?
After doing some interactive development, I will occasionally reuse some of this example code and make it into actual, formalised tests in the test namespaces. Some people have started using the comment form for actual tests too, e.g. hyperfiddle/rcf or matthewdowney/rich-comment-tests.
-
Playing with datafy/nav on java.io.File in a nextjournal notebook
Test lib is https://github.com/hyperfiddle/rcf, which had a release last week – the release is a noop from userland but has a bunch of infrastructure we need (RCF now implements the Clojure/Script analyzer to extend Clojure syntax so that (do x := y) is an async test assertion at any depth in the form.)
-
On Repl-Driven Programming
Not to make you feel too bad, but based on your sentence you may appreciate a recent addition to my personal REPL toolkit in Clojure which I very much enjoy.
You may remember the rich comment forms in Clojure development as a communication tool to your future self and others. Now someone made them testable https://github.com/hyperfiddle/rcf#readme
- A solution on how to setup RCF testing lib with lein
- RCF is now stable (REPL-first test macro for Clojure/Script, that also makes async code easy to work with at the REPL without callbacks)
- Contextualizing Clojure in the small and the large
-
ClojureScript repl is very slow
I use shadow-cljs server for both node and browser, the REPL is instant. There is some configuring though, you can probably get help in slack. (Shameless plug – JS has lots of async, to tame that at the REPL try https://github.com/hyperfiddle/rcf)
- RCF (turn your Rich Comment Forms into tests) now has async test support. Develop async expressions at the REPL with the full Clojure interactive experience
-
Spec vs. Preconditions
If you have concerns about the correctness of get-book-tags in isolation I would suggest https://github.com/hyperfiddle/rcf,
-
Rich 4Clojure – A Rich Comments version of 4Clojure
Based on https://github.com/hyperfiddle/rcf, a REPL-first test macro for Clojure/Script which turns your Rich Comment Forms into tests (in the same file as your functions). It's good, try it!
spec.alpha
- nbb: I'm confused how to include dependencies from Clojars
-
RCF is now stable (REPL-first test macro for Clojure/Script, that also makes async code easy to work with at the REPL without callbacks)
(require '[babashka.deps :as deps]) (deps/add-deps '{:deps {com.hyperfiddle/rcf {:mvn/version "20220405"} org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha" :git/sha "1a841c4cc1d4f6dab7505a98ed2d532dd9d56b78"}}}) (require '[hyperfiddle.rcf :as rcf :refer [tests ! %]]) (rcf/enable!) (tests "equality" (inc 1) := 3 "wildcards" {:a :b, :b [2 :b]} := {:a _, _ [2 _]} )
What are some alternatives?
scittle - Execute Clojure(Script) directly from browser script tags via SCI
pathom3 - A library for navigating data.
CSharpRepl - A command line C# REPL with syntax highlighting – explore the language, libraries and nuget packages interactively.
nbb-playground
snoop - Function instrumentation using Malli schemas.
sci - Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
babashka - A Clojure babushka for the grey areas of Bash (native fast-starting Clojure scripting environment) [Moved to: https://github.com/babashka/babashka]
Light Table - The Light Table IDE ⛺
martian - The HTTP abstraction library for Clojure/script, supporting OpenAPI, Swagger, Schema, re-frame and more
rich-comment-tests - RCT turns rich comment forms into tests.
clojerl - Clojure for the Erlang VM (unofficial)