rcf
snoop
rcf | snoop | |
---|---|---|
11 | 3 | |
266 | 77 | |
0.8% | - | |
0.0 | 0.0 | |
7 months ago | 11 months ago | |
Clojure | Clojure | |
MIT License | Eclipse Public License 2.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!
snoop
-
fulcrologic/guardrails: spec as a loose type checker
and if you want something closer to the guardrails syntax there is: https://github.com/CrypticButter/snoop
-
Which type declaration library is the standard nowadays?
I've been using it together with https://github.com/CrypticButter/snoop it has been great and really hitting the sweet-spot of what you could expect from a type system.
-
Spec vs. Preconditions
You can take a look at malli instead of spec. Then take a look at the snoop library (https://github.com/CrypticButter/snoop) that provides some goodies on top of malli to easily define schema for function parameters and return types.
What are some alternatives?
scittle - Execute Clojure(Script) directly from browser script tags via SCI
martian - The HTTP abstraction library for Clojure/script, supporting OpenAPI, Swagger, Schema, re-frame and more
CSharpRepl - A command line C# REPL with syntax highlighting – explore the language, libraries and nuget packages interactively.
spec-tools - Clojure(Script) tools for clojure.spec
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.
ghostwheel - Hassle-free inline clojure.spec with semi-automatic generative testing and side effect detection
Light Table - The Light Table IDE ⛺
guardrails - Efficient, hassle-free function call validation with a concise inline syntax for clojure.spec and Malli
rich-comment-tests - RCT turns rich comment forms into tests.
clojerl - Clojure for the Erlang VM (unofficial)
spec.alpha - Babashka-compatible fork of clojure.spec.alpha