<div dir="ltr">I think this is really wrong. Of course, you can program in Racket in a R5RS style, but it would hardly be idiomatic Racket. Most of my Racket code is very hard to port to R5RS, due to using features like generics, the match macro, and for/... loops. As another example, almost all of my non-trivial programs heavily use immutable sets and dictionaries, which few if any Schemes provide. Racket's module systems is also very good, and I use things like prefix-in quite often, while most Schemes have really poor module systems. The styles are different enough that I very much enjoy writing complicated systems in Racket, but absolutely abhor the few occasions I had to make something other than a monolithic script in Chicken or Gambit.<div><div><br></div><div>Unfortunately, a lot of the "Racket" code I see around are little more than R5RS with #lang racket on top of them. I blame HtDP and similar things which treat Racket as a Scheme environment for teaching, and essentially R5RS++, which I can't blame since Scheme is much more minimalist and much better for education. But it misses the point of Racket IMO. Racket feels much more like Common Lisp than Scheme in terms of the large number of forms and heaps of core features.<br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 21, 2015 at 11:00 PM, Neil Van Dyke <span dir="ltr"><<a href="mailto:neil@neilvandyke.org" target="_blank">neil@neilvandyke.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
* Much of a Racket programmer's skill transfers over easily to R5RS. (Idiomatic Racket programming is mostly idiomatic Scheme programming, IMHO.)<br><br>
<br>
</blockquote></div><br></div></div></div></div>