Wouter wrote:
> Hi,
> 
> Does anyone know how the ATmakeListX functions (for instance,
> ATmakeList5 is used in nix-env.cc) are defined? I would like to use
> ATmakeList7, but only ATmakeList1 - ATmakeList6 are now defined
> (somewhere). I've grepped in every possible way, but these functions are
> gone at the end of the compilation.

They're defined in aterm2.h in the ATerm library:

#define ATmakeList2(el0, el1)           ATinsert(ATmakeList1(el1), el0)
#define ATmakeList3(el0, el1, el2)      ATinsert(ATmakeList2(el1,el2), el0)
...

so it's basically just sugar for calls to ATinsert().  So making a list of 7
elements is just another ATinsert() call.

> ATmakeAppl seems to be generated just like ATmakeList, and I have no
> idea where too look.

Those are actually real functions in memory.c in the ATerm library.  If you want
arities >= 7, you have to use ATmakeApplList() or ATmakeApplArray().

-- 
Eelco Dolstra | http://www.cs.uu.nl/~eelco
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to