▼ |  | Mz Lib: Legacy Libraries

1 | mzlib/ a-signature
2 | mzlib/ a-unit
3 | mzlib/ async-channel
4 | mzlib/ awk
5 | mzlib/ class
6 | mzlib/ cm
7 | mzlib/ cm-accomplice
8 | mzlib/ cmdline
9 | mzlib/ cml
10 | mzlib/ compat
11 | mzlib/ compile
12 | mzlib/ contract
13 | mzlib/ control
14 | mzlib/ date
15 | mzlib/ deflate
16 | mzlib/ defmacro
17 | mzlib/ etc
18 | mzlib/ file
19 | mzlib/ for
20 | mzlib/ foreign
21 | mzlib/ include
22 | mzlib/ inflate
23 | mzlib/ integer-set
24 | mzlib/ kw
25 | mzlib/ list
26 | mzlib/ match
27 | mzlib/ math
28 | mzlib/ md5
29 | mzlib/ os
30 | mzlib/ pconvert
31 | mzlib/ pconvert-prop
32 | mzlib/ plt-match
33 | mzlib/ port
34 | mzlib/ pregexp
35 | mzlib/ pretty
36 | mzlib/ process
37 | mzlib/ restart
38 | mzlib/ runtime-path
39 | mzlib/ sandbox
40 | mzlib/ sendevent
41 | mzlib/ serialize
42 | mzlib/ shared
43 | mzlib/ string
44 | mzlib/ struct
45 | mzlib/ stxparam
46 | mzlib/ surrogate
47 | mzlib/ tar
48 | mzlib/ thread
49 | mzlib/ trace
50 | mzlib/ traceld
51 | mzlib/ trait
52 | mzlib/ transcr
53 | mzlib/ unit
54 | mzlib/ unit-exptime
55 | mzlib/ unit200
56 | mzlib/ unitsig200
57 | mzlib/ zip
| Bibliography
| Index

On this page:

make-evaluator

top ← prev up next →

(require mzlib/sandbox) | package: compatibility-lib

> NOTE: This library is deprecated; use racket/sandbox, instead.

The mzlib/sandbox library mostly re-exports racket/sandbox, but it provides a slightly different make-evaluator function.

The library re-exports the following bindings:

> sandbox-init-hook
> sandbox-reader
> sandbox-input
> sandbox-output
> sandbox-error-output
> sandbox-propagate-breaks
> sandbox-coverage-enabled
> sandbox-namespace-specs
> sandbox-override-collection-paths
> sandbox-security-guard
> sandbox-path-permissions
> sandbox-network-guard
> sandbox-make-inspector
> sandbox-eval-limits
> kill-evaluator
> break-evaluator
> set-eval-limits
> put-input
> get-output
> get-error-output
> get-uncovered-expressions
> call-with-limits
> with-limits
> exn:fail:resource?
> exn:fail:resource-resource

> > procedure
> > (make-evaluator |  | language |  |  |  |
> > |  | requires |  |  |  |
> > |  | input-program ...) |  | → |  | (any/c . -> . any)
> | language |  | : |  |
> (or/c module-path?
> (one-of/c 'r5rs 'beginner 'beginner-abbr
> 'intermediate 'intermediate-lambda 'advanced)
> (list/c (one-of/c 'special) symbol?)
> (list/c (one-of/c 'special) symbol?)
> (cons/c (one-of/c 'begin) list?))
> | requires |  | : |  |
> (or/c (cons/c 'begin list?)
> (listof (or/c module-path? path?)))
> input-program : any/c
> (make-evaluator module-decl) → (any/c . -> . any)
> module-decl : (or/c syntax? pair?)

Like make-evaluator or make-module-evaluator, but with several differences:

- The language argument can be one of a fixed set of symbols: 'r5rs, etc. They are converted by adding a (list 'special ....) wrapper.

- If requires starts with 'begin, then each element in the remainder of the list is effectively evaluated as a prefix to the program. Otherwise, it corresponds to the #:requires argument of make-evaluator.

- For each of language and requires that starts with 'begin, the expressions are inspected to find top-level require forms (using symbolic equality to detect require), and the required modules are added to the #:allow list for make-evaluator.

top ← prev up next →