[Ecls-list] Any documentation for the C library?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Mon Feb 23 14:53:53 UTC 2009

On Mon, Feb 23, 2009 at 3:20 PM, Gabriel Dos Reis
<gdr at integrable-solutions.net> wrote:
> At the moment, OpenAxiom for
> ECL generates c-inline calls by refering to fields of ->vector.self
> of an object.

Would something like ecl_array_pointer(cl_object a, cl_fixnum
displacement) help here?

> The problem for OpenAxiom is when there are several ECL versions out
> there with differing structures and having to support each of them.  For example
> I develop with current trunk, but some OS distros chip either 0.9l or
> 8.12.0.

I am really sorry for this inconvenience. Hopefully this will not
repeat in the future, but let's try to find a more stable solution.

The problem of incompatible changes between releases is best solved by
conditionalizations. Currently ECL only provides a version number for
the lisp environment and only in the form of a function, which is not
useful for #+/#-.

I can first provide a C macro, kind of ECL_VERSION_NUMBER, which is an
increasing number of the form yymmvv (81200 in the previous case) and
which you can use for the automatically generated code.

Conditionalization at the lisp level can probably be improved with
customized reader macros or customized features. I can provide the
same numeric version in the form of a lisp constant
EXT:+ECL-VERSION-NUMBER+, so that you can do something like
#+(or #.(< 81200 ext:+ecl-version-number+ 90102))
#-(or #.(< 81200 ext:+ecl-version-number+ 90102))

Would that help?


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)

More information about the ecl-devel mailing list