let-syntax not exported from (scheme base)

Peter McGoron via Chicken-users <[email protected]> Tue, 2 Jun 2026 19:29:52 -0400
Newsgroups gmane.lisp.scheme.chicken
Message-ID <[email protected]>
(define-library (tmp)
   (import (scheme base))
   (export hello)
   (begin
     (define (hello)
       (let-syntax ((I
                     (syntax-rules ()
                       ((_ x) x))))
         (I "world")))))

In repl:

CHICKEN
(c)2000-2007 Felix L. Winkelmann, (c)2008 The CHICKEN Team
Version 6.0.0 (rev 1901d975)
linux-unix-gnu-x86-64 [ 64bit dload ptables ]

Type ,? for help.
#;1> (load "tmp.sld")
; loading tmp.sld ...

Error: Module `tmp' has unresolved identifiers

   Unknown identifier `let-syntax'
     In procedure `hello'

   Unknown identifier `I'
     In procedure `hello'

	Call history:

	<syntax>	 [hello] (##sys#cdr temp50)
	<syntax>	 [hello] (quote ())
	<syntax>	 [hello] (##core#quote ())
	<syntax>	 [hello] (##core#begin (let*44 ((x (##sys#car tail49))) x))
	<syntax>	 [hello] (let*44 ((x (##sys#car tail49))) x)
	<syntax>	 [hello] (##core#let ((x (##sys#car tail49))) (##core#let () x))
	<syntax>	 [hello] (##core#begin (##core#let () x))
	<syntax>	 [hello] (##core#let () x)
	<syntax>	 [hello] (##core#begin x)
	<syntax>	 [hello] (##sys#car tail49)
	<syntax>	 [hello] (##core#begin 
(chicken.internal.syntax-rules#syntax-rules-mismatch input39))
	<syntax>	 [hello] (chicken.internal.syntax-rules#syntax-rules-mismatch 
input39)
	<syntax>	 [hello] (##sys#cdr input39)
	<syntax>	 [hello] (I "world")
	<syntax>	 (##core#begin)
	<syntax>	 (##core#undefined)	<--