Esempio n. 1
0
lval_t* builtin(lval_t* a,const char* func){
    if(strcmp("head", func) == 0) return builtin_head(a);
    if(strcmp("tail" ,func) == 0) return builtin_tail(a);
    if(strstr("+-/*", func) == 0) return builtin_op(a, func);
    lval_free(a);
    return lval_err("Unknown Function");
}
Esempio n. 2
0
lval *builtin(lval *v, char *func) {
    if (strcmp("head", func) == 0) {
        return builtin_head(v);
    }
    if (strcmp("tail", func) == 0) {
        return builtin_tail(v);
    }
    if (strcmp("init", func) == 0) {
        return builtin_init(v);
    }
    if (strcmp("join", func) == 0) {
        return builtin_join(v);
    }
    if (strcmp("eval", func) == 0) {
        return builtin_eval(v);
    }
    if (strcmp("list", func) == 0) {
        return builtin_list(v);
    }
    if (strcmp("cons", func) == 0) {
        return builtin_cons(v);
    }
    if (strcmp("len", func) == 0) {
        return builtin_len(v);
    }

    return builtin_op(v, func);
}
Esempio n. 3
0
lval* builtin(lval* a, char* func) {
  if (strcmp("join", func) == 0) { return builtin_join(a); }
  if (strcmp("list", func) == 0) { return builtin_list(a); }
  if (strcmp("eval", func) == 0) { return builtin_eval(a); }
  if (strcmp("tail", func) == 0) { return builtin_tail(a); }
  if (strcmp("head", func) == 0) { return builtin_head(a); }
  if (strstr("+-/*", func)) { return builtin_op(a, func); }
  lval_del(a);
  return lval_err("Unknown Function!");
}
Esempio n. 4
0
lval *builtin(lenv *e, lval *a, char *func)
{
  if (strcmp("eval", func) == 0) { return builtin_eval(e, a); }
  if (strcmp("head", func) == 0) { return builtin_head(e, a); }
  if (strcmp("join", func) == 0) { return builtin_join(e, a); }
  if (strcmp("list", func) == 0) { return builtin_list(e, a); }
  if (strcmp("tail", func) == 0) { return builtin_tail(e, a); }
  if (strstr("+-*%/", func))     { return builtin_op(e, a, func); }
  lval_del(a);
  return lval_err("Unknown function %s", func);
}