add 'simple-root' for students to use in test suites that call gc:cons

This commit is contained in:
Robby Findler 2014-02-22 20:21:29 -06:00
parent c1bfc9601e
commit b047b32c6e
2 changed files with 11 additions and 1 deletions

View File

@ -98,7 +98,13 @@
(provide/contract
[root? (-> any/c boolean?)]
[root-name (-> root? any/c)]
[make-root (-> any/c (-> location?) (-> location? void) root?)])
[make-root (-> any/c (-> location?) (-> location? void) root?)]
[simple-root (-> location? root?)])
(define (simple-root n)
(make-root 'simple-root
(λ () n)
(λ (n2) (set! n n2))))
(provide make-env-root)
(define-syntax (make-env-root stx)

View File

@ -96,6 +96,10 @@ Determines if @racket[v] is a root.
Updates @racket[root] to refer to @racket[loc].
}
@defproc[(simple-root [l location?]) root?]{
Makes a root that is initialized with @racket[l].
}
@defproc[(make-root [name symbol?] [get (-> location?)] [set (-> location? void?)])
root?]{
Creates a new root. When @racket[read-root] is called, it invokes