J

Jay McCarthy

jeapostrophe.github.io · Personal blog · on HN since 2013

Jay McCarthy, a Racket developer and professor, writes about Racket, compilers, macros, and programming language teaching.

What HN saysHN commenters link his course pages and Essentials of Compilation as good incremental compiler teaching, and point to his Racket macro work.
16HN people shared it
7linked it in comments
21stories submitted
256story points
7 months agolast shared
2013people per year2026

Most-shared posts

  1. 1
    The Underbelly of Racket Macro Basics
    3 people · 39 points · first shared 2013 · 6 comments on HN
  2. 2
    Essentials of Compilation – compiling Racket [pdf]
    3 people · 3 points · first shared 2017 · discussion on HN
  3. 3
    Addition on Turing Machines (2013)
    2 people · 33 points · first shared 2015 · 3 comments on HN
  4. 4
    Writing a Vi-like Graphics Editor in Racket
    1 people · 88 points · first shared 2013 · 22 comments on HN
  5. 5
    The Anti-Human Consequences of Static Typing
    1 people · 43 points · first shared 2013 · 63 comments on HN
  6. 6
    Don't Wait for Claude
    1 people · 23 points · first shared 2026 · 35 comments on HN
  7. 7
    The Skyline Problem in Racket
    1 people · 5 points · first shared 2024 · 4 comments on HN
  8. 8
    Practically Accurate Floating-Point Math [pdf]
    1 people · 3 points · first shared 2019 · discussion on HN
  9. 9
    Efficient Forth in 85 Lines of Racket
    1 people · 3 points · first shared 2013 · discussion on HN
  10. 10
    Duff’s Device in Racket
    1 people · 3 points · first shared 2013 · discussion on HN
  11. 11
    Defer, Panic, and Recover in Racket
    1 people · 2 points · first shared 2013 · discussion on HN
  12. 12
    A* Search in Racket
    1 people · 2 points · first shared 2013 · discussion on HN
  13. 13
    Binding Forms in Racket and How to Implement Them
    1 people · 2 points · first shared 2013 · discussion on HN
  14. 14
  15. 15
    Implementing a Short Hand for Rackunit Tests
    1 people · 1 points · first shared 2013 · discussion on HN

What HN people wrote when they linked it

gilmi · 2020-10-04
I love 'the incremental approach to compiler construction'. Here are a few other courses that use this approach to teach compiler construction: * http://www.ccs.neu.edu/course/cs4410/ * https://ucsd-cse131-f19.github.io/ * https://jeapostrophe.github.io/courses/2017/spring/406/notes/book.pdf
baldfat · 2017-09-21
> you will end up needing something that is only available for the most popular 5-6 languages The thing that is the Special Sauce for Racket is it's macro system. You can build your own language for specific things easily or you can extend Racket with a library also much easier then the other 5-6 languages. Racket really has a chance of being the Python of functional(ish) languages. The ability of the community to produce a great ecosystem is all right there baked in. http://jeapostrophe.github.io/2013-07-22-123list-post.html I also think the documentation is all in one place. The library Scribble makes it simple for everyone to document your macro/library simply and uniformly. I really have high hopes for Racket over the next 5 years.
jpolitz · 2015-09-17
Off the top of my head, I'm not sure (other than follow-up work to this paper, like http://jeapostrophe.github.io/home/static/icfp065-mccarthy.pdf [ICFP '09]). But, the ideas in that paper aren‘t any less true just because they are from 2005, and they are still what the Racket web server runs on as far as I know :-)
goda90 · 2024-06-24
Maybe it was just how tough on grading my professor was but I had a hard time with a class called "Concepts of Programming Languages". It covered stuff like syntax, typing, garbage collection, etc. My professor was on the Racket dev team, and the whole class was done in Racket. He was actually pretty thorough about recording lectures and notes so it can be found here: https://jeapostrophe.github.io/courses/2013/fall/330/course/
gsg · 2017-09-02
There's a decent textbook written in the incremental style argued for by the author: Essentials of Compilation. It features compilers for seven languages, written in Racket, each with successively more advanced features. https://jeapostrophe.github.io/courses/2017/spring/406/notes/book.pdf
takikawa · 2013-08-08
> and a better abstract model for macros than even Racket's stellar syntax-parse. To clarify a little bit, `syntax-parse` is actually not its own model for macros but is a sophisticated front-end for Racket's underlying macro system (described in this paper: http://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf). Also see Jay McCarthy's blog article that tries to clarify this: http://jeapostrophe.github.io/2013-07-22-123list-post.html Racket's macro system and Kernel's fexprs are pretty fundamentally different, so I don't think the comparison is very apt. In particular, Racket's macros can be entirely compiled away.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close