Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Racket 8.4 (racket-lang.org)
112 points by bwidlar on Feb 9, 2022 | hide | past | favorite | 21 comments


>DrRacket shows the region affected by an #; S-expression comment by fading the commented-out region.

Oh cool, I use #; all the time and that's bothered me just a little bit each time.


Adding kinds to Typed Racket makes it an even more attractive alternative to purer functional languages.


What makes racket less pure? Have been looking for a typed lisp to play with for quite some time and the choices have always been either racket or clojure.


https://shenlanguage.org has static typing.


I’m not working with either so this is outside observation at this point, but my takeaway from both is that Clojure is more concerned with functional purity/isolating statefulness, and Racket is more focused on accommodating static types. There’s no reason those should be in conflict, but such is lisp, pick your compromise.

Edit to add: I have worked with Clojure in production, I haven’t for several years, and probably won’t again unless something weird happens in my life.



Coalton [0] is an option too if you're more into the Common Lisp style of programming.

[0] https://coalton-lang.github.io/


Always excited for a Racket release. A consistently updated Scheme with a built in pkg manager, easily downloadable binaries that run on M1 silicon, and phenomenal documentation. Not many lisps can say that!


Does any one know of a great IDE for racket? I tried DrRacket and didn't really enjoy the experience. I would prefer something like Intellij. Thanks.


As far as I can tell there really isn't anything like Intellij. What parts of Intellij are you desiring for DrRacket to handle? I guess it would be the project explorer, the git integration, the import linker, etc. I don't know much about Intellij because it is software that I would have to rent instead of own. Now, I am getting an urge to learn Intellij's plug-in interface to see if that is possible (because there are other Schemes I'd like tooling for as well and if that IDE could bring it then great).

If you aren't afraid of Emacs then give racket-mode a try. If you like VSCode there is some racket support extensions available. I have used both and if you can't stand Emacs the VSCode route is pretty good (just use VSCode extensions to do stuff). However, my private small form factor computer can't handle VSCode too well so it is Emacs or DrRacket (now I have a reason to how well it handles Intellij).


You don't rent Intellij AFAIK, you can pay for a specific version and all older versions, and that will be valid forever. You keep paying so they can provide updates that constantly break it :p


As far as I know the coolest thing about IntelliJ (JetBrains) IDEs always was how well does it understand the code and what can it do with it automatically, i.e. intelligent context-aware code completion, refactoring etc.


Given that Racket isn’t backed by a big institution I don’t think you’ll find better IDE than DrRacket, which is pretty powerful it just doesn’t look great.

Alternatively, as is the case with most lisp/scheme variants, emacs has pretty good support OR you can try the LSP extension for VSCode.


It's not just looks. I've only used it a bit, but there are definitely some rough edges function-wise.


racket-mode is pretty great: https://racket-mode.com/


I’d like to second racket-mode with Emacs. If you want a ton of IDE-like smarts, fire up racket-xp-mode (racket eXPlore mode, comes bundled with racket-mode). Pairs nicely with other good things in the Emacs ecosystem.


Just a note in case someone goes looking for racket-xp-mode explicitly. It's just an ancillary mode included with racket-mode. You'll pretty much always want it turned on. I'm sure there's some reason to turn it off sometime, but I've never done it.


The cursor keeps jumping around when you close parens in the new coloured Racket REPL, just like with Clojure and rlwrap. Very annoying. I went back to the readline mode.


I’m puzzled as to why the web server didn’t (apparently) allow for setting of arbitrary headers…


It did.

It's the standard file dispatcher that now supports keyword arguments for cache control.

https://github.com/racket/web-server/commit/f82decd8bbaf8251...


IIRC I used headers for cache or cookies but I don't remember the details now. There is a header field in `response/full` https://docs.racket-lang.org/web-server/http.html#%28def._%2...

(IIRC^2 the web server has an easy mode and a hard mode. Perhaps the easy mode doesn't have custom headers?)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: