{"author_name":"higepon","title":" On Lisp","author_url":"https://blog.hatena.ne.jp/higepon/","categories":["scheme"],"type":"rich","image_url":null,"provider_url":"https://hatena.blog","published":"2007-03-08 00:24:18","version":"1.0","blog_title":"higepon blog","url":"https://higepon.hatenablog.com/entry/20070308/1173367458","blog_url":"https://higepon.hatenablog.com/","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhigepon.hatenablog.com%2Fentry%2F20070308%2F1173367458\" title=\" On Lisp - higepon blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","description":"\u4eca\u65e5\u306f\u3042\u307e\u308a\u6642\u9593\u304c\u306a\u304b\u3063\u305f\u3002 (define-syntax null! (syntax-rules () ((_ a) (set! a '())))) ;; macro \u3092\u5c55\u958b ;; gosh> (macroexpand '(null! a)) ;; (#<identifier user#set!> a (#<identifier user#quote> ())) (define-syntax mac (syntax-rules () ((_ a) (macroexpand (quote a))))) ;; gosh> (mac (null! a)) ;; (#<identifier user\u2026","height":"190","width":"100%"}