Hacker News new | comments | show | ask | jobs | submit login
F*dging up a Racket (hashcollision.org)
101 points by sea6ear on Mar 25, 2015 | hide | past | web | favorite | 7 comments

Nice article. One thing that people are doing these days is using the #lang mechanism to easily turn a Redex [0] model into a quick-and-dirty prototype implementation of a new language, integrated with the Racket tooling (IDE etc.).

[0] http://docs.racket-lang.org/redex/tutorial.html

If anyone does not recognize dyoo, the owner of hashcollision.org is also the author of Whalesong, a Racket->Javascript system. I think it has been discussed before on HN.


Needless to say, if this guy is fudging Racket, I am not sure what we can say about the rest of us and what we do with the language. Haha.

EDIT: Was the author, it seems he passed it off to another Racketer now that he is busy with other stuff. Should have clicked the link before posting.


If anyone is interested in seeing how the principles in the article can be used to implement a traditional language, I offer MiniPascal.


The reader (lexer and parser) turns the source program into syntax objects. The main idea is to make a Racket macro for each Pascal construct. The Racket macro expands into normal Racket.


Overriding `read` is really neat!

While I was reading this I realized just about any scheme implementation could probably override their `read` like this as well. Obviously racket as an implementation has focused on making this work well.

This is still the first place I look when I'm trying to remember what bits and pieces go where in building a #lang.

Since when does Fidging need character masking?

Makes the article seem "edgy"

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