Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hadn't heard of Quack. I have Geiser installed, though now it's been a little while since I last used it (honeymoon got in the way!).

DrRacket indents things rather intelligently. If you newline after the first-position element, it will indent things just past the paren before the first-position element, so that everything lines up in a list. If you newline after any of the other elements first, it will line them up ahead of the function name. But really, most importantly, it seems to understand constructs like "(let ([x 3])\n (displayln x))" should line up the displayln call under the let keyword, not under the value expressions.

Emacs, on the other hand, understands varying levels of scope by matching parens, but just indents things a set number of spaces. I fully admit that this could just be my own ignorance of how to work Emacs. But as mentioned, lacking the Macro stepper, the live syntax checking, and many other features, it just didn't seem worth it to track down this one annoyance.



In my experience Emacs with Quack (or with Geiser, or with both) indents exactly the same as DrRacket.

That's not to say there isn't some corner case where they differ, but it sounds like you're noticing more than that. Try Quack or Geiser.

That's also not to say DrRacket is bad. It feels a bit slower to me when typing, than Emacs. But it has all the cool tools others mentioned. You can also use Emacs most of the time, and use DrRacket for the tools.


As the other reply points out, Quack indents exactly like DrRacket but your other reasons for sticking with DrRacket are totally valid. My primary motivation to move to emacs is that I find myself doing too much of "C-x o" in DrRacket!




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

Search: