Esempio n. 1
0
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]);
}
Esempio n. 2
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);
}
Esempio n. 3
0
Scheme_Object *scheme_copy_list(Scheme_Object *l)
{
  return scheme_vector_to_list(scheme_list_to_vector(l));
}