2
votes

New to Racket. Any ideas why the below shows unbound identifier error for lo:

(let (
       (l0 (gensym "end"))
       (l1 (gensym "if"))
       (c1 (compile-e el))
       (c0 (compile-cs cs l0)) ;;unbound identifier error here
       )
   `((mov rax 1)
     ,@c0
     (cmp rax 0)
     (je ,l0)
     ,@c1         
     ,l0))]
1

1 Answers

1
votes

When you want reference variable define in let you can use let* or use local.

(let* [(var-define-inside-let 'let*-test)
       (var-reference var-define-inside-let)]
  var-reference)

(local [(define var-define-inside-local 'local-test)
        (define var-reference var-define-inside-local)]
  var-reference)

Racket Documentation