
Is there an alternative to Dr.Racket?

I’ve successfully worked on Racket in VSCode, Vim, and Emacs – but Dr. Racket is a really great out-of-the-box experience and I come back to it often. I don’t think there’s another integrated development environment that would be nearly as useful.

Always, in what manner do you mean? An alternative to the IDE?

@mark.warren yes

Is there something that allows me to use racket without Drracket? Like I want to be able to write tests and get results and debug through

Mostly because I’m a beginner

Dr Racket seems to be very slow for me.

There’s a section in the Racket documentation that should help:
https://docs.racket-lang.org/guide/other-editors.html
Since you’re a beginner you might want to be sure you’ve read the Racket guide as well:

I guess you can write racket code in any editor you like and use the command line tools. I think some people use emacs (or a version of it).


@buoyantair Greg Hendershott’s racket-mode for emacs is excellent, and it includes a lot of the Racket-specific functionality in DrRacket.

Yes, most likely. It works if you launch it from the command-line using the drracket
executable, which is what I do.

@racketslack has joined the channel

Hi! I’ve got a hello.rkt file containing a simple #lang web-server/insta
servlet. How do I get it to run using plt-web-server
? Just running it within the same directory gives me a (Powered by Racket) 404 on http://localhost:8080/servlets/hello.rkt

I’ve tried putting the file in ./servlets/hello.rkt
and in ./htdocs/hello.rkt
as well. Couldn’t find the right place in the docs. The default configuration table contains (servlet-root ".")
which suggests that the working dir should be fine.

Does it work if you open it in DrRacket and click run? (The server is started and the page is opened in the browser automatically)

If it works there, we can get to work in the terminal too.

yeah works



Note the url when you run it in DrRacket:


If you do the following in the terminal:

Short: racket hello.rkt
then the browser shows “Hello World”

Yeah it opens http://localhost:61585/servlets/standalone.rkt and that works as well

but I’d like to use plt-web-server
instead since it offers the GET /conf/refresh-servlets
call for a shorter edit-save-refresh feedback loop

Or would you recommend other ways to get such a quick feedback loop for developing servlets?

@racketslack Then you need to pick another solution than web-server/insta
. See section 1.2 Simple Single Servlet Servers

Ok thanks @soegaard2. Trying the first example under 1.2.1 now, and I can again run it through DrRacket or racket
but not through plt-web-server
. But the advantage now is that it doesn’t pick random ports, so I can do a full restart of the racket
process each time I made a change. Still has some delay but it probably works better for me than the GET /conf/refresh-servlets
I initially sought for.

Great to hear it works. I don’t know what’s the optimal setup is. Anyone wants to share how they have things setup?

Seems like the full restart thing rather might be a conscious design choice, reading https://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html#%28part._.Sending_.Program_.Fragments_to_the_.R.E.P.L%29

Yes. That’s to avoid dependencies on spurious state.

However when using a web-server, there are options.


Thanks will try that