Putting this program in q.scm
(lambda ()
(let* ((tag (list 'let/ec)))
(call-with-prompt
tag
(lambda ()
(let lp ()
(call-with-values h
(let ()
(define (g a b)
(let ((kk (nm a u v)))
(cond
((equal? kk _filename)
(let ((tmp (pylist-ref modules a)))
(apply abort tag tmp '())))
((equal? (end kk) _filename)
(let ((tmp (pylist-ref modules a)))
(apply abort tag tmp '())))))
(lp))
(define f
(case-lambda
((a b)
(g a b))
((a b . y)
(g a b))))
f))))
(lambda (xx . results) (apply values results)))))
Results in the warning
forgot to emit definition instructions?
Using the below version of f works without the warning,
with
slusk = (lambda (g . x) (apply g x))
non inlined in:
(define f
(case-lambda
((a b)
(g a b))
((a b . y)
(slusk g a b))))
Tested in v3.0.8 and main dec 18 2022