[plt-scheme] eval when reading?

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Sep 8 09:52:52 EDT 2006

On Sep  7, Noel Welsh wrote:
> There isn't, and MzScheme allows fine grained control over
> what you allow evaled code to do.  There are two main
> mechanisms:
> 
>   - you can eval code in a custom namespace containing only
> those functions you allow
> 
>   - you can use various security managers to disable file
> and network access.
> 
> In addition to the MzScheme docs, see:
> 
> http://schemecookbook.org/Cookbook/DynamicEvalCustomNamespace
> 
> http://schemecookbook.org/Cookbook/DynamicUntrustedEval

Also, there is the handin-server code that does safe evaluation of
student submissions -- `safe-eval' and `make-evaluator' in
collects/handin-server/util.ss (in the repository and the full nightly
builds).


On Sep  8, Ryan Culpepper wrote:
> [...]
> Section 7.9.1.3 of the mzscheme manual lists the parameters that
> affect the reader. Section 11.2.4 describes the behavior of the
> default reader, and Section 11.2.8 talks about readtables.

I addition to extending the readtable there is `begin-lifted' which I
mentioned a short while ago -- it can solve many of the problems that
are solved with #. in CL.


(But all of this is irrelevant to the original post, which asked about
the safety of `read'...)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!


Posted on the users mailing list.