Exemple #1
0
/* 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);
}
Exemple #3
0
/* 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);
}