| #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. |