As part of my ongoing attempt to turn my Redex model into a #lang, I'm 
wondering, is there a way to fully expand and evaluate a syntax object at 
compile-time? I'm trying to get compile-time typechecking working.

Here's what I have:

 * My Redex model uses names like TermLam, TermApp etc.
 * I've defined lambda and #%app so that the user can write normal programs 
that are translated into Redex terms.
 * I've done (require (for/syntax redex/reduction-semantics 
"my-redex-model.rkt")), so that I have access to my Redex model at compile 
time

When the user writes a term (using lambda and #%app macros), I need to take 
the syntax object 

I'd tried using local-expand and syntax->datum,  but I think it's expanding 
too far, i.e. it's giving "(#%expression (let-values () (let-values (((ws1) 
(#%expression ..." redex doesn't know how to interpret as a term.

Is there a way to do this? Or am I trying to push redex farther than 
intended?

Thanks!

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