On Monday, March 5, 2018 at 6:36:09 PM UTC, Alexis King wrote:
> I will say this, however: while I have developed over the years a 
reasonably
> strong intuition for how Racket macros operate, when I was learning the 
macro
> system for the first time, I did not find some parts of the hygiene 
algorithm
> terribly intuitive.

I am new to both Racket and Scheme in general. When I learned about Scheme's
hygienic macros, my (incorrect) understanding has always been close to André
van Tonder’s system. I have been programming with this mental modal for 
months,
and only upon reading this discussion did I realize both R6RS and Racket 
macro
systems disagree with my mental modal.

I find the existing macro system easier to understand and use, but I am
concerned that it may introduce unintentional symbol collisions. From a
programmer's perspective, care must be taken when using phase-1 functions, 
and
gensym or others must be used to avoid unintended symbol collision. The
situation seems to be similar to that of using unhygienic macros. The 
problem
seems to be a fundamental one, and syntax/parse is only one instance arising
from this problem.

I recently started switching my projects to Racket because I find it 
powerful
and elegant. I sincerely hope Racket to move in a good direction -- whatever
that means.

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to