Advertisement
4da

chuck.rkt

4da
Sep 24th, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.58 KB | None | 0 0
  1. #lang racket
  2. (require srfi/26)
  3. (require racket/match)
  4.  
  5. (define (fmt-src-list input-str)
  6.   (define bl (map (cut char->integer <>)
  7.           (string->list input-str)))
  8.   (string-join (for/list ([x bl])
  9.          (format "~a" (number->string x 2))) ""))
  10.  
  11. (define (gen-unary input [prev-input #f])
  12.   (if (eq? input prev-input) "0"
  13.       (match input
  14.     [#\1 " 0 0"]
  15.     [#\0 " 00 0"])))
  16.  
  17. (define (run)
  18.   (define bstr (fmt-src-list "abcd"))
  19.   (for/fold ([prev #f]) ([i bstr])
  20.     (printf "~a" (gen-unary i prev)) i)
  21.   (printf "\n"))
  22.  
  23. (run)
  24.  ;; 0 00 00 0000 0 000 00 000 0 0 00 0 0 00 00 000 0 0000 00 00 0 0 00 00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement