TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

F*dging up a Racket

101 pointsby sea6earabout 10 years ago

6 comments

tonygabout 10 years ago
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.).<p>[0] <a href="http://docs.racket-lang.org/redex/tutorial.html" rel="nofollow">http:&#x2F;&#x2F;docs.racket-lang.org&#x2F;redex&#x2F;tutorial.html</a>
616cabout 10 years ago
If anyone does not recognize dyoo, the owner of hashcollision.org is also the author of Whalesong, a Racket-&gt;Javascript system. I think it has been discussed before on HN.<p><a href="https://github.com/dyoo/whalesong" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dyoo&#x2F;whalesong</a><p>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.<p>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.<p><a href="https://github.com/soegaard/whalesong" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;soegaard&#x2F;whalesong</a>
soegaardabout 10 years ago
If anyone is interested in seeing how the principles in the article can be used to implement a traditional language, I offer MiniPascal.<p><a href="https://github.com/soegaard/minipascal" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;soegaard&#x2F;minipascal</a><p>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.<p><a href="https://github.com/soegaard/minipascal/blob/master/minipascal/compiler-simple.rkt" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;soegaard&#x2F;minipascal&#x2F;blob&#x2F;master&#x2F;minipasca...</a>
codemacabout 10 years ago
Overriding `read` is really neat!<p>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.
kd0amgabout 10 years ago
This is still the first place I look when I&#x27;m trying to remember what bits and pieces go where in building a #lang.
评论 #9267091 未加载
RickHullabout 10 years ago
Since when does <i>Fidging</i> need character masking?
评论 #9267443 未加载
评论 #9267358 未加载