Chapter 1. Overview

1.1. Reading this manual
1.1.1. Common Lisp users
1.1.2. C/C++ programmers
1.2. C Reference
1.2.1. One type for everything: cl_object
1.2.2. Naming conventions
1.2.3. Only in Common Lisp

1.1. Reading this manual

1.1.1. Common Lisp users

ECL supports all Common-Lisp data types exactly as defined in the ANSI. All functions and macros are expected to behave as described in that document and in the HyperSpec CLHS which is the online version of ANSI. In other words, the Standard is the basic reference for Common Lisp and also for ECL, and this first part of the book just complements it, describing implementation-specific features such as

  • Platform dependent limits.

  • Behavior which is marked as implementation specific in the standard.

  • Some corner cases which are not described in ANSI.

  • The philosophy behind certain implementation choices, etc.

In order to aid in locating these differences, this first part of the manual copies the structure of the ANSI standard, having the same number of chapters, each one with a set of sections documenting the implementation-specific details.

1.1.2. C/C++ programmers

The second goal of this document is to provide a reference for C programmers that want to create, manipulate and operate with Common Lisp programs at a lower level, or simply embedding ECL as a library.

The C/C++ reference evolves in parallel with the Common Lisp one, in the form of one section with the name "C Reference" for each chapter of the ANSI standard. Much of what is presented in those sections is redundant with the Common Lisp specification. In particular, there is a one-to-one mapping between types and functions which should be obvious given the rules explained in Section 1.2.

We must remark that the reference in this part of the manual is not enough to know how to embed ECL in a program. In practice the user or developer will also have to learn how to build programs, interface with foreign libraries, manage memory, etc. These concepts are explained in a different part of the book.