Paste number 96709: macros

Paste number 96709: macros
Pasted by: vgeddes
When:1 year, 10 months ago
Share:Tweet this! | http://paste.lisp.org/+22MD
Channel:#chicken
Paste contents:
Raw Source | XML | Display As
vgeddes@pudding:~$ cat test.scm 

(define-syntax foo
  (lambda (e r c)
    (let-values (((x y) (values 1 2)))
      (+ x y))
    `(+ 4 5)))

(print (foo))


vgeddes@pudding:~$ csc test.scm -o foo

Error: during expansion of (foo ...) - unbound variable: y

	Call history:

	<syntax>		(##core#begin (print (foo)))
	<syntax>		(print (foo))
	<syntax>		(foo)
	<eval>		(let-values (((x y) (values 1 2))) (+ x y))
	<eval>		(((x y) (values 1 2)))
	<eval>		((x y) (values 1 2))
	<eval>		(values 1 2)
	<eval>		(x y)	<--

Error: shell command terminated with non-zero exit status 17920: /usr/local/bin/chicken test.scm -output-file foo.c

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.