static Scheme_Object * vector_to_list (int argc, Scheme_Object *argv[]) { if (!SCHEME_VECTORP(argv[0])) scheme_wrong_type("vector->list", "vector", 0, argc, argv); return scheme_vector_to_list(argv[0]); }
static Scheme_Object * vector_to_list (int argc, Scheme_Object *argv[]) { Scheme_Object *vec = argv[0]; if (SCHEME_NP_CHAPERONEP(vec)) vec = SCHEME_CHAPERONE_VAL(vec); if (!SCHEME_VECTORP(vec)) { scheme_wrong_contract("vector->list", "vector?", 0, argc, argv); return NULL; } if (!SAME_OBJ(vec, argv[0])) return chaperone_vector_to_list(argv[0]); else return scheme_vector_to_list(vec); }
Scheme_Object *scheme_copy_list(Scheme_Object *l) { return scheme_vector_to_list(scheme_list_to_vector(l)); }