You can use Evalhook to evaluate a form in an environment, supposing that you can get your hands on one. Currently the only way to get your hands on a guaranteed evaluation environment is to use *evalhook* or *applyhook*. With such an environment, the semantics are well defined. Some implementations that don't have an evaluator don't support *evalhook* though... Rob