3 ms·
> I understand that most of the serious Racket developers use > Emacs, I just haven't gotten into the flow of using it yet. You would be surprised how many of
by soegaard 13y ago
> I understand that most of the serious Racket developers use
> Emacs, I just haven't gotten into the flow of using it yet.
You would be surprised how many of the die-hard Racket programmers use DrRacket for Racket programming. Nothing beats Emacs/Vi for normal text editing, but since DrRacket was written with one purpose only, namely editing Racket code it has a few tricks up its sleave.
Syntax checking while you edit your code, means that any errors you make are highlighted immediately. This also catches misspelled identifiers.
After syntax check you can right click any identifier to rename the identifier (which automatically changes all occurences of the identifier in the file). The renaming even respects lexical scope.
You can easily jump to the file where a identifier is defined (I love to see how things in the builtin libraries are written).
DrRacket will display bitmap and other image values directly in the REPL. This must more convenient than seeing <struct: bitmap>.
You can even change the default REPL printer, to print your own user defined values using gui elements.
One of the most impressive features is how precise the error messages are reported. This goes for both standard errors, but not the least when macros are involved. If you compare the error reports you get from a few errorneous macros in DrRacket and in a standard Racket implementation, you'll see that you can save a lot of time if you use DrRacket.
And while at it, don't forget to try the macro stepper...
Oh! And syntax objects are clicable, so you can see "inside" them. This is gold when debugging macros.
A recent feature: String constants are now spell checked. (if you have ispell/aspell installed).
- moron4hire 13y agoYes, those are all exactly the reasons I still use DrRacket. It seems it would be easier to add features to DrRacket than to write plugins for Emacs/Vi, especially considering the goals of Racket to train users, the default system should be as best of a system as time and manpower allow.