Re: Expansion problem
Neil Van Dyke <[email protected]>
| Newsgroups | gmane.comp.lang.racket.user,gmane.lisp.scheme.plt |
|---|---|
| Message-ID | <[email protected]> |
Jean-Michel HUFFLEN wrote on 06/03/2018 11:07 AM: > However, I confess that I try to be independent of specific features, > as far as possible. Not to be portable at any price, but because using > several Scheme interpreters has already allowed me to detect errors. > Besides, I think that a general purpose macro, as is "do*", should be > defined using only Scheme's kernel. That sounds quite reasonable. (And I have been in a similar position. One time, when testing my R4RS or R5RS code with several different Scheme implementations, one of the implementations actually complained about a bug of mine that the more fashionable implementations didn't tell me about.) If you get more into problems like domain-specific languages, or implementing general-purpose non-Scheme-ish other languages, definitely take a look at Racket-specific features for that, which it is one of Racket's especial strengths over any language platform I'm aware of. Also, a perhaps less-obvious strength of Racket is its module and phase system. Even if you're writing what would otherwise be easy to do in R5RS code, the Racket module system can support good practices, such as for embedding unit tests among definitions. Were I going to the effort to write portable Scheme code in Racket today, avoiding many Racket-specific features, I'd still probably use Racket as my "source" language, to get the benefit of things like `module+ test`, error reporting, and DrRacket tools, and then (like I used to) have a simple tool that generates RnRS and implementation-specific packagings from that source format. With modern Racket, I could even make a `#lang one-ring`, :) which keeps the generic Scheme ".scm" files and different other implementation-specific packagings for a ".rkt" file up-to-date. (These are just some of my own thoughts; the Racket community has a diversity of different ideas about these.) Happy Scheming and Racketeering. :) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] For more options, visit https://groups.google.com/d/optout.