Threading works, make-dot-id is fixed, but starts at "B"?
authorKyle Spaans <kspaans@student.math.uwaterloo.ca>
Wed, 8 Apr 2009 19:11:41 +0000 (15:11 -0400)
committerKyle Spaans <kspaans@student.math.uwaterloo.ca>
Wed, 8 Apr 2009 19:11:41 +0000 (15:11 -0400)
ref-helper.ss

index d9bb6e5..4b55387 100644 (file)
 ;; letters
 (define counter -1)
 ;;;;
-(define (num2letters num first)
+(define (num2list num first)
   (cond [(and (not first) (zero? num)) '()]
-        [else (list->string
-                (map integer->char
-                     (cons (+ 65 (modulo num 26))
-                           (num2letters (quotient num 26) false))))]))
+        [else (cons (+ 65 (modulo num 26))
+                    (num2list (quotient num 26) false))]))
+(define (num2letters num first)
+  (list->string (reverse
+    (map integer->char (num2list num first)))))
 (define make-dot-id
   (lambda ()
-   ; (local [(define counter -1)]
       (begin
         (set! counter (+ 1 counter))
-        (num2letters counter true))));)
+        (num2letters counter true))))