PasteRack.org
Paste # 96484
2014-10-24 14:39:06

Fork as a new paste.

Paste viewed 73 times.


Embed:

  1. #lang racket
  2.  
  3. (module m racket
  4.   (require (for-syntax racket/syntax))
  5.   (provide my-define)
  6.   (define-syntax (my-define stx)
  7.         (syntax-case stx ()
  8.           [(_ my-id expr)
  9.                  (with-syntax ([new-id (format-id stx "#%~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