Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e3d62627d1d1aab7ab1be2dd7f65a872 > files > 323

ecl-10.4.1-1.fc14.x86_64.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>2.&#160;What is ECL?</title><link rel="stylesheet" href="ecl.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="The ECL manual"><link rel="up" href="pr01.html" title="Preface"><link rel="prev" href="pr01.html" title="Preface"><link rel="next" href="pr01s03.html" title="3.&#160;History"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.&#160;What is <span class="application">ECL</span>?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&#160;</td><th width="60%" align="center">Preface</th><td width="20%" align="right">&#160;<a accesskey="n" href="pr01s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2.&#160;What is ECL?"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="preface.what.is.ecl"></a>2.&#160;What is <span class="application">ECL</span>?</h2></div></div></div><p>Common Lisp is a general purpose programming language. It lays its
  roots in the <acronym class="acronym">LISP</acronym> programming language <a class="xref" href="bi01.html#bib.LISP1.5">[LISP1.5]</a> developed by John McCarthy in the 80s. Common Lisp
  as we know it <a class="xref" href="bi01.html#bib.ANSI">ANSI</a> is the result of an standarization process aimed at
  unifying the multiple lisp dialects that were born from that language.</p><p><span class="application">ECL</span> is an implementation of the Common-Lisp language. As such it
  derives from the implementation of the same name developed by Giuseppe
  Attardi, which itself was built using code from the Kyoto Common-Lisp <a class="xref" href="bi01.html#bib.KCL">KCL</a>. See <a class="xref" href="pr01s03.html" title="3.&#160;History">Section&#160;3</a> for the
  history of the code you are about to use.</p><p><span class="application">ECL</span> (ECL for short) uses standard C calling conventions for Lisp
  compiled functions, which allows C programs to easily call Lisp functions
  and vice versa. No foreign function interface is required: data can be
  exchanged between C and Lisp with no need for conversion.</p><p><span class="application">ECL</span> is based on a Common Runtime Support (CRS) which provides basic
  facilities for memory management, dynamic loading and dumping of binary
  images, support for multiple threads of execution.  The CRS is built into a
  library that can be linked with the code of the application.  <span class="application">ECL</span> is
  modular: main modules are the program development tools (top level,
  debugger, trace, stepper), the compiler, and CLOS.  A native implementation
  of CLOS is available in <span class="application">ECL</span>: one can configure <span class="application">ECL</span> with or without CLOS.
  A runtime version of <span class="application">ECL</span> can be built with just the modules which are
  required by the application.</p><p>The <span class="application">ECL</span> compiler compiles from Lisp to C, and then invokes
  the GNU C compiler to produce binaries. While former releases of ECL
  adhere to the the reference of the language given in <a class="xref" href="bi01.html#bib.CLTL2">CLTL2</a>, the
  aim of <span class="application">ECL</span> is now to achieve maximum compliance with ANSI
  Common-Lisp, the most up to date standard for Common-Lisp.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="pr01.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="pr01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Preface&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;3.&#160;History</td></tr></table></div></body></html>