Hi Matthew,
Your proposal sounds very good to me (for what my opinion is worth). Thanks.
FWIW I give you my findings, which are positive.
I have tried the snapshot with the tests of three of my systems:
lc-with-redex (not in planet or github)
fmt (on planet)
infix (not yet in planet or github)
In total over a thousand tests.
All succeeded.
infix has a phase nesting level of 3 or 4:
macro definitions within macro definitions and
requires at level 0 and 1 and much depending on free-identifier=?.
No problem.
Some of the tests use fresh namespaces with namespace-requires at relative
level 0 and 1.
No problem either.
I ran all tests in DrRacket, hence times cannot be trusted, but I do not
notice slow down.
Thanks again, Jos
 

-----Original Message-----
From: racket-users@googlegroups.com [mailto:racket-users@googlegroups.com]
On Behalf Of Matthew Flatt
Sent: jueves, 21 de mayo de 2015 15:15
To: us...@racket-lang.org
Subject: [racket-users] try a new macro expander

I've been working on a new model of macros for Racket. The new model
provides a simple account of scope, makes reasoning about macros
easier, and simplifies the implementation of the macro expander while
fixing bugs (e.g., submodules in Typed Racket).

You can read more about the model here:

  http://www.cs.utah.edu/~mflatt/scope-sets-5/

Section 3 includes a download link and a report on how current packages
fare with the new expander:

  http://www.cs.utah.edu/~mflatt/scope-sets-5/implementation.html

As that report shows, most libraries and packages work as-is, but not
all of them work --- and that's counting only code that's registered at
the package catalog.

Unfortunately, we can't support multiple macro languages and keep all
old libraries working unmodified. The change is at the level of syntax
objects and scope representation, which is part of the foundation for
supporting multiple languages, and all Racket languages have to agree
on that part.

Although my experience with the new expander has been positive, I don't
think anyone else has worked with it seriously, yet. Give it a try if
you have time. Otherwise, be prepared for me to come back in a few
weeks and lobby for moving to a new macro expander.

-- 
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.

-- 
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