PasteRack.org
Paste # 52047
2014-10-24 14:33:08

Fork as a new paste.

Paste viewed 35 times.


Embed:

  1. #lang racket
  2.  
  3. (module m racket
  4.   (provide my-define)
  5.   (define-syntax (my-define stx)
  6.         (syntax-case stx ()
  7.           [(_ my-id expr)
  8.            (begin
  9.                  (with-syntax ([new-id #'#,(string->symbol (format "#%~a" (syntax-e #'my-id)))])
  10.                                           #'(define my-id expr)))]))
  11.   )
  12.  
  13. (require 'm)
  14. (my-define fire (expt 2 34))
  15.  
  16. (display #%fire)

=>

#%fire: undefined;

 cannot reference an identifier before its definition

  in module: 'm