7

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!

Leo
  • 492
  • 1
  • 5
  • 15

1 Answers1

3

Insert a space between . and b.

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

soegaard
  • 30,661
  • 4
  • 57
  • 106