Maybe via " Cross-Phase Persistent Module Declarations"  
http://docs.racket-lang.org/reference/syntax-model.html#%28part._cross-phase._persistent-grammar%29
 ?


Thu, 24 Jul 2014 21:24:20 -0400 от "Alexander D. Knauth" <[email protected]>:
>How can I make an identifier that will have a certain binding no matter what 
>phase level it's referenced at?
>
>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?
>
>For example this program using #lang rackjure doesn’t work:
>#lang rackjure
>(require (for-meta 1 racket/base)
>         (for-meta 2 racket/base)
>         (for-meta 3 racket/base)
>         (for-meta 4 racket/base)
>         )
>                                                                               
>              
>#λ(* 2 %) ; works, produces approx. (lambda (%) (* 2 %))
>(begin-for-syntax
>  (begin-for-syntax
>    #λ(* 2 %) ; lambda: unbound identifier at phase 2;
>    ;         ;   also, no #%app syntax transformer is bound in: lambda
>    ))
>
>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?
>
>
>____________________
>  Racket Users list:
>   http://lists.racket-lang.org/users
>


-- 
Roman Klochkov
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to