erdos.assert
debux
erdos.assert | debux | |
---|---|---|
2 | 3 | |
79 | 465 | |
- | - | |
0.0 | 6.5 | |
about 3 years ago | 2 months ago | |
Clojure | Clojure | |
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.
erdos.assert
-
GitHub - erdos/uclj: Small, quick, native Clojure interpreter
Starting this project was inspired by going further with the answer to this stackoverflow question: https://stackoverflow.com/questions/70235356/macroexpand-doseq-in-babashka-vs-in-clojure I found that macroexpansion in SCI often results in different expressions than in JVM Clojure, and that is because SCI uses a different set of special forms for its implementation. My theory was that if we can mimic how Clojure works on the low level, we could reuse a large portion of already existing infrastructure. (like my assertions library) The idea seems to work out so far and this is why core.async works out of the box with uclj.
- Power Assert macro for Clojure
debux
-
Spinneret: A modern Common Lisp HTML generator
The `let` binding is local, so it's referring to clojure.core/+, and outside the function `add` I can use the name `add` to call it. Seems it's handling that case correct?
> I watched a video and it does seem rather complete, but [1] indicates there is no debugger?
I think debuggers tend to be used as a library across many different editors, rather than the editor/plugin providing that functionality. Personally, I don't use debuggers much as the functions I write tend to be small and evaluating small executions with the repl tends to reveal the issue quickly. Sometimes when refactoring others code I've used https://github.com/philoskim/debux to various degrees of success.
I do think cider (https://github.com/clojure-emacs/cider) has stuff regarding stepping debuggers, but I'm not sure how common it is to use it. Maybe other Clojure users can fill me in :)
> . I also don't see a profiler mentioned
Yeah, as you said, the Java ecosystem basically covers that. For OSS stuff, I use VisualVM, and for professional stuff I use YourKit, both of them work well with Clojure and points out my user-space code with ease. And I've never been paid anything for actually writing/maintaining Java code, so even with that, seems I'm able to use those tools just for Clojure :)
> As an aside, by "continuations" did you mean "restarts"?
Ah yes, of course. The condition system and restarts :) Thanks!
-
Debugging in Clojure ยท Dave Martin's Blog
To debug a threading macro you definitely should take a look at debux https://github.com/philoskim/debux .
-
Power Assert macro for Clojure
Really cool! I've used https://github.com/philoskim/debux for somewhat similar(nested prns); I find the horizontal UX quite interesting.
What are some alternatives?
get-port - Get an available TCP port in Clojure with options
hashp - A better "prn" for debugging
geni - A Clojure dataframe library that runs on Spark
cider - The Clojure Interactive Development Environment that Rocks for Emacs
tilakone - Minimalistic finite state machine (FSM) in Clojure
spinneret - Common Lisp HTML5 generator
CRAL - CRAL is a pure Clojure library for consuming Alfresco Content Services public REST API in an idiomatic way.