5468
#hash(((def ((lib "plai/random-mutator.rkt") find-heap-values)) . ((4519 . 3))) ((form ((lib "plai/mutator.rkt") λ)) . ((2888 . 2))) ((def ((lib "plai/collector.rkt") root?)) . ((1106 . 3))) ((form ((lib "plai/main.rkt") test)) . ((259 . 2))) ((form ((lib "plai/collector.rkt") with-heap)) . ((1625 . 4))) ((def ((lib "plai/collector.rkt") heap-ref)) . ((1303 . 3))) ((form ((lib "plai/mutator.rkt") begin)) . ((2763 . 2))) ((form ((lib "plai/mutator.rkt") case)) . ((2651 . 2))) ((form ((lib "plai/main.rkt") type-case)) . ((104 . 6))) ((def ((lib "plai/collector.rkt") read-root)) . ((1399 . 3))) ((form ((lib "plai/mutator.rkt") >=)) . ((3073 . 2))) ((def ((lib "plai/mutator.rkt") cons)) . ((3170 . 4))) ((form ((lib "plai/mutator.rkt") >)) . ((3054 . 2))) ((def ((lib "plai/mutator.rkt") set-first!)) . ((3386 . 4))) ((def ((lib "plai/mutator.rkt") cons?)) . ((3240 . 3))) ((form ((lib "plai/mutator.rkt") odd?)) . ((3024 . 2))) ((def ((lib "plai/collector.rkt") procedure-roots)) . ((1546 . 3))) ((form ((lib "plai/mutator.rkt") symbol?)) . ((3083 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:set-rest!)) . ((2237 . 4))) ((form ((lib "plai/mutator.rkt") printf)) . ((3735 . 4))) ((form ((lib "plai/mutator.rkt") cond)) . ((2639 . 2))) ((form ((lib "plai/main.rkt") define-type)) . ((0 . 4))) ((form ((lib "plai/mutator.rkt") add1)) . ((2938 . 2))) ((form ((lib "plai/mutator.rkt") -)) . ((2984 . 2))) ((form ((lib "plai/mutator.rkt") symbol=?)) . ((3098 . 2))) ((def ((lib "plai/mutator.rkt") first)) . ((3291 . 3))) ((form ((lib "plai/mutator.rkt") test/location=?)) . ((3623 . 2))) ((form ((lib "plai/mutator.rkt") empty)) . ((3527 . 2))) ((form ((lib "plai/mutator.rkt") quote)) . ((2737 . 2))) ((form ((lib "plai/mutator.rkt") +)) . ((2975 . 2))) ((form ((lib "plai/mutator.rkt") let-values)) . ((2695 . 2))) ((form ((lib "plai/mutator.rkt") <=)) . ((3063 . 2))) ((def ((lib "plai/main.rkt") plai-catch-test-exn)) . ((561 . 3))) ((form ((lib "plai/mutator.rkt") define-values)) . ((2663 . 2))) ((form ((lib "plai/mutator.rkt") lambda)) . ((2834 . 2))) ((form ((lib "plai/mutator.rkt") test/value=?)) . ((3678 . 2))) ((form ((lib "plai/main.rkt") test/regexp)) . ((413 . 2))) ((def ((lib "plai/main.rkt") print-only-errors)) . ((726 . 3))) ((form ((lib "plai/mutator.rkt") set!)) . ((2725 . 2))) ((form ((lib "plai/mutator.rkt") let)) . ((2684 . 2))) ((form ((lib "plai/mutator.rkt") /)) . ((3002 . 2))) ((form ((lib "plai/scribblings/fake-mutator.rkt") allocator-setup)) . ((2477 . 5))) ((form ((lib "plai/mutator.rkt") <)) . ((3045 . 2))) ((def ((lib "plai/collector.rkt") location?)) . ((1051 . 3))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:alloc-flat)) . ((1804 . 3))) ((form ((lib "plai/mutator.rkt") boolean?)) . ((3129 . 2))) ((form ((lib "plai/main.rkt") test/exn)) . ((367 . 2))) ((form ((lib "plai/mutator.rkt") define)) . ((2776 . 2))) ((form ((lib "plai/mutator.rkt") number?)) . ((3114 . 2))) ((def ((lib "plai/main.rkt") halt-on-errors)) . ((647 . 3))) ((def ((lib "plai/main.rkt") abridged-test-output)) . ((469 . 3))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:deref)) . ((1739 . 3))) ((form ((lib "plai/mutator.rkt") if)) . ((2608 . 2))) ((form ((lib "plai/mutator.rkt") import-primitives)) . ((3587 . 2))) ((def ((lib "plai/mutator.rkt") rest)) . ((3339 . 3))) ((form ((lib "plai/mutator.rkt") zero?)) . ((2962 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:cons)) . ((1874 . 4))) ((form ((lib "plai/mutator.rkt") even?)) . ((3011 . 2))) ((def ((lib "plai/collector.rkt") heap-set!)) . ((1214 . 4))) ((form ((lib "plai/mutator.rkt") empty?)) . ((3145 . 2))) ((form ((lib "plai/mutator.rkt") halt-on-errors)) . ((3565 . 2))) ((def ((lib "plai/main.rkt") error)) . ((340 . 2))) ((form ((lib "plai/mutator.rkt") let*)) . ((2713 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:flat?)) . ((2415 . 3))) ((def ((lib "plai/collector.rkt") heap-value?)) . ((1157 . 3))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:rest)) . ((2044 . 3))) ((def ((lib "plai/mutator.rkt") set-rest!)) . ((3457 . 4))) ((def ((lib "plai/scribblings/fake-web.rkt") start)) . ((4630 . 3))) ((def ((lib "plai/main.rkt") plai-ignore-exn-strings)) . ((887 . 3))) ((def ((lib "plai/random-mutator.rkt") save-random-mutator)) . ((3807 . 14))) ((form ((lib "plai/mutator.rkt") print-only-errors)) . ((3540 . 2))) ((form ((lib "plai/mutator.rkt") eq?)) . ((3159 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:first)) . ((1969 . 3))) ((form ((lib "plai/mutator.rkt") and)) . ((2618 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:set-first!)) . ((2118 . 4))) ((form ((lib "plai/mutator.rkt") sub1)) . ((2950 . 2))) ((form ((lib "plai/mutator.rkt") *)) . ((2993 . 2))) ((form ((lib "plai/collector.rkt") get-root-set)) . ((1368 . 2))) ((form ((lib "plai/mutator.rkt") =)) . ((3036 . 2))) ((form ((lib "plai/main.rkt") test/pred)) . ((301 . 2))) ((def ((lib "plai/collector.rkt") set-root!)) . ((1461 . 4))) ((form ((lib "plai/mutator.rkt") error)) . ((2750 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") gc:cons?)) . ((2353 . 3))) ((form ((lib "plai/main.rkt") plai-all-test-results)) . ((968 . 2))) ((def ((lib "plai/scribblings/fake-collector.rkt") init-allocator)) . ((1701 . 2))) ((def ((lib "plai/main.rkt") test-inexact-epsilon)) . ((810 . 3))) ((def ((lib "plai/collector.rkt") heap-size)) . ((997 . 2))) ((form ((lib "plai/mutator.rkt") or)) . ((2629 . 2))))
syntax
(define-type type-id variant ...)
 
