Hi Simon I think you'll find that the if statement is misguided, since it treats numbers as decimal rather than hex valued.
Happily, this simplifies the solution. #lang racket (define-syntax-rule (hex h ...) (bytes (string->number (~a (quote h)) 16) ...)) (hex a b c 1 2 3 41 42 43) ; #"\n\v\f\1\2\3ABC" Dan -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAFKxZVXHwP5mLFDOKxXim-GmAmtBtCFLM-2zUSoFD4WBALk_bg%40mail.gmail.com.