| #lang racket | 
|   | 
| (require reed-solomon) | 
|   | 
| (let* ([rs_code | 
|         (rs-encode | 
|           '(1 2 3 4 5 6 7 8 9 10 11) | 
|           4 | 
|           #:bit_width 4 | 
|           #:primitive_poly_value 19)] | 
|        [polluted_data_list (append '(1 2 3 4 5 11 7 8 9 10 1) rs_code)]) | 
|   | 
|   (printf "~a\n" | 
|     (rs-decode | 
|       polluted_data_list | 
|       4 | 
|       #:bit_width 4 | 
|       #:primitive_poly_value 19))) | 
|   ;; (1 2 3 4 5 6 7 8 9 10 11 3 3 12 12) | 
|   | 
| (let* ([rs_code | 
|         (rs-encode | 
|           (bytes->list | 
|             (string->bytes/utf-8 "Chen Xiao is just a programmer.")) | 
|             34)] | 
|        [polluted_data_list | 
|         (append | 
|          (bytes->list #"Chen Xiao is a fabulous artist.") | 
|          rs_code)]) | 
|   | 
|   (printf "~a\n" | 
|             (list->bytes | 
|               (take (rs-decode polluted_data_list 34) 31)))) | 
|   ;; Chen Xiao is just a programmer. |