variant = (variant-id (field-id contract-expr) ...)
syntax
(type-case datatype-id expr
   branch ...)
 
branch = (variant-id (field-id ...) result-expr ...)
       | (else result-expr ...)
syntax
(test result-expr expected-expr)
syntax
(test/pred result-expr pred?)
value
error : procedure?
syntax
(test/exn result-expr error-message)
syntax
(test/regexp result-expr error-message-regexp)
procedure
(abridged-test-output [abridge?]) -> void?
  abridge? : boolean? = false
procedure
(plai-catch-test-exn [catch?]) -> void?
  catch? : boolean? = true
procedure
(halt-on-errors [halt?]) -> void?
  halt? : boolean? = true
procedure
(print-only-errors [print?]) -> void?
  print? : boolean? = true
procedure
(test-inexact-epsilon epsilon) -> void?
  epsilon : number?
procedure
(plai-ignore-exn-strings ignore?) -> void?
  ignore? : boolean?
syntax
plai-all-test-results
procedure
(heap-size) -> exact-nonnegative-integer?
procedure
(location? v) -> boolean?
  v : any/c
procedure
(root? v) -> boolean?
  v : any/c
procedure
(heap-value? v) -> boolean?
  v : any/c
procedure
(heap-set! loc val) -> void?
  loc : location?
  val : heap-value?
