PasteRack.org
Paste # 72338
2014-10-24 14:35:39

Fork as a new paste.

Paste viewed 11 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.                  (with-syntax ([new-id (quasisyntax/loc stx #,(string->symbol (format "#%~a" (syntax-e #'my-id))))])
  9.                                           #'(define my-id expr))]))
  10.   )
  11.  
  12. (require 'm)
  13. (my-define fire (expt 2 34))
  14.  
  15. (display #%fire)

=>

#%fire: undefined;

 cannot reference an identifier before its definition

  in module: 'm