<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book [
<!ENTITY % eclent SYSTEM "ecl.ent">
%eclent;
]>
<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<chapter>
<title>Evaluation and compilation</title>
<section xml:id="ansi.evaluation.c-dict">
<title>C Reference</title>

  <refentry xml:id="ecl_process_env">
    <refnamediv>
      <refname><function>ecl_process_env</function></refname>
      <refpurpose>Per-thread environment</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
      <title>Function</title>
      <funcsynopsis>
	<funcprototype>
	  <?dbhtml funcsynopsis-style='ansi'?>
	  <funcdef>cl_env_ptr <function>ecl_process_env</function></funcdef>
	  <paramdef></paramdef>
	</funcprototype>
      </funcsynopsis>
    </refsynopsisdiv>

    <refsect1>
      <title>Description</title>

      <para>&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.</para>
    </refsect1>
  </refentry>

  <refentry>
    <refnamediv>
      <refname>ANSI Dictionary</refname>
      <refpurpose>&ANSI-C-Dict;</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
<simplelist columns="2" type="horiz">
<member>Lisp symbol</member>
<member>C function</member>

<member><ulink url="&clhs;f_cmp.htm"><symbol>compile</symbol></ulink></member>
<member><code>&OCL;</code></member>

<member><ulink url="&clhs;f_eval.htm"><symbol>eval</symbol></ulink></member>
<member><code>cl_object cl_eval(cl_object form)</code></member>

<member><ulink url="&clhs;f_cmp_ma.htm"><symbol>compiler-macro-function</symbol></ulink></member>
<member><code>&OCL;</code></member>

<member><ulink url="&clhs;f_macro_.htm"><symbol>macro-function</symbol></ulink></member>
<member><code>cl_object cl_macro_function(cl_narg narg, cl_object symbol, ...)</code></member>

<member><ulink url="&clhs;f_mexp_.htm"><symbol>macroexpand</symbol></ulink></member>
<member><code>cl_object cl_macroexpand(cl_narg narg, cl_object form, ...)</code></member>

<member><ulink url="&clhs;f_mexp_.htm"><symbol>macroexpand-1</symbol></ulink></member>
<member><code>cl_object cl_macroexpand_1(cl_narg narg, cl_object form, ...)</code></member>

<member><ulink url="&clhs;f_procla.htm"><symbol>proclaim</symbol></ulink></member>
<member><code>&OCL;</code></member>

<member><ulink url="&clhs;f_specia.htm"><symbol>special-operator-p</symbol></ulink></member>
<member><code>cl_object cl_special_operator_p(cl_object form)</code></member>

<member><ulink url="&clhs;f_consta.htm"><symbol>constantp</symbol></ulink></member>
<member><code>cl_object cl_constantp(cl_narg narg, cl_object form, ...)</code></member>
</simplelist>
    </refsynopsisdiv>

    <refsect1>
      <title>Description</title>
      <para></para>
    </refsect1>
  </refentry>
</section>
</chapter>
</book>