/* Outputs TRUE if Symbol is the name of an object variable owned by the * current object, FALSE otherwise. * @params - Symbol */ NODE *lmynamep(NODE *args) { NODE *arg; arg = name_arg(args); if (NOT_THROWING) { arg = intern(arg); if (current_object == logo_object) { return torf(flag__caseobj(arg, HAS_GLOBAL_VALUE)); } else return torf(assoc(arg, getvars(current_object)) != NIL); } return UNBOUND; }
NODE *lvbarredp(NODE *args) { char i; NODE *arg; arg = char_arg(args); if (NOT_THROWING) { i = *getstrptr(arg); return torf(getparity(i)); } return(UNBOUND); }
/* Outputs TRUE if Symbol is the name of a procedure owned by the current * object, FALSE otherwise. * @params - Symbol */ NODE *lmyprocp(NODE *args) { NODE *arg; if (current_object == logo_object) return lprocedurep(args); /* return lprocp or just call it? */ else { arg = name_arg(args); if (NOT_THROWING) return torf(assoc(arg, getprocs(current_object)) != NIL); } return UNBOUND; }
NODE *larrayp(NODE *arg) { return torf(nodetype(car(arg)) == ARRAY); }
NODE *lnumberp(NODE *arg) { setcar(arg, cnv_node_to_numnode(car(arg))); return torf(car(arg) != UNBOUND); }
NODE *llistp(NODE *arg) { arg = car(arg); return torf(is_list(arg)); }
NODE *lwordp(NODE *arg) { arg = car(arg); return torf(arg != UNBOUND && !aggregate(arg)); }
NODE *lemptyp(NODE *arg) { return torf(car(arg) == NIL || car(arg) == Null_Word); }