File: macro.zuo

package info (click to toggle)
zuo 1.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,352 kB
  • sloc: ansic: 6,374; makefile: 39
file content (19 lines) | stat: -rw-r--r-- 438 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#lang zuo

(require "harness.zuo")

(alert "macros")

(define lang-name 'zuo)

(include "macro-common.zuo")

(let ([five 5])
  (define-syntax (let-five stx)
    (list (quote-syntax let)
          (list (list (cadr stx) 'five)) ; can get captured
          (cadr (cdr stx))))
  (check (let-five x (list x x)) '(5 5))
  (check (let-five x (let ([five 10]) (list x x))) '(5 5))
  (check (let ([five 10]) (let-five x (list x x))) '(10 10)))