Simul efun: set_variable - set a value in an alist Synopsis: mixed set_variable(mixed* pool, string variable, mixed value) Description: Put or remove a variable into a pool of variables, actually a handler to interact with any 2-dimensional alists. A pool is a 2-dim alist, it looks typically like this: ({ ({ "varname1", "varname2" }), ({ "contents1", "contents2" }) }) But the structure doesn't really matter, since you should not need to act upon it directly. This function will do for you: pool = set_variable(0, "blah", 23); .. generates a variable pool containing a variable "blah" associated to the integer 23. pool = set_variable(pool, "blah"); .. removes the variable "blah" from the pool. Hold your breath, this function might already be obsolete as soon as mappings are introduced, *however* the syntax will be supported for compatibility, just the internal structure of the pools will change from alist to mapping. Note: Kiri says: "I don't trust those simulated efuns and real efuns messing with alists! 'assoc' is not clean - at least not clean as simple replacement for member_array!" See also: lib/query_variable, efun/order_alist, efun/assoc, LPC/alists