procedure
(heap-ref loc) -> heap-value?
  loc : location?
syntax
(get-root-set id ...)
procedure
(read-root root) -> location?
  root : root?
procedure
(set-root! root loc) -> void?
  root : root?
  loc : location?
procedure
(procedure-roots proc) -> (listof root?)
  proc : procedure?
syntax
(with-heap heap expr ...)
 
  heap : (vectorof heap-value?)
procedure
(init-allocator) -> void?
procedure
(gc:deref loc) -> heap-value?
  loc : location?
procedure
(gc:alloc-flat val) -> location?
  val : heap-value?
procedure
(gc:cons first rest) -> location?
  first : location?
  rest : location?
procedure
(gc:first cons-cell) -> location?
  cons-cell : location?
procedure
(gc:rest cons-cell) -> location?
  cons-cell : location?
procedure
(gc:set-first! cons-cell first-value) -> void?
  cons-cell : location?
  first-value : location?
procedure
(gc:set-rest! cons-cell rest-value) -> void?
  cons-cell : location?
  rest-value : location?
procedure
(gc:cons? loc) -> boolean?
  loc : location?
procedure
(gc:flat? loc) -> boolean?
  loc : location?
syntax
(allocator-setup collector-module
                 heap-size)
 
heap-size = exact-nonnegative-integer?
syntax
if
syntax
and
syntax
or
syntax
cond
syntax
case
syntax
define-values
syntax
let
syntax
let-values
syntax
let*
syntax
set!
syntax
quote
syntax
error
syntax
begin
syntax
(define (id arg-id ...) body-expression ...+)
syntax
(lambda (arg-id ...) body-expression ...+)
syntax
(λ (arg-id ...) body-expression ...+)
syntax
add1
syntax
sub1
syntax
zero?
syntax
+
syntax
-
syntax
*
syntax
/
syntax
even?
syntax
odd?
syntax
=
syntax
<
syntax
>
syntax
<=
syntax
>=
syntax
symbol?
syntax
symbol=?
syntax
number?
syntax
boolean?
syntax
empty?
syntax
eq?
procedure
(cons hd tl) -> cons?
  hd : any/c
  tl : any/c
procedure
(cons? v) -> boolean?
  v : any/c
procedure
(first c) -> any/c
  c : cons?
procedure
(rest c) -> any/c
  c : cons?
procedure
(set-first! c v) -> void
  c : cons?
  v : any/c
procedure
(set-rest! c v) -> void
  c : cons?
  v : any/c
syntax
empty
syntax
print-only-errors
syntax
halt-on-errors
syntax
(import-primitives id ...)
syntax
(test/location=? mutator-expr1 mutator-expr2)
syntax
(test/value=? mutator-expr scheme-datum/quoted)
syntax
(printf format mutator-expr ...)
 
format = literal-string
procedure
(save-random-mutator  file                            
                      collector-name                  
                     [#:heap-values heap-values       
                      #:iterations iterations         
                      #:program-size program-size     
                      #:heap-size heap-size])     -> void?
  file : path-string?
  collector-name : string?
  heap-values : (cons heap-value? (listof heap-value?))
              = (list 0 1 -1 'x 'y #f #t '())
  iterations : exact-positive-integer? = 200
  program-size : exact-positive-integer? = 10
  heap-size : exact-positive-integer? = 100
procedure
(find-heap-values input) -> (listof heap-value?)
  input : (or/c path-string? input-port?)
procedure
(start initial-request) -> response?
  initial-request : request?
