Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1667

G

Greg Hendershott

Personal blog · greghendershott.com · on HN as greghendershottprogramming

Greg Hendershott writes Posts tagged "all", a personal blog at greghendershott.com about programming. Since 2012, 43 different Hacker News readers have linked it 51 times, most often “Fear of Macros”. The last post was in 2020, but the archive is still widely read.

Visit the blog
51mentions?
9recommend?
43HN people?
2012–2026first – last linked?
Links on Hacker News per year · peak 9 in 2015

Too few sampled comments (25) to say how often HN recommends it.?

Why HN links it

HN readers link Greg Hendershott's blog mainly for "Fear of Macros", a tutorial on Racket macros, and also for posts on racket-mode for Emacs and on using Racket in production.

Recommended for · 9 comments
Called a great tutorial, an excellent tutorial, a good starting point and a favourite guide for learning Racket macros.

Summarised by Claude from a sample of 25 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Home: Greg Hendershott

The author on HN?

greghendershott · 451 karma · member since 2013

https://www.greghendershott.com/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Fear of Macros
    7 people · 7 mentions · first linked 2012-11-08
  2. Extramaze: Using Racket, PostgreSQL, AWS, but no ads or JavaScript (2018)
    6 people · 6 mentions · first linked 2018-05-04
  3. /fear-of-macros/
    6 people · 6 mentions · first linked 2019-05-16
  4. #lang rackjure – Clojure-inspired ideas in Racket
    4 people · 4 mentions · first linked 2015-02-07
  5. /fear-of-macros/all.html
    3 people · 3 mentions · first linked 2014-04-17
  6. Exploding Frog (2019)
    2 people · 4 mentions · first linked 2020-11-02
  7. The ~ Threading Macro
    2 people · 2 mentions · first linked 2013-10-22
  8. Fear of Macros
    2 people · 2 mentions · first linked 2018-11-05
  9. Future of Racket
    2 people · 2 mentions · first linked 2019-08-06
  10. To learn why you should skim this post, please read it carefully
    2 people · 2 mentions · first linked 2013-07-25

