## Evaluation and compilation

### C Reference

#### `ecl_process_env`

Per-thread environment

##### Function

    	  cl_env_ptr ecl_process_env

##### Description

&ECL; stores information about each thread on a dedicated structure, which is the process environment. A pointer to this structure can be retrieved using the function or macro above. This pointer can be used for a variety of tasks, such as defining special variable bindings, controlling interrupts, retrieving function output values, etc.

#### ANSI Dictionary

&ANSI-C-Dict;

- Lisp symbol
- C function
- compile
- `&OCL;`
- eval
- `cl_object cl_eval(cl_object form)`
- compiler-macro-function
- `&OCL;`
- macro-function
- `cl_object cl_macro_function(cl_narg narg, cl_object symbol, ...)`
- macroexpand
- `cl_object cl_macroexpand(cl_narg narg, cl_object form, ...)`
- macroexpand-1
- `cl_object cl_macroexpand_1(cl_narg narg, cl_object form, ...)`
- proclaim
- `&OCL;`
- special-operator-p
- `cl_object cl_special_operator_p(cl_object form)`
- constantp
- `cl_object cl_constantp(cl_narg narg, cl_object form, ...)`

##### Description