@greg is there a way in racket-mode to have source level debugging? i.e. setting breakpoints, running in debug mode, etc?
@pocmatos No.
I mean, a couple years ago I got this mostly working. Including, when you hit a breakpoint, you have a full REPL at that point.
But that’s a pretty stale branch on GitHub now.
I never merged because I wasn’t sure I wanted to sign up to support that as a feature, if no one really needed it.
And I’ve only heard a few requests for that.
For myself, I find that print
, racket/trace
, and logging (plus of course a REPL) are all I really need — at least for what I do. ¯_(ツ)_/¯
Also there is #R
and debug-repl
from… dang, what’s the package…
And of course DrRacket has a step debugger.
One caveat with DrRacket (and with my experimental stale branch) is that they work by rewriting your program — into a step- and breakpoint-able version of your program.
So it’s significantly slower.
Also there’s the question, beyond some foo.rkt file, how many other files do you — or can you — rewrite this way so that you can step through them, too? And the UX for that has always been kind of non-satisfying, in my experience.
TL;DR I decided not to add this to my list of windmills to tilt
@mflatt or @robby If you have any thoughts: https://github.com/racket/racket/issues/1916
(I’m not sure if its a DrRacket bug or a Racket module registry bug (or something else).)
That’s how Racket works I am sorry to say
When you load a file and then change the file on the disk, you need a new namespace
You could say that drr should not let you into its namespace
:’(
And that is a drr bug.
I hope to fix it someday but it isn’t simple.
@joshuarowe has joined the channel
@indraniel has joined the channel
@robby That makes sense. I just didn’t know what drr was doing.
But ya, if it is loading the snip into the same namespace the error makes sense.
Which I guess means it is a caching bug :wink: … just a non-trivial one to fix.
Anyway, thank you.