What Hacker News says?

  1. The way you phrased that suggests you're only familiar with CL-style macros, where arguments to macros are nested lists of symbols a function or variable is known by it's name (a symbol) and nothing more. Racket's model is much more sophisticated and powerful. The input to a macro in Racket is a syntax object [1], which combines the CL-like quoted expression with additional source and lexical binding information. Th…

    Comment linking /fear-of-macros/Syntax_parameters.html

    on “Hy 1.0 – Lisp dialect for Python”
  2. Submitted Extramaze: Using Racket, PostgreSQL, AWS, but no ads or JavaScript (2018) as a story · 218 points

    HN discussion
  3. jpolitz · 2015-03-18Recommends
    Two things spring to mind, there are lots more I'm sure. Racket's macros are unlike any other. They are better thought of as a lightweight compiler API. Check out http://www.greghendershott.com/fear-of-macros/ . Also, the whole #lang framework is a pretty unique tool for experimenting with and extending the language, see http://docs.racket-lang.org/guide/hash-languages.html . For example, used to build http://www.gr…

    Comment linking /rackjure/

    on “John Carmack: “I just dumped the C++ server I wrote for a new one in Racket””
  4. Submitted GitHub dropped Pygments as a story · 184 points

    HN discussion
  5. So part of the problem is that racket mode has a bus factor of 1. I saw that the maintainer posted this [1] a while ago, which is a bit concerning. My point is that would be ideal if the core Racket team also participated in polishing the IDE integrations, other than Dr Racket. 1: https://www.greghendershott.com/2019/07/future-of-racket.htm...

    Comment linking /2019/07/future-of-racket.html

    on “Racket is 25”
  6. Submitted Fear of Macros as a story · 129 points

    HN discussion
  7. tgbugs · 2019-05-16Recommends
    For Racket specific macro tooling syntax-parse [0] in combination with syntax classes is usually the suggested starting point. Hygenic with pattern matching and a bunch of other features for parsing s-expression grammars. As mentioned down-thread Greg Hendershott's Fear of Macros [1] is a good starting point for a number of folks. The curriculum for Racket School 2018 [2] also has exercises that help introduce the s…

    Comment linking /fear-of-macros/

    on “Racket 7.3”
  8. Submitted Fear of Macros as a story · 101 points

    HN discussion
  9. darkpuma · 2019-05-16Recommends
    Try out this guide perhaps: http://www.greghendershott.com/fear-of-macros/

    Comment linking /fear-of-macros/

    on “Racket 7.3”
  10. Submitted Fear of Macros as a story · 83 points

    HN discussion
  11. Racket is a very practical language. If you have the impression that it's some academic quirk you should take a look at what Bogdan Popa is doing with it: https://defn.io/ When I personally want a binary with a native GUI I turn to Racket. It's also pretty nice for parsing stuff, like JSON, XML, some text-file formats. The companion book How to design programs, https://htdp.org/2023-8-14/Book/index.html , is nice to…

    Comment linking /fear-of-macros/

    on “Racket Language”
  12. Submitted Future of Racket as a story · 72 points

    HN discussion
  13. I'm a heavy user of Common Lisp, and I only dabble in Racket from time to time. While Common Lisp is my tool of choice for a lot of reasons stated in the post, since the post largely skews favorably toward Common Lisp, I'll offer two things that Racket shines at: 1. Documentation Racket has a beautiful documentation system called Scribble [0]. Almost all documentation written for Common Lisp is ugly, inconsistent, a…

    Comment linking /fear-of-macros/

    on “Common Lisp vs Racket”
  14. Submitted Exploding Frog (2019) as a story · 7 points

    HN discussion
  15. Hmmm. The syntax stuff could easily be implemented using macros. I like using rackjure by Greg Hendershott: http://www.greghendershott.com/rackjure/ Adding the if statements wouldn't be too much fuzz.

    Comment linking /rackjure/

    on “Why Racket? Why Lisp? (2014)”
  16. Submitted Using Racket, PostgreSQL, AWS (but No Ads or JS) as a story · 6 points

    HN discussion
  17. I believe Rackjure [0] gives some of the particular conveniences of Clojure back to Racket. [0] http://www.greghendershott.com/rackjure/

    Comment linking /rackjure/

    on “Why Racket? Why Lisp? (2014)”
  18. Submitted #lang rackjure – Clojure-inspired ideas in Racket as a story · 5 points

    HN discussion
  19. At least for people who want to use Emacs and Racket, it seems like this Emacs project provides the client/server kind of setup you're talking about. Or no?: https://www.greghendershott.com/2018/10/racket-mode.html

    Comment linking /2018/10/racket-mode.html

    on “Racket v7.2”
  20. Submitted To learn why you should skim this post, please read it carefully as a story · 5 points

    HN discussion
  21. Here's a little write-up from somebody who uses Racket in production in a commercial web product: https://www.greghendershott.com/2018/05/extramaze-llc-using-...

    Comment linking /2018/05/extramaze-llc-using-racket-postgresql-aws-but-no-ads-or-js.html

    on “Racket v7.2”
  22. Submitted Fear of Macros as a story · 3 points

    HN discussion
  23. Good point. For that part, my favorite guide is https://www.greghendershott.com/fear-of-macros/

    Comment linking /fear-of-macros/

    on “Ask HN: I want to start learning Lisp. Where do I begin?”
  24. Submitted Fear of Macros as a story · 3 points

    HN discussion
  25. Hi, Racket community member here. Thanks for the in-depth comment about your experience, and thanks for writing about your work with the webserver library! A couple follow up questions if you've got the time: 1. Could you elaborate on the stacktrace issues you encountered? 2. The Gregor package [0] is currently a bit of a community standard for date and time functionality. There's a general desire to merge this into…

    Comment linking /2015/08/at-expressions.html

    on “Racket v6.8”
  26. Submitted Fear of Macros as a story · 3 points

    HN discussion
  27. Yes. https://www.greghendershott.com/2018/05/extramaze-llc-using-... https://defn.io/2019/08/20/racket-ecommerce/

    Comment linking /2018/05/extramaze-llc-using-racket-postgresql-aws-but-no-ads-or-js.html

    on “A New R6RS Scheme Compiler”
  28. Submitted Fear of Macros (macro tutorial) as a story · 2 points

    HN discussion
  29. http://www.greghendershott.com/fear-of-macros/fear-of-macros... Which would easily make decades old and still maintained Lisp implementations unmaintainable, since they contain zillions of macros themselves.

    Comment linking /fear-of-macros/fear-of-macros.jpg

    on “Let over Lambda – Common Lisp Book (2008)”
  30. Submitted A Git Guide for Infrequent Contributors as a story · 2 points

    HN discussion

Search all of HN for greghendershott.com

Linked by the same people?