<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">How can I make an identifier that will have a certain binding no matter what phase level it's referenced at?<div><br></div><div>For example if I’m making a reader extension that will produce a lambda expression, how do I make it so that the lambda expression will be able to exist at any phase level?</div><div><br></div><div>For example this program using #lang rackjure doesn’t work:</div><div><div><font face="Courier New">#lang rackjure</font></div><div><font face="Courier New">(require (for-meta 1 racket/base)</font></div><div><font face="Courier New">         (for-meta 2 racket/base)</font></div><div><font face="Courier New">         (for-meta 3 racket/base)</font></div><div><font face="Courier New">         (for-meta 4 racket/base)</font></div><div><font face="Courier New">         )</font></div><div><font face="Courier New">                                                                                             </font></div><div><font face="Courier New">#λ(* 2 %) ; works, produces approx. (lambda (%) (* 2 %))</font></div><div><font face="Courier New">(begin-for-syntax</font></div><div><font face="Courier New">  (begin-for-syntax</font></div><div><font face="Courier New">    #λ(* 2 %) ; lambda: unbound identifier at phase 2;</font></div><div><font face="Courier New">    ;         ;   also, no #%app syntax transformer is bound in: lambda</font></div><div><font face="Courier New">    ))</font></div></div><div><br></div><div>Is there any way to construct an identifier that would be bound to lambda from racket/base no matter what phase level it’s used in?</div><div><br></div><div><br></div></body></html>