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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.