Hacker News new | comments | show | ask | jobs | submit login
F*dging up a Racket (hashcollision.org)
101 points by sea6ear 826 days ago | hide | past | web | 7 comments | favorite



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.

https://github.com/dyoo/whalesong

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.

https://github.com/soegaard/whalesong


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

https://github.com/soegaard/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.

https://github.com/soegaard/minipascal/blob/master/minipasca...


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 | DMCA | Apply to YC | Contact

Search: