DSSL: Data Structures Student Language
| #lang dssl | package: dssl |
The DSSL language is substantially similar to Advanced Student Language. In particular, it provides the same functions and values (except for hash tables).
In addition to the special forms documented below, DSSL includes for (and friends).
| program | = | def-or-expr ... | ||||
| def-or-expr | = | definition | ||||
| | | expr | |||||
| | | test-case | |||||
| definition | = | (define (name variable ...) expr) | ||||
| | | (define name expr) | |||||
| | | (define-struct name (name ...)) | |||||
| expr | = | (expr expr ...) | ||||
| | | (begin expr expr ...) | |||||
| | | (begin0 expr expr ...) | |||||
| | | (lambda (variable ...) expr ...) | |||||
| | | (λ (variable ...) expr ...) | |||||
| | | (local [definition ...] expr ...) | |||||
| | | (let ([name expr] ...) expr ...) | |||||
| | | (let* ([name expr] ...) expr ...) | |||||
| | | (recur name ([name expr] ...) expr ...) | |||||
| | | (letrec ([name expr] ...) expr ...) | |||||
| | | (shared ([name expr] ...) expr ...) | |||||
| | | (set! name expr) | |||||
| | | (cond [expr expr ...] ... [expr expr ...]) | |||||
| | | (cond [expr expr ...] ... [else expr ...]) | |||||
| | |
| |||||
| | |
| |||||
| | | (match expr [pattern expr ...] ...) | |||||
| | | (if expr expr expr) | |||||
| | | (when expr expr ...) | |||||
| | | (unless expr expr ...) | |||||
| | | (and expr expr expr ...) | |||||
| | | (or expr expr expr ...) | |||||
| | | (while expr expr ...) | |||||
| | | (until expr expr ...) | |||||
| | | for-loop | |||||
| | | (time expr ...) | |||||
| | | (delay expr) | |||||
| | | name | |||||
| | | ’quoted | |||||
| | | ‘quasiquoted | |||||
| | | ’() | |||||
| | | number | |||||
| | | boolean | |||||
| | | string | |||||
| | | character | |||||
| choice | = | name | ||||
| | | number | |||||
| pattern | = | _ | ||||
| | | name | |||||
| | | number | |||||
| | | true | |||||
| | | false | |||||
| | | string | |||||
| | | character | |||||
| | | ’quoted | |||||
| | | ‘quasiquoted-pattern | |||||
| | | (cons pattern pattern) | |||||
| | | (list pattern ...) | |||||
| | | (list* pattern ...) | |||||
| | | (struct id (pattern ...)) | |||||
| | | (vector pattern ...) | |||||
| | | (box pattern) | |||||
| quasiquoted-pattern | = | name | ||||
| | | number | |||||
| | | string | |||||
| | | character | |||||
| | | (quasiquoted-pattern ...) | |||||
| | | ’quasiquoted-pattern | |||||
| | | ‘quasiquoted-pattern | |||||
| | | ,pattern | |||||
| | | ,@pattern | |||||
| test-case | = | (check-expect expr expr) | ||||
| | | (check-error expr expr ...) | |||||
| | | (check-within expr expr expr) | |||||
| | | (check-random expr expr) | |||||
| | | (check-satisfied expr expr) | |||||
| | | (check-member-of expr expr ...) | |||||
| | | (check-range expr expr expr) |
1 Pre-defined Variables
2 Syntax for DSSL
2.1 Definition Forms
syntax
(define (name variable ...) expression ...)
The function name’s cannot be the same as that of another function or variable.
syntax
(define name expression)
2.2 Expression Forms
syntax
(expression expression ...)
The function being called must come from either a definition appearing before the function call, or from a lambda expression. The number of argument expressions must be the same as the number of arguments expected by the function.
syntax
(begin expression expression ...)
syntax
(begin0 expression expression ...)
syntax
(set! variable expression)
syntax
(lambda (variable ...) expression ...)
syntax
(λ (variable ...) expression ...)
syntax
(case expression [(choice ...) expression ...] ... [(choice ...) expression ...])
syntax
(match expression [pattern expression ...] ...)
syntax
(when test-expression body-expression ...)
syntax
(unless test-expression body-expression ...)
syntax
(delay expression)
syntax
(local [definition ...] expression)
syntax
(letrec ([name expr-for-let] ...) expression)
syntax
(let* ([name expr-for-let] ...) expression)
syntax
(let ([name expr-for-let] ...) expression)
syntax
(time expression)
syntax
(shared ([name expr-for-shared] ...) expression)
syntax
(recur loop-name ([name expr-for-recur] ...) expression)
More precisely, the following recur:·
(recur func-name ([arg-name arg-expression] ...) body-expression)
is equivalent to:
(local [(define (func-name arg-name ...) body-expression)] (func-name arg-expression ...))
syntax
(while test-expression body-expression ...)
syntax
(until test-expression body-expression ...)
syntax
(define-struct structure-name (field-name ...))
make-structure-name : takes a number of arguments equal to the number of fields in the structure, and creates a new instance of that structure.
structure-name-field-name : takes an instance of the structure and returns the value in the field named by field-name.
structure-name? : takes any value, and returns #true if the value is an instance of the structure.
The name of the new functions introduced by define-struct must not be the same as that of other functions or variables, otherwise define-struct reports an error.
set-structure-name-field-name! : takes an instance of the structure and a value, and mutates the instance’s field to the given value.
syntax
(cond [question-expression answer-expression ...] ...)
(cond [question-expression answer-expression ...] ... [else answer-expression ...])
If none of the question-expressions evaluates to #true, cond’s value is the answer-expression of the else clause. If there is no else, cond reports an error. If the result of a question-expression is neither #true nor #false, cond also reports an error.
syntax
(if test-expression then-expression else-expression)
syntax
(and expression expression expression ...)
syntax
(or expression expression expression ...)
syntax
(check-expect expression expected-expression)
(check-expect (fahrenheit->celsius 212) 100) (check-expect (fahrenheit->celsius -40) -40) (define (fahrenheit->celsius f) (* 5/9 (- f 32)))
syntax
(check-random expression expected-expression)
The form supplies the same random-number generator to both parts. If both parts request random numbers from the same interval in the same order, they receive the same random numbers.
(define WIDTH 100) (define HEIGHT (* 2 WIDTH)) (define-struct player (name x y)) ; A Player is (make-player String Nat Nat) ; String -> Player (check-random (create-randomly-placed-player "David Van Horn") (make-player "David Van Horn" (random WIDTH) (random HEIGHT))) (define (create-randomly-placed-player name) (make-player name (random WIDTH) (random HEIGHT)))
; String -> Player (check-random (create-randomly-placed-player "David Van Horn") (make-player "David Van Horn" (random WIDTH) (random HEIGHT))) (define (create-randomly-placed-player name) (local ((define h (random HEIGHT)) (define w (random WIDTH))) (make-player name w h)))
syntax
(check-satisfied expression predicate)
> (check-satisfied 1 odd?) The test passed!
> (check-satisfied 1 even?)
Ran 1 test.
0 tests passed.
Check failures:
┌───┐
Actual value │ 1 │ does not satisfy even?.
└───┘
at line 3, column 0
; [cons Number [List-of Number]] -> Boolean ; a function for testing htdp-sort (check-expect (sorted? (list 1 2 3)) #true) (check-expect (sorted? (list 2 1 3)) #false) (define (sorted? l) (cond [(empty? (rest l)) #true] [else (and (<= (first l) (second l)) (sorted? (rest l)))])) ; [List-of Number] -> [List-of Number] ; create a sorted version of the given list of numbers (check-satisfied (htdp-sort (list 1 2 0 3)) sorted?) (define (htdp-sort l) (cond [(empty? l) l] [else (insert (first l) (htdp-sort (rest l)))])) ; Number [List-of Number] -> [List-of Number] ; insert x into l at proper place ; assume l is arranged in ascending order ; the result is sorted in the same way (define (insert x l) (cond [(empty? l) (list x)] [else (if (<= x (first l)) (cons x l) (cons (first l) (insert x (rest l))))]))
> (check-satisfied (htdp-sort (list 1 2 0 3)) sorted?) The test passed!
syntax
(check-within expression expected-expression delta)
(define-struct roots (x sqrt)) ; RT is [List-of (make-roots Number Number)] (define (roots-table xs) (map (lambda (a) (make-roots a (sqrt a))) xs))
> (check-within (roots-table (list 1.0 2.0 3.0)) (list (make-roots 1.0 1.0) (make-roots 2 1.414) (make-roots 3 1.713)) 0.1) The test passed!
> (check-within (roots-table (list 2.0)) (list (make-roots 2 1.414)) #i1e-5)
Ran 1 test.
0 tests passed.
Check failures:
┌────────────────────────────────────────┐ ┌─────────────────────────┐
Actual value │ '((make-roots 2.0 1.4142135623730951)) │ is not within 1e-5 of expected value │ '((make-roots 2 1.414)) │.
└────────────────────────────────────────┘ └─────────────────────────┘
at line 5, column 0
It is an error for expressions or expected-expression to produce a function value; see note on check-expect for details.
syntax
(check-error expression expected-error-message)
(check-error expression)
(define sample-table '(("matthias" 10) ("matthew" 20) ("robby" -1) ("shriram" 18))) ; [List-of [list String Number]] String -> Number ; determine the number associated with s in table (define (lookup table s) (cond [(empty? table) (error (string-append s " not found"))] [else (if (string=? (first (first table)) s) (second (first table)) (lookup (rest table)))]))
Consider the following two examples in this context:
> (check-expect (lookup sample-table "matthew") 20) The test passed!
> (check-error (lookup sample-table "kathi") "kathi not found") The test passed!
syntax
(check-member-of expression expression expression ...)
; [List-of X] -> X ; pick a random element from the given list l (define (pick-one l) (list-ref l (random (length l))))
> (check-member-of (pick-one '("a" "b" "c")) "a" "b" "c") The test passed!
syntax
(check-range expression low-expression high-expression)
; [Real -> Real] Real -> Real ; what is the slope of f at x? (define (differentiate f x) (local ((define epsilon 0.001) (define left (- x epsilon)) (define right (+ x epsilon)) (define slope (/ (- (f right) (f left)) 2 epsilon))) slope)) (check-range (differentiate sin 0) 0.99 1.0)
It is an error for expression, low-expression, or high-expression to produce a function value or an inexact number; see note on check-expect for details.
3 Pre-Defined Functions
The remaining subsections list those functions that are built into the programming language. All other functions must be defined in the program.
4 Numbers: Integers, Rationals, Reals, Complex, Exacts, Inexacts
procedure
(- x y ...) → number
x : number y : number
> (- 5) image? is used here before its definition
> (- 5 3) image? is used here before its definition
> (- 5 3 1) image? is used here before its definition
procedure
(< x y z ...) → boolean?
x : real y : real z : real
> (< 42 2/5) image? is used here before its definition
procedure
(<= x y z ...) → boolean?
x : real y : real z : real
> (<= 42 2/5) image? is used here before its definition
procedure
(> x y z ...) → boolean?
x : real y : real z : real
> (> 42 2/5) image? is used here before its definition
procedure
(>= x y z ...) → boolean?
x : real y : real z : real
> (>= 42 42) image? is used here before its definition
procedure
(abs x) → real
x : real
> (abs -12) image? is used here before its definition
procedure
(acos x) → number
x : number
> (acos 0) image? is used here before its definition
procedure
(add1 x) → number
x : number
> (add1 2) image? is used here before its definition
procedure
(angle x) → real
x : number
> (angle (make-polar 3 4)) image? is used here before its definition
procedure
(asin x) → number
x : number
> (asin 0) image? is used here before its definition
procedure
(atan x) → number
x : number
> (atan 0) image? is used here before its definition
> (atan 0.5) image? is used here before its definition
> (atan 3 4) image? is used here before its definition
> (atan -2 -1) image? is used here before its definition
procedure
(ceiling x) → integer
x : real
> (ceiling 12.3) image? is used here before its definition
procedure
(complex? x) → boolean?
x : any/c
> (complex? 1-2i) image? is used here before its definition
procedure
(conjugate x) → number
x : number
> (conjugate 3+4i) conjugate is used here before its definition
> (conjugate -2-5i) conjugate is used here before its definition
> (conjugate (make-polar 3 4)) conjugate is used here before its definition
procedure
(cos x) → number
x : number
> (cos pi) pi is used here before its definition
procedure
(cosh x) → number
x : number
> (cosh 10) cosh is used here before its definition
procedure
(current-seconds) → integer
> (current-seconds) image? is used here before its definition
procedure
(denominator x) → integer
x : rational?
> (denominator 2/3) image? is used here before its definition
value
e : real
> e e is used here before its definition
procedure
(even? x) → boolean?
x : integer
> (even? 2) image? is used here before its definition
procedure
(exact->inexact x) → number
x : number
> (exact->inexact 12) image? is used here before its definition
procedure
(exact? x) → boolean?
x : number
> (exact? (sqrt 2)) image? is used here before its definition
procedure
(exp x) → number
x : number
> (exp -2) image? is used here before its definition
procedure
(expt x y) → number
x : number y : number
> (expt 16 1/2) image? is used here before its definition
> (expt 3 -4) image? is used here before its definition
procedure
(floor x) → integer
x : real
> (floor 12.3) image? is used here before its definition
procedure
(gcd x y ...) → integer
x : integer y : integer
> (gcd 6 12 8) image? is used here before its definition
procedure
(imag-part x) → real
x : number
> (imag-part 3+4i) image? is used here before its definition
procedure
(inexact->exact x) → number
x : number
> (inexact->exact 12.0) image? is used here before its definition
procedure
(inexact? x) → boolean?
x : number
> (inexact? 1-2i) image? is used here before its definition
procedure
(integer->char x) → char
x : exact-integer?
> (integer->char 42) image? is used here before its definition
procedure
(integer-sqrt x) → complex
x : integer
> (integer-sqrt 11) image? is used here before its definition
> (integer-sqrt -11) image? is used here before its definition
procedure
(integer? x) → boolean?
x : any/c
> (integer? (sqrt 2)) image? is used here before its definition
procedure
(lcm x y ...) → integer
x : integer y : integer
> (lcm 6 12 8) image? is used here before its definition
procedure
(log x) → number
x : number
> (log 12) image? is used here before its definition
procedure
(magnitude x) → real
x : number
> (magnitude (make-polar 3 4)) image? is used here before its definition
procedure
(make-polar x y) → number
x : real y : real
> (make-polar 3 4) image? is used here before its definition
procedure
(make-rectangular x y) → number
x : real y : real
> (make-rectangular 3 4) image? is used here before its definition
procedure
(max x y ...) → real
x : real y : real
> (max 3 2 8 7 2 9 0) image? is used here before its definition
procedure
(min x y ...) → real
x : real y : real
> (min 3 2 8 7 2 9 0) image? is used here before its definition
procedure
(modulo x y) → integer
x : integer y : integer
> (modulo 9 2) image? is used here before its definition
> (modulo 3 -4) image? is used here before its definition
procedure
(negative? x) → boolean?
x : real
> (negative? -2) image? is used here before its definition
procedure
(number->string x) → string
x : number
> (number->string 42) image? is used here before its definition
procedure
(number->string-digits x p) → string
x : number p : posint
> (number->string-digits 0.9 2) number->string-digits is used here before its definition
> (number->string-digits pi 4) number->string-digits is used here before its definition
procedure
(number? n) → boolean?
n : any/c
> (number? "hello world") image? is used here before its definition
> (number? 42) image? is used here before its definition
procedure
(numerator x) → integer
x : rational?
> (numerator 2/3) image? is used here before its definition
procedure
(odd? x) → boolean?
x : integer
> (odd? 2) image? is used here before its definition
value
pi : real
> pi pi is used here before its definition
procedure
(positive? x) → boolean?
x : real
> (positive? -2) image? is used here before its definition
procedure
(quotient x y) → integer
x : integer y : integer
> (quotient 9 2) image? is used here before its definition
> (quotient 3 4) image? is used here before its definition
procedure
(random x) → natural
x : natural
> (random) image? is used here before its definition
> (random) image? is used here before its definition
> (random 42) image? is used here before its definition
> (random 42) image? is used here before its definition
procedure
(rational? x) → boolean?
x : any/c
> (rational? 1) image? is used here before its definition
> (rational? -2.349) image? is used here before its definition
> (rational? #i1.23456789) image? is used here before its definition
> (rational? (sqrt -1)) image? is used here before its definition
> (rational? pi) pi is used here before its definition
> (rational? e) e is used here before its definition
> (rational? 1-2i) image? is used here before its definition
procedure
(real-part x) → real
x : number
> (real-part 3+4i) image? is used here before its definition
procedure
(real? x) → boolean?
x : any/c
> (real? 1-2i) image? is used here before its definition
procedure
(remainder x y) → integer
x : integer y : integer
> (remainder 9 2) image? is used here before its definition
> (remainder 3 4) image? is used here before its definition
procedure
(round x) → integer
x : real
> (round 12.3) image? is used here before its definition
procedure
(sgn x) → (union 1 #i1.0 0 #i0.0 -1 #i-1.0)
x : real
> (sgn -12) sgn is used here before its definition
procedure
(sin x) → number
x : number
> (sin pi) pi is used here before its definition
procedure
(sinh x) → number
x : number
> (sinh 10) sinh is used here before its definition
procedure
(sqr x) → number
x : number
> (sqr 8) image? is used here before its definition
procedure
(sqrt x) → number
x : number
> (sqrt 9) image? is used here before its definition
> (sqrt 2) image? is used here before its definition
procedure
(sub1 x) → number
x : number
> (sub1 2) image? is used here before its definition
procedure
(tan x) → number
x : number
> (tan pi) pi is used here before its definition
procedure
(zero? x) → boolean?
x : number
> (zero? 2) image? is used here before its definition
5 Booleans
procedure
(boolean->string x) → string
x : boolean?
> (boolean->string #false) boolean->string is used here before its definition
> (boolean->string #true) boolean->string is used here before its definition
procedure
(boolean=? x y) → boolean?
x : boolean? y : boolean?
> (boolean=? #true #false) boolean=? is used here before its definition
procedure
(boolean? x) → boolean?
x : any/c
> (boolean? 42) image? is used here before its definition
> (boolean? #false) image? is used here before its definition
procedure
(false? x) → boolean?
x : any/c
> (false? #false) false? is used here before its definition
procedure
(not x) → boolean?
x : boolean?
> (not #false) image? is used here before its definition
6 Symbols
procedure
(symbol->string x) → string
x : symbol
> (symbol->string 'c) image? is used here before its definition
procedure
(symbol=? x y) → boolean?
x : symbol y : symbol
> (symbol=? 'a 'b) symbol=? is used here before its definition
procedure
(symbol? x) → boolean?
x : any/c
> (symbol? 'a) image? is used here before its definition
7 Lists
procedure
(append l ...) → (listof any)
l : (listof any)
procedure
(assoc x l) → (union (listof any) #false)
x : any/c l : (listof any)
> (assoc "hello" '(("world" 2) ("hello" 3) ("good" 0))) image? is used here before its definition
procedure
(assq x l) → (union #false cons?)
x : any/c l : list?
> a image? is used here before its definition
> (assq 'b a) image? is used here before its definition
procedure
(caaar x) → any/c
x : list?
> w image? is used here before its definition
> (caaar w) image? is used here before its definition
procedure
(caadr x) → any/c
x : list?
> (caadr (cons 1 (cons (cons 'a '()) (cons (cons 'd '()) '())))) image? is used here before its definition
procedure
(caar x) → any/c
x : list?
> y image? is used here before its definition
> (caar y) image? is used here before its definition
procedure
(cadar x) → any/c
x : list?
> w image? is used here before its definition
> (cadar w) image? is used here before its definition
procedure
(cadddr x) → any/c
x : list?
> v image? is used here before its definition
> (cadddr v) image? is used here before its definition
procedure
(caddr x) → any/c
x : list?
> x image? is used here before its definition
> (caddr x) image? is used here before its definition
procedure
(cadr x) → any/c
x : list?
> x image? is used here before its definition
> (cadr x) image? is used here before its definition
procedure
(car x) → any/c
x : cons?
> x image? is used here before its definition
> (car x) image? is used here before its definition
procedure
(cdaar x) → any/c
x : list?
> w image? is used here before its definition
> (cdaar w) image? is used here before its definition
procedure
(cdadr x) → any/c
x : list?
> (cdadr (list 1 (list 2 "a") 3)) image? is used here before its definition
procedure
(cdar x) → list?
x : list?
> y image? is used here before its definition
> (cdar y) image? is used here before its definition
procedure
(cddar x) → any/c
x : list?
> w image? is used here before its definition
> (cddar w) image? is used here before its definition
procedure
(cdddr x) → any/c
x : list?
> v image? is used here before its definition
> (cdddr v) image? is used here before its definition
procedure
(cddr x) → list?
x : list?
> x image? is used here before its definition
> (cddr x) image? is used here before its definition
procedure
(cdr x) → any/c
x : cons?
> x image? is used here before its definition
> (cdr x) image? is used here before its definition
procedure
(cons x l) → (listof X)
x : X l : (listof X)
procedure
(cons? x) → boolean?
x : any/c
> (cons? (cons 1 '()))
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
> (cons? 42) image? is used here before its definition
procedure
(eighth x) → any/c
x : list?
> v image? is used here before its definition
> (eighth v) eighth is used here before its definition
procedure
(empty? x) → boolean?
x : any/c
> (empty? '()) image? is used here before its definition
> (empty? 42) image? is used here before its definition
procedure
(fifth x) → any/c
x : list?
> v image? is used here before its definition
> (fifth v) fifth is used here before its definition
procedure
(first x) → any/c
x : cons?
> x image? is used here before its definition
> (first x) image? is used here before its definition
procedure
(for-each f l ...) → void?
f : (any ... -> any) l : (listof any)
(for-each f (list x-1 ... x-n)) = (begin (f x-1) ... (f x-n))
> (for-each (lambda (x) (begin (display x) (newline))) '(1 2 3))
1
2
3
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
procedure
(fourth x) → any/c
x : list?
> v image? is used here before its definition
> (fourth v) fourth is used here before its definition
procedure
(length l) → natural?
l : list?
> x image? is used here before its definition
> (length x) image? is used here before its definition
procedure
(list x ...) → list?
x : any/c
> (list 1 2 3 4 5 6 7 8 9 0)
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
procedure
(list* x ... l) → (listof any)
x : any l : (listof any)
procedure
(list-ref x i) → any/c
x : list? i : natural?
> v image? is used here before its definition
> (list-ref v 9) image? is used here before its definition
procedure
(list? x) → boolean?
x : any/c
> (list? 42) image? is used here before its definition
> (list? '()) image? is used here before its definition
> (list? (cons 1 (cons 2 '()))) image? is used here before its definition
procedure
(make-list i x) → list?
i : natural? x : any/c
> (make-list 3 "hello")
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
procedure
(member x l) → boolean?
x : any/c l : list?
> x image? is used here before its definition
> (member "hello" x) image? is used here before its definition
procedure
(member? x l) → boolean?
x : any/c l : list?
> x image? is used here before its definition
> (member? "hello" x) member? is used here before its definition
procedure
(memq x l) → boolean?
x : any/c l : list?
> x image? is used here before its definition
> (memq (list (list 1 2 3)) x) image? is used here before its definition
procedure
(memq? x l) → boolean?
x : any/c l : list?
> x image? is used here before its definition
> (memq? (list (list 1 2 3)) x) memq? is used here before its definition
procedure
(memv x l) → (or/c #false list)
x : any/c l : list?
> x image? is used here before its definition
> (memv (list (list 1 2 3)) x) image? is used here before its definition
value
null : list
> null image? is used here before its definition
procedure
(null? x) → boolean?
x : any/c
> (null? '()) image? is used here before its definition
> (null? 42) image? is used here before its definition
procedure
(range start end step) → list?
start : number end : number step : number
> (range 0 10 2)
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
procedure
(remove x l) → list?
x : any/c l : list?
> x image? is used here before its definition
> (remove "hello" x) image? is used here before its definition
> hello-2 image? is used here before its definition
> (remove "hello" hello-2) image? is used here before its definition
procedure
(remove-all x l) → list?
x : any/c l : list?
> x image? is used here before its definition
> (remove-all "hello" x) remove-all is used here before its definition
> hello-2 image? is used here before its definition
> (remove-all "hello" hello-2) remove-all is used here before its definition
procedure
(rest x) → any/c
x : cons?
> x image? is used here before its definition
> (rest x) image? is used here before its definition
procedure
(reverse l) → list
l : list?
> x image? is used here before its definition
> (reverse x) image? is used here before its definition
procedure
(second x) → any/c
x : list?
> x image? is used here before its definition
> (second x) second is used here before its definition
procedure
(seventh x) → any/c
x : list?
> v image? is used here before its definition
> (seventh v) seventh is used here before its definition
procedure
(sixth x) → any/c
x : list?
> v image? is used here before its definition
> (sixth v) sixth is used here before its definition
procedure
(third x) → any/c
x : list?
> x image? is used here before its definition
> (third x) third is used here before its definition
8 Posns
> (make-posn 3 3) image? is used here before its definition
> (make-posn "hello" #true) image? is used here before its definition
procedure
(posn-x p) → any/c
p : posn
> p image? is used here before its definition
> (posn-x p) image? is used here before its definition
procedure
(posn-y p) → any/c
p : posn
> p image? is used here before its definition
> (posn-y p) image? is used here before its definition
procedure
(posn? x) → boolean?
x : any/c
> q image? is used here before its definition
> (posn? q) image? is used here before its definition
> (posn? 42) image? is used here before its definition
procedure
(set-posn-x! p x) → void?
p : posn x : any
> p image? is used here before its definition
> (set-posn-x! p 678) image? is used here before its definition
> p image? is used here before its definition
procedure
(set-posn-y! p x) → void
p : posn x : any
> q image? is used here before its definition
> (set-posn-y! q 678) image? is used here before its definition
> q image? is used here before its definition
9 Characters
procedure
(char->integer c) → integer
c : char
> (char->integer #\a) image? is used here before its definition
> (char->integer #\z) image? is used here before its definition
procedure
(char-alphabetic? c) → boolean?
c : char
> (char-alphabetic? #\Q) image? is used here before its definition
procedure
(char-ci<=? c d e ...) → boolean?
c : char d : char e : char
> (char-ci<=? #\b #\B) image? is used here before its definition
> (char<=? #\b #\B) image? is used here before its definition
procedure
(char-ci<? c d e ...) → boolean?
c : char d : char e : char
> (char-ci<? #\B #\c) image? is used here before its definition
> (char<? #\b #\B) image? is used here before its definition
procedure
(char-ci=? c d e ...) → boolean?
c : char d : char e : char
> (char-ci=? #\b #\B) image? is used here before its definition
procedure
(char-ci>=? c d e ...) → boolean?
c : char d : char e : char
> (char-ci>=? #\b #\C) image? is used here before its definition
> (char>=? #\b #\C) image? is used here before its definition
procedure
(char-ci>? c d e ...) → boolean?
c : char d : char e : char
> (char-ci>? #\b #\B) image? is used here before its definition
> (char>? #\b #\B) image? is used here before its definition
procedure
(char-downcase c) → char
c : char
> (char-downcase #\T) image? is used here before its definition
procedure
(char-lower-case? c) → boolean?
c : char
> (char-lower-case? #\T) image? is used here before its definition
procedure
(char-numeric? c) → boolean?
c : char
> (char-numeric? #\9) image? is used here before its definition
procedure
(char-upcase c) → char
c : char
> (char-upcase #\t) image? is used here before its definition
procedure
(char-upper-case? c) → boolean?
c : char
> (char-upper-case? #\T) image? is used here before its definition
procedure
(char-whitespace? c) → boolean?
c : char
> (char-whitespace? #\tab) image? is used here before its definition
procedure
(char<=? c d e ...) → boolean?
c : char d : char e : char
> (char<=? #\a #\a #\b) image? is used here before its definition
procedure
(char<? x d e ...) → boolean?
x : char d : char e : char
> (char<? #\a #\b #\c) image? is used here before its definition
procedure
(char=? c d e ...) → boolean?
c : char d : char e : char
> (char=? #\b #\a) image? is used here before its definition
procedure
(char>=? c d e ...) → boolean?
c : char d : char e : char
> (char>=? #\b #\b #\a) image? is used here before its definition
procedure
(char>? c d e ...) → boolean?
c : char d : char e : char
> (char>? #\A #\z #\a) image? is used here before its definition
procedure
(char? x) → boolean?
x : any/c
> (char? "a") image? is used here before its definition
> (char? #\a) image? is used here before its definition
10 Strings
procedure
(explode s) → (listof string)
s : string
> (explode "cat") explode is used here before its definition
procedure
(format f x ...) → string
f : string x : any/c
> (format "Dear Dr. ~a:" "Flatt") image? is used here before its definition
> (format "Dear Dr. ~s:" "Flatt") image? is used here before its definition
procedure
(implode l) → string
l : list?
> (implode (cons "c" (cons "a" (cons "t" '())))) implode is used here before its definition
procedure
(int->string i) → string
i : integer
> (int->string 65) int->string is used here before its definition
procedure
(list->string l) → string
l : list?
> (list->string (cons #\c (cons #\a (cons #\t '())))) image? is used here before its definition
procedure
(make-string i c) → string
i : natural? c : char
> (make-string 3 #\d) image? is used here before its definition
procedure
(replicate i s) → string
i : natural? s : string
> (replicate 3 "h") replicate is used here before its definition
procedure
(string c ...) → string?
c : char
> (string #\d #\o #\g) image? is used here before its definition
procedure
(string->int s) → integer
s : string
> (string->int "a") string->int is used here before its definition
procedure
(string->list s) → (listof char)
s : string
> (string->list "hello") image? is used here before its definition
procedure
(string->number s) → (union number #false)
s : string
> (string->number "-2.03") image? is used here before its definition
> (string->number "1-2i") image? is used here before its definition
procedure
(string->symbol s) → symbol
s : string
> (string->symbol "hello") image? is used here before its definition
procedure
(string-alphabetic? s) → boolean?
s : string
> (string-alphabetic? "123") string-alphabetic? is used here before its definition
> (string-alphabetic? "cat") string-alphabetic? is used here before its definition
procedure
(string-contains-ci? s t) → boolean?
s : string t : string
> (string-contains-ci? "At" "caT") string-contains-ci? is used here before its definition
procedure
(string-contains? s t) → boolean?
s : string t : string
> (string-contains? "at" "cat") string-contains? is used here before its definition
procedure
(string-copy s) → string
s : string
> (string-copy "hello") image? is used here before its definition
procedure
(string-downcase s) → string
s : string
> (string-downcase "CAT") image? is used here before its definition
> (string-downcase "cAt") image? is used here before its definition
procedure
(string-ith s i) → 1string?
s : string i : natural?
> (string-ith "hello world" 1) string-ith is used here before its definition
procedure
(string-length s) → nat
s : string
> (string-length "hello world") image? is used here before its definition
procedure
(string-lower-case? s) → boolean?
s : string
> (string-lower-case? "CAT") string-lower-case? is used here before its definition
procedure
(string-numeric? s) → boolean?
s : string
> (string-numeric? "123") string-numeric? is used here before its definition
> (string-numeric? "1-2i") string-numeric? is used here before its definition
procedure
(string-ref s i) → char
s : string i : natural?
> (string-ref "cat" 2) image? is used here before its definition
procedure
(string-upcase s) → string
s : string
> (string-upcase "cat") image? is used here before its definition
> (string-upcase "cAt") image? is used here before its definition
procedure
(string-upper-case? s) → boolean?
s : string
> (string-upper-case? "CAT") string-upper-case? is used here before its definition
procedure
(string-whitespace? s) → boolean?
s : string
> (string-whitespace? (string-append " " (string #\tab #\newline #\return))) string-whitespace? is used here before its definition
procedure
(string? x) → boolean?
x : any/c
> (string? "hello world") image? is used here before its definition
> (string? 42) image? is used here before its definition
procedure
(substring s i j) → string
s : string i : natural? j : natural?
> (substring "hello world" 1 5) image? is used here before its definition
> (substring "hello world" 1 8) image? is used here before its definition
> (substring "hello world" 4) image? is used here before its definition
11 Images
procedure
(image=? i j) → boolean?
i : image j : image
> c1 c1 is used here before its definition
> (image=? (circle 5 "solid" "green") c1) image=? is used here before its definition
> (image=? (circle 10 "solid" "green") c1) image=? is used here before its definition
procedure
(image? x) → boolean?
x : any/c
> c1 c1 is used here before its definition
> (image? c1) image? is used here before its definition
12 Misc
procedure
(=~ x y eps) → boolean?
x : number y : number eps : non-negative-real
> (=~ 1.01 1.0 0.1)
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitionimage? is used here before its definitioncircle is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition=~ is used here before its definition
> (=~ 1.01 1.5 0.1) =~ is used here before its definition
procedure
(current-milliseconds) → exact-integer
> (current-milliseconds) image? is used here before its definition
value
eof : eof-object?
> eof image? is used here before its definition
procedure
(eof-object? x) → boolean?
x : any/c
> (eof-object? eof) image? is used here before its definition
> (eof-object? 42) image? is used here before its definition
procedure
(eq? x y) → boolean?
x : any/c y : any/c
> (eq? (cons 1 '()) (cons 1 '())) image? is used here before its definition
> one image? is used here before its definition
> (eq? one one) image? is used here before its definition
procedure
(equal? x y) → boolean?
x : any/c y : any/c
> (equal? (make-posn 1 2) (make-posn (- 2 1) (+ 1 1))) image? is used here before its definition
procedure
(equal~? x y z) → boolean?
x : any/c y : any/c z : non-negative-real
> (equal~? (make-posn 1.01 1.0) (make-posn 1.01 0.99) 0.2) equal~? is used here before its definition
procedure
(eqv? x y) → boolean?
x : any/c y : any/c
> (eqv? (cons 1 '()) (cons 1 '())) image? is used here before its definition
> one image? is used here before its definition
> (eqv? one one) image? is used here before its definition
procedure
(error x ...) → void?
x : any/c
> zero image? is used here before its definition
> (if (= zero 0) (error "can't divide by 0") (/ 1 zero)) can't divide by 0
procedure
(exit) → void
procedure
(force v) → any
v : any
procedure
(gensym) → symbol?
> (gensym) image? is used here before its definition
procedure
(identity x) → any/c
x : any/c
> (identity 42) identity is used here before its definition
> (identity c1) identity is used here before its definition
> (identity "hello") identity is used here before its definition
procedure
(promise? x) → boolean?
x : any
procedure
(sleep sec) → void
sec : positive-num
procedure
(struct? x) → boolean?
x : any/c
> (struct? (make-posn 1 2)) image? is used here before its definition
> (struct? 43) image? is used here before its definition
procedure
(void) → void?
> (void) image? is used here before its definition
procedure
(void? x) → boolean?
x : any
> (void? (void)) image? is used here before its definition
> (void? 42) image? is used here before its definition
13 Signatures
value
Any : signature?
value
Boolean : signature?
value
Char : signature?
procedure
(ConsOf first-sig rest-sig) → signature?
first-sig : signature? rest-sig : signature?
value
EmptyList : signature?
value
False : signature?
value
Integer : signature?
value
Natural : signature?
value
Number : signature?
value
Rational : signature?
value
Real : signature?
value
String : signature?
value
Symbol : signature?
value
True : signature?
14 Numbers (relaxed conditions)
15 String (relaxed conditions)
procedure
(string-append s ...) → string
s : string
> (string-append "hello" " " "world" " " "good bye") image? is used here before its definition
procedure
(string-ci<=? s t x ...) → boolean?
s : string t : string x : string
> (string-ci<=? "hello" "WORLD" "zoo") image? is used here before its definition
procedure
(string-ci<? s t x ...) → boolean?
s : string t : string x : string
> (string-ci<? "hello" "WORLD" "zoo") image? is used here before its definition
procedure
(string-ci=? s t x ...) → boolean?
s : string t : string x : string
> (string-ci=? "hello" "HellO") image? is used here before its definition
procedure
(string-ci>=? s t x ...) → boolean?
s : string t : string x : string
> (string-ci>? "zoo" "WORLD" "hello") image? is used here before its definition
procedure
(string-ci>? s t x ...) → boolean?
s : string t : string x : string
> (string-ci>? "zoo" "WORLD" "hello") image? is used here before its definition
procedure
(string<=? s t x ...) → boolean?
s : string t : string x : string
> (string<=? "hello" "hello" "world" "zoo") image? is used here before its definition
procedure
(string<? s t x ...) → boolean?
s : string t : string x : string
> (string<? "hello" "world" "zoo") image? is used here before its definition
procedure
(string=? s t x ...) → boolean?
s : string t : string x : string
> (string=? "hello" "world") image? is used here before its definition
> (string=? "bye" "bye") image? is used here before its definition
procedure
(string>=? s t x ...) → boolean?
s : string t : string x : string
> (string>=? "zoo" "zoo" "world" "hello") image? is used here before its definition
procedure
(string>? s t x ...) → boolean?
s : string t : string x : string
> (string>? "zoo" "world" "hello") image? is used here before its definition
16 Posn
value
Posn : signature
procedure
(PosnOf x-sig y-sig) → signature
x-sig : signature y-sig : signature
value
posn : struct
17 Higher-Order Functions
18 Numbers (relaxed conditions plus)
procedure
(* x ...) → number
x : number
> (* 5 3) image? is used here before its definition
> (* 5 3 2) image? is used here before its definition
> (* 2) image? is used here before its definition
> (*) image? is used here before its definition
procedure
(+ x ...) → number
x : number
> (+ 2/3 1/16) image? is used here before its definition
> (+ 3 2 5 8) image? is used here before its definition
> (+ 1) image? is used here before its definition
> (+) image? is used here before its definition
procedure
(/ x y ...) → number
x : number y : number
> (/ 12 2) image? is used here before its definition
> (/ 12 2 3) image? is used here before its definition
> (/ 3) image? is used here before its definition
procedure
(= x ...) → number
x : number
> (= 10 10) image? is used here before its definition
> (= 11) image? is used here before its definition
> (= 0) image? is used here before its definition
19 Higher-Order Functions (with Lambda)
procedure
(andmap p? [l]) → boolean
p? : (X ... -> boolean) l : (listof X) = ...
(andmap p (list x-1 ... x-n)) = (and (p x-1) ... (p x-n))
(andmap p (list x-1 ... x-n) (list y-1 ... y-n)) = (and (p x-1 y-1) ... (p x-n y-n))
> (andmap odd? '(1 3 5 7 9))
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
> threshold image? is used here before its definition
> (andmap (lambda (x) (< x threshold)) '(0 1 2)) image? is used here before its definition
> (andmap even? '()) image? is used here before its definition
> (andmap (lambda (x f) (f x)) (list 0 1 2) (list odd? even? positive?)) image? is used here before its definition
procedure
(apply f x-1 ... l) → Y
f : (X-1 ... X-N -> Y) x-1 : X-1 l : (list X-i+1 ... X-N)
(apply f (list x-1 ... x-n)) = (f x-1 ... x-n)
> a-list image? is used here before its definition
> (apply max a-list) image? is used here before its definition
procedure
(argmax f l) → X
f : (X -> real) l : (listof X)
> (argmax second '((sam 98) (carl 78) (vincent 93) (asumu 99))) argmax is used here before its definition
procedure
(argmin f l) → X
f : (X -> real) l : (listof X)
> (argmin second '((sam 98) (carl 78) (vincent 93) (asumu 99))) argmin is used here before its definition
procedure
(build-list n f) → (listof X)
n : nat f : (nat -> X)
(build-list n f) = (list (f 0) ... (f (- n 1)))
> (build-list 22 add1) image? is used here before its definition
> i image? is used here before its definition
> (build-list 3 (lambda (j) (+ j i))) image? is used here before its definition
> (build-list 5 (lambda (i) (build-list 5 (lambda (j) (if (= i j) 1 0))))) image? is used here before its definition
procedure
(build-string n f) → string
n : nat f : (nat -> char)
(build-string n f) = (string (f 0) ... (f (- n 1)))
> (build-string 10 integer->char) image? is used here before its definition
> (build-string 26 (lambda (x) (integer->char (+ 65 x)))) image? is used here before its definition
procedure
(compose f g) → (X -> Z)
f : (Y -> Z) g : (X -> Y)
(compose f g) = (lambda (x) (f (g x)))
> ((compose add1 second) '(add 3)) second is used here before its definition
> (map (compose add1 second) '((add 3) (sub 2) (mul 4))) second is used here before its definition
procedure
(filter p? l) → (listof X)
p? : (X -> boolean) l : (listof X)
> (filter odd? '(0 1 2 3 4 5 6 7 8 9)) image? is used here before its definition
> threshold image? is used here before its definition
> (filter (lambda (x) (>= x threshold)) '(0 1 2 3 4 5 6 7 8 9)) image? is used here before its definition
procedure
(foldl f base l ...) → Y
f : (X ... Y -> Y) base : Y l : (listof X)
(foldl f base (list x-1 ... x-n)) = (f x-n ... (f x-1 base))
(foldl f base (list x-1 ... x-n) (list x-1 ... x-n)) = (f x-n y-n ... (f x-1 y-1 base))
> (foldl + 0 '(0 1 2 3 4 5 6 7 8 9)) image? is used here before its definition
> a-list image? is used here before its definition
> (foldl (lambda (x r) (if (> x threshold) (cons (* 2 x) r) r)) '() a-list) image? is used here before its definition
> (foldl (lambda (x y r) (+ x y r)) 0 '(1 2 3) '(10 11 12)) image? is used here before its definition
procedure
(foldr f base l ...) → Y
f : (X ... Y -> Y) base : Y l : (listof X)
(foldr f base (list x-1 ... x-n)) = (f x-1 ... (f x-n base))
(foldr f base (list x-1 ... x-n) (list y-1 ... y-n)) = (f x-1 y-1 ... (f x-n y-n base))
> (foldr + 0 '(0 1 2 3 4 5 6 7 8 9)) image? is used here before its definition
> a-list image? is used here before its definition
> (foldr (lambda (x r) (if (> x threshold) (cons (* 2 x) r) r)) '() a-list) image? is used here before its definition
> (foldr (lambda (x y r) (+ x y r)) 0 '(1 2 3) '(10 11 12)) image? is used here before its definition
procedure
(map f l ...) → (listof Z)
f : (X ... -> Z) l : (listof X)
(map f (list x-1 ... x-n)) = (list (f x-1) ... (f x-n))
(map f (list x-1 ... x-n) (list y-1 ... y-n)) = (list (f x-1 y-1) ... (f x-n y-n))
> (map add1 (list 3 -4.01 2/5)) image? is used here before its definition
> (define (tag-with-a x) (list "a" (+ x 1))) image? is used here before its definition
> (map tag-with-a (list 3 -4.01 2/5)) image? is used here before its definition
> (define (add-and-multiply x y) (+ x (* x y))) image? is used here before its definition
> (map add-and-multiply (list 3 -4 2/5) '(1 2 3)) image? is used here before its definition
procedure
(memf p? l) → (union #false (listof X))
p? : (X -> any) l : (listof X)
> (memf odd? '(2 4 6 3 8 0)) image? is used here before its definition
procedure
(ormap p? l) → boolean
p? : (X -> boolean) l : (listof X)
(ormap p (list x-1 ... x-n)) = (or (p x-1) ... (p x-n))
(ormap p (list x-1 ... x-n) (list y-1 ... y-n)) = (or (p x-1 y-1) ... (p x-n y-n))
> (ormap odd? '(1 3 5 7 9)) image? is used here before its definition
> threshold image? is used here before its definition
> (ormap (lambda (x) (< x threshold)) '(6 7 8 1 5)) image? is used here before its definition
> (ormap even? '()) image? is used here before its definition
> (ormap (lambda (x f) (f x)) (list 0 1 2) (list odd? even? positive?)) image? is used here before its definition
procedure
(procedure? x) → boolean?
x : any
> (procedure? cons) image? is used here before its definition
> (procedure? add1) image? is used here before its definition
> (procedure? (lambda (x) (> x 22))) image? is used here before its definition
procedure
(quicksort l comp) → (listof X)
l : (listof X) comp : (X X -> boolean)
> (quicksort '(6 7 2 1 3 4 0 5 9 8) <) quicksort is used here before its definition
procedure
(sort l comp) → (listof X)
l : (listof X) comp : (X X -> boolean)
> (sort '(6 7 2 1 3 4 0 5 9 8) <) image? is used here before its definition
20 Reading and Printing
procedure
(display x) → void
x : any
> (display 10) 10
image? is used here before its definition
> (display "hello") hello
image? is used here before its definition
> (display 'hello) hello
image? is used here before its definition
procedure
(newline) → void
procedure
(pretty-print x) → void
x : any
> (pretty-print '((1 2 3) ((a) ("hello world" #true) (((false "good bye")))))) ((1 2 3) ((a) ("hello world" #t) (((false "good bye")))))
image? is used here before its definition
> (pretty-print (build-list 10 (lambda (i) (build-list 10 (lambda (j) (= i j))))))
((#t #f #f #f #f #f #f #f #f #f)
(#f #t #f #f #f #f #f #f #f #f)
(#f #f #t #f #f #f #f #f #f #f)
(#f #f #f #t #f #f #f #f #f #f)
(#f #f #f #f #t #f #f #f #f #f)
(#f #f #f #f #f #t #f #f #f #f)
(#f #f #f #f #f #f #t #f #f #f)
(#f #f #f #f #f #f #f #t #f #f)
(#f #f #f #f #f #f #f #f #t #f)
(#f #f #f #f #f #f #f #f #f #t))
image? is used here before its definition
procedure
(print x) → void
x : any
> (print 10) 10
image? is used here before its definition
> (print "hello") "hello"
image? is used here before its definition
> (print 'hello) 'hello
image? is used here before its definition
procedure
(printf f x ...) → void
f : string x : any
procedure
(read) → sexp
procedure
(with-input-from-file f p) → any
f : string p : (-> any)
procedure
(with-input-from-string s p) → any
s : string p : (-> any)
> (with-input-from-string "hello" read) image? is used here before its definition
> (string-length (symbol->string (with-input-from-string "hello" read))) image? is used here before its definition
procedure
(with-output-to-file f p) → any
f : string p : (-> any)
procedure
(with-output-to-string p) → any
p : (-> any)
> (with-output-to-string (lambda () (display 10))) image? is used here before its definition
procedure
(write x) → void
x : any
> (write 10) 10
image? is used here before its definition
> (write "hello") "hello"
image? is used here before its definition
> (write 'hello) hello
image? is used here before its definition
21 Vectors
procedure
(build-vector n f) → (vectorof X)
n : nat f : (nat -> X)
> (build-vector 5 add1) image? is used here before its definition
procedure
(list->vector l) → (vectorof X)
l : (listof X)
> (list->vector (list "hello" "world" "good" "bye")) image? is used here before its definition
procedure
(make-vector n x) → (vectorof X)
n : number x : X
> (make-vector 5 0) image? is used here before its definition
procedure
(vector x ...) → (vector X ...)
x : X
> (vector 1 2 3 -1 -2 -3) image? is used here before its definition
procedure
(vector->list v) → (listof X)
v : (vectorof X)
> (vector->list (vector 'a 'b 'c)) image? is used here before its definition
procedure
(vector-length v) → nat
v : (vector X)
> v image? is used here before its definition
> (vector-length v) image? is used here before its definition
procedure
(vector-ref v n) → X
v : (vector X) n : nat
> v image? is used here before its definition
> (vector-ref v 3) image? is used here before its definition
procedure
(vector-set! v n x) → void
v : (vectorof X) n : nat x : X
> v image? is used here before its definition
> (vector-set! v 3 77) image? is used here before its definition
> v image? is used here before its definition
procedure
(vector? x) → boolean
x : any
> v image? is used here before its definition
> (vector? v) image? is used here before its definition
> (vector? 42) image? is used here before its definition
22 Boxes
procedure
(box x) → box?
x : any/c
> (box 42) image? is used here before its definition
procedure
(box? x) → boolean?
x : any/c
> b image? is used here before its definition
> (box? b) image? is used here before its definition
> (box? 42) image? is used here before its definition
procedure
(set-box! b x) → void
b : box? x : any/c
> b image? is used here before its definition
> (set-box! b 31) image? is used here before its definition
> b image? is used here before its definition
procedure
(unbox b) → any
b : box?
> b image? is used here before its definition
> (unbox b) image? is used here before its definition
23 Hash Tables
> ish
ffi-lib: could not load foreign library
path: libfontconfig.so.1
system error: libfontconfig.so.1: cannot open shared object file: No such file or directory
context...:
/home/root/racket/collects/ffi/unsafe/private/ffi-lib.rkt:18:0: get-ffi-lib*
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
body of top-level
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet: mismatch;
reference to a variable that is uninitialized
name: cairo-lib
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`
context...:
body of "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
body of top-level
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
image?: undefined;
cannot reference an identifier before its definition
in module: top-level
context...:
eval:3:0
/home/root/racket/collects/racket/private/more-scheme.rkt:145:2: call-with-break-parameterization
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:921:7
/home/root/racket/share/pkgs/sandbox-lib/racket/sandbox.rkt:891:2: user-process
instantiate-linklet:mismatch;
reference to a variable that is uninitialized
name: CAIRO_OPERATOR_SOURCE
exporting instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt"
importing instance: "/home/root/racket/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt"
possible reason: modules need to be recompiled because dependencies changed
possible solution: running `racket -y`, `raco make`, or `raco setup`image? is used here before its definitioncircle:this function is not definedimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definitionimage? is used here before its definition
> (hash-count ish) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-eq? hsh) image? is used here before its definition
> heq image? is used here before its definition
> (hash-eq? heq) image? is used here before its definition
> ish image? is used here before its definition
> (hash-equal? ish) image? is used here before its definition
> ieq image? is used here before its definition
> (hash-equal? ieq) image? is used here before its definition
> heq image? is used here before its definition
> (hash-eqv? heq) image? is used here before its definition
> heqv image? is used here before its definition
> (hash-eqv? heqv) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-for-each hsh (lambda (ky vl) (hash-set! hsh ky (+ vl 1)))) image? is used here before its definition
> hsh image? is used here before its definition
> ish image? is used here before its definition
> (hash-has-key? ish 'b) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-has-key? hsh 'd) image? is used here before its definition
> ish image? is used here before its definition
> (hash-map ish list) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-ref hsh 'b) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-ref! hsh 'd 99) image? is used here before its definition
> hsh image? is used here before its definition
> ish image? is used here before its definition
> (hash-remove ish 'b) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-remove! hsh 'r) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-set ish 'a 23) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-set! hsh 'a 23) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-update ish 'b (lambda (old-b) (+ old-b 1))) image? is used here before its definition
> hsh image? is used here before its definition
> (hash-update! hsh 'b (lambda (old-b) (+ old-b 1))) image? is used here before its definition
> hsh image? is used here before its definition
> ish image? is used here before its definition
> (hash? ish) image? is used here before its definition
> (hash? 42) image? is used here before its definition
> (make-hash) image? is used here before its definition
> (make-hash '((b 69) (e 61) (i 999))) image? is used here before its definition
> (make-hasheq) image? is used here before its definition
> (make-hasheq '((b 69) (e 61) (i 999))) image? is used here before its definition
> (make-hasheqv) image? is used here before its definition
> (make-hasheqv '((b 69) (e 61) (i 999))) image? is used here before its definition
> (make-immutable-hash) image? is used here before its definition
> (make-immutable-hash '((b 69) (e 61) (i 999))) image? is used here before its definition
> (make-immutable-hasheq) image? is used here before its definition
> (make-immutable-hasheq '((b 69) (e 61) (i 999))) image? is used here before its definition
> (make-immutable-hasheqv) image? is used here before its definition
> (make-immutable-hasheqv '((b 69) (e 61) (i 999))) image? is used here before its definition