[Ecls-list] Accessing cons values in C

Chris Osborne chris.osborne at gmx.com
Wed Jul 29 21:21:05 UTC 2015


Hi,
I’ve spent a good while looking through the project’s documentation (and finding useful apparently undocumented functions such as `ecl_base_string_pointer_safe`) but I cannot for the life of me work out how to access the values of a list stored in cons cells.
If I have a function that calls back into C with an argument passed as such: (foo ‘(1 2 3)) what’s the best way to access the values of the cells in that list?

The best I’ve found so far is either using cl_nth or cl_cdr and friends and then converting to a C number type, this seems a bit silly when I can access the value of a string by following the pointer tree. The documentation points to a type t_cons in the enum for ecl_t_of, but I can’t find it, or the cons value in the lispunion.

Am I missing something obvious here or do I just have to use the cl functions in C to access elements of what is essentially lisp’s simplest data type?

Cheers,
Chris



More information about the ecl-devel mailing list