If the original and user code are in different modules, you can use `provide' with `rename-out' or `require' with `rename-in'.
Vincent At Fri, 04 Jan 2013 20:52:36 +0100, Philipp Dikmann wrote: > > Hello everybody, > > I'm trying to expose a module's functionality to the user via a macro > that will let them use 'short-hand' names for the provided functions. > Yet I want to keep the 'long' names inside the original code for > clarity. The code below will not work - because of macro hygiene - but > demonstrates the intention. How would you approach this? > > #lang racket > > (provide with-timesten) > > (define (timesten x) > (* x 10)) > > (define-syntax with-timesten > (syntax-rules () > [(_ body ...) (let ([tt timesten]) > (begin > body ...))])) > > ;; ... so the user can do: > (with-timesten > (tt 1) > (tt 2) > (tt 3)) > > Best regards, > Philipp > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users