flow-storm-debugger
debug-adapter-protocol
flow-storm-debugger | debug-adapter-protocol | |
---|---|---|
33 | 14 | |
632 | 1,328 | |
2.2% | 2.8% | |
9.6 | 7.6 | |
9 days ago | 19 days ago | |
Clojure | HTML | |
The Unlicense | GNU General Public License v3.0 or later |
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
debug-adapter-protocol
-
The IDEs we had 30 years ago and we lost
> There's a strange dance of IDEs coming and going, with their idiosyncracies and partial plugins.
The Language Server Protocol [1] is the best thing to happen to text editors. Any editor that speaks it gets IDE features. Now if only they'd adopt the Debug Adapter Protocol [2]...
[1] https://microsoft.github.io/language-server-protocol/
[2] https://microsoft.github.io/debug-adapter-protocol/
-
Bitty Engine: A tiny powerful game engine
Wonder if they've got support for Debug Adapter Protocol? https://microsoft.github.io/debug-adapter-protocol/
- Hi vimmers! Does any one use F[1..12] keys and what for? Cheers!
-
What a good debugger can do
> Debuggers need to do more things
It's true that coming up with an interface for an abstract debugger is harder, but it's not impossible. Microsoft create Debug Adapter Protocol (https://microsoft.github.io/debug-adapter-protocol/), which is conceptually similar for LSP. It's not perfect, but covers most basic operations pretty well, while leaving to the debugger to deal with the implementation details.
-
There is No “Tooling Issue” in Haskell
Most languages also include support for the Debug Adapter Protocol, and Haskell is no exception, so if you are so inclined, you can hook up your favorite editor/IDE and go to town.
-
Debug this meme
They're working on the Debug Adapter Protocol but it doesn't have critical mass/adoption yet. And yeah, I end up having a fair share of dbg!(foo). It's not so bad since dbg!() also returns its value, so you don't have to mess with your code too much.
-
Step Debugger Development: Debug Adapter Protocol Support
TL;DR: What would it take to implement a Debug Adapter Protocol (DAP)-based step debugger?
- DAP – Debug Adapter Protocol
-
Try TeXmacs in your Browser via WebAssembly (Mogan Fork of TeXmacs)
RDP is the Windows Remote Desktop Protocol that was in use for decades before VSCode; VSCode's own remoting doesn't use it.
I'd say that, in addition to LSP, the other big thing that came out of VSCode is DAP: https://microsoft.github.io/debug-adapter-protocol.
-
I got fired yesterday for using vim
The most important part is the JDT Languag Server, it will give you the Java tooling for writing code. I think it has DAP support as well, so with a DAP client like nvim-dap you should be able to debug as well.
What are some alternatives?
test-refresh - Refreshes and reruns clojure.tests in your project.
cortex-debug - Visual Studio Code extension for enhancing debug capabilities for Cortex-M Microcontrollers
hashp - A better "prn" for debugging
ghci-dap - ghci having DAP interface.
scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran
error-message-index - A community-driven collection of documentation for Haskell error messages and warnings
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.
watchpoints - watchpoints is an easy-to-use, intuitive variable/object monitor tool for python that behaves similar to watchpoints in gdb.
sayid - A debugger for Clojure
mogan - Mogan STEM Suite (based on GNU TeXmacs): Enjoy exploring science and technology!
portal - A clojure tool to navigate through your data.
delve - Delve is a debugger for the Go programming language.