Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"unbound identifier in module" error in Racket

Tags:

racket

I'm writing a function in Racket, using DrRacket:

(define (same-parity a .b)
 (let ((remain (remainder a 2)))
  (define (recur-part remain-list)
   (cond ((= remain (remainder (car remain-list) 2))
         (append remain-list (list (car remain-list)))
         (recur-part (cdr remain-list)))
        (else (recur-part (cdr remain-list)))))
  (recur-part b)))

But the compiler complains the following:b: unbound identifier in module in: b

How could it be for the (recur-part b) is in the scope of the definition of same-parity?

Thanks!

like image 695
Leo Avatar asked Aug 24 '15 15:08

Leo


1 Answers

Insert a space between . and b.

The problems is that .b is a legal name in Racket, so .b is in scope not b.

like image 110
soegaard Avatar answered Sep 30 '22 23:09

soegaard