anchor.diff:  ;; ;;    (print "FLEVEL: " FLEVEL)
   ;; ;; (let*((stream (cddr stream)))
   ;; ;;    #t))
  +
  +
  +;; (define port stdin)
  +;; (define stream (port->byte-stream port))
  +;; (let loop ((s (inflate (ldrop stream 10))))
  +;;    (cond
  +;;       ((null? s)
  +;;          (print "\nEND."))
  +;;       ((pair? s)
  +;;          ;(display (string (car s)))
  +;;          (write-bytes stdout (list (car s)))
  +;;          (loop (cdr s)))
  +;;       (else
  +;;          (loop (force s)))))
  
positive.code:             (values value hold)
              (loop code hold)))))
  
  ; converts lengths array to code->value huffman ff
  ; вот по таким правилам:
  ;  [если воспринимать коды как числа, у которых первый бит кода это старший разряд, то] все коды одной длины должны быть последовательными значениями, упорядоченными так же, как символы, которые они кодируют
  ;  [если воспринимать коды как строки бит, то] коды меньшей длины лексикографически предшествуют кодам большей длины
  (define (make-huffman-table lengths)
     (let loop  ((codes #empty)
                 (pairs (sort (lambda (a b) (< (car a) (car b))) ; отсортированный и
  
negative.code: ;;       (stream (cdr stream))
  ;;       (OS (car stream))
  ;;       (stream (cdr stream)))
  ;;    ;; (print "ID1: " ID1)
  ;;    ;; (print "ID2: " ID2)
  ;;    ;; (print "CM: " CM)
  ;;    ;; (print "FLG: " FLG)
  ;;    ;; (print "XFL: " XFL)
  ;;    ;; (print "OS: " OS)
  
  ;;    (print (list->string (inflate stream))))
  
  