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
