flow-storm-debugger
clojure-cli-config
Our great sponsors
flow-storm-debugger | clojure-cli-config | |
---|---|---|
33 | 8 | |
626 | 495 | |
2.4% | 0.8% | |
9.5 | 8.7 | |
10 days ago | 2 months ago | |
Clojure | Makefile | |
The Unlicense | Creative Commons Attribution Share Alike 4.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.
flow-storm-debugger
- FlowStorm a omniscient time travel debugger for Clojure/CLJS
-
What I Have Changed My Mind About in Software Development
Tracing debuggers give you the best of both worlds. I've recently started using Flow-storm [0], by @jpmonettas), and it's been quite transformative. You can still easily see the values flowing through your system (better than just "prints"), and it can handle multi-threaded / async scenarios quite nicely. You don't need to manually step through code, you can just "see" your data flow, and when you have loops or some other form of iteration, you can see the data for each pass. Coupling this with a good data visualization tool (such as Portal [1]) really feels like magic. I've been doing Clojure for quite a few years now, and was very happy with my plain REPL-driven workflow, but this is way better.
[0] https://github.com/jpmonettas/flow-storm-debugger
[1] https://github.com/djblue/portal
- ANN ClojureStorm: Omniscient time travel debugging for Clojure
-
What a good debugger can do
This is another example, a tracing time travel debugger for Clojure https://github.com/jpmonettas/flow-storm-debugger
Supports a bunch of stuff described there and more.
Lisps have some good tooling around debugging, for example clojure's flowstorm or common lisp which has built into the language most of what this article is talking about.
-
Debugging Lisp: trace options, break on conditions
There's some good debugging tooling for Clojure as well. A recent entrant is https://github.com/jpmonettas/flow-storm-debugger and of course there's the estabilished pretty full featured debugging features in CIDER (Emacs), Calva (VS Code) and Cursive (IntelliJ). And for barebones tracing from REPL there's goo old clojure.tools.trace.
-
FlowStorm - Flow Docs, experimental execution derived documentation for Clojure
For Emacs there is something already if you use the Emacs integration described here https://github.com/jpmonettas/flow-storm-debugger/tree/flow-docs/editors.
- Clojure at the REPL: Data Visualization
- [ANN] FlowStorm Clojure[Script] debugger 3.1.259 is out
- Debugging ClojureScript applications with FlowStorm
clojure-cli-config
- Clojure Turns 15 panel discussion video
-
good current tutorial on tooling and REPL dev for Clojure?
Programming Clojure 3rd edition does have some minimal coverage of the CLI but it just barely made it to publication and a lot has been added since. You might find the CLI guide (https://clojure.org/guides/deps_and_cli) and CLI reference (https://clojure.org/reference/deps_and_cli) to be helpful for some questions. The Practicalli guide (https://practical.li/clojure/) has a number of good pages and resources on repl, tools, and use.
-
Clojure 15th Anniversary: A Retrospective
Yeah this is grim.
There is https://github.com/practicalli/clojure-deps-edn which solves this but it’s not linked to from any official docs which seems a miss to me. As well as the config and full documentation, it also comes with a video walking you through a demo of all the features.
-
Building a Startup on Clojure
I was lost when I moved to deps from lein, but just forking and cloning https://github.com/practicalli/clojure-deps-edn as $HOME/.clojure solved the problem - this base deps.edn contained all the aliases I needed - creating a new project, searching and adding dependencies, hooking up data inspectors like portal or reveal, testing, code coverage, benchmarking, building uberjar etc. Moving to deps also introduced me to polylith [1], which has been very useful for building large multi-component projects
[1] https://polylith.gitbook.io/polylith/
-
Book recommendation focusing on tooling?
When I'm looking for tooling related stuff I do always check practical.li (https://practical.li/clojure/) since it probably has a good, if terse, description and mostly has links to the good documentation (or at least the best available).
-
Scala Isn't Fun Anymore
4. You need build tooling and it seemed the choices were lein (easy user experience but not “blessed” future direction? - not sure about what i’m saying here but it’s the understanding i formed). Tools.deps is the blessed approach but designed to customise the heck out of it - problematic for a beginner like me! Thankfully you can park the customisation for later and just get started with a well laid out starter https://github.com/practicalli/clojure-deps-edn - there’s even a video walks you through its features, all the inspectors and visualisers are nice to know about but not needed yet on a beginner journey
- New Clojure Project Quickstart
- Clojure needs a Rails, but not for the reason you think
What are some alternatives?
test-refresh - Refreshes and reruns clojure.tests in your project.
malli - High-performance data-driven data specification library for Clojure/Script.
hashp - A better "prn" for debugging
schema - Clojure(Script) library for declarative data description and validation
sayid - A debugger for Clojure
yada - A powerful Clojure web library, full HTTP, full async - see https://juxt.pro/yada/index.html
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.
clojure-site - clojure.org site
scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran
portal - A clojure tool to navigate through your data.
babashka - Native, fast starting Clojure interpreter for scripting