File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 292292 #f )
293293 (check-equal? (run '(eq? (symbol->string 'foo ) (symbol->string 'foo ))) #f )
294294 (check-equal? (run '(string? (symbol->string 'foo ))) #t )
295- (check-equal? (run '(eq? (symbol->string 'foo ) "foo " )) #f ))
295+ (check-equal? (run '(eq? (symbol->string 'foo ) "foo " )) #f )
296+ (check-equal? (run ''foo ) 'foo ))
296297
297298(define (test-runner-io run)
298299 ;; Evildoer examples
Original file line number Diff line number Diff line change 6969
7070(define (proc-bits? v)
7171 (zero? (bitwise-xor (bitwise-and v imm-mask) type-proc)))
72+
73+ (define (symb-bits? v)
74+ (zero? (bitwise-xor (bitwise-and v imm-mask) type-symb)))
Original file line number Diff line number Diff line change 3030 (string)
3131 (build-string (heap-ref i)
3232 (lambda (j)
33- (char-ref (+ i 8 ) j))))]))
33+ (char-ref (+ i 8 ) j))))]
34+ [(? symb-bits? i)
35+ (string->symbol
36+ (if (zero? (untag i))
37+ (string)
38+ (build-string (heap-ref i)
39+ (lambda (j)
40+ (char-ref (+ i 8 ) j)))))]))
3441
3542(define (untag i)
3643 (arithmetic-shift (arithmetic-shift i (- (integer-length ptr-mask)))
You can’t perform that action at this time.
0 commit comments