aboutsummaryrefslogtreecommitdiff
path: root/constructor.c
diff options
context:
space:
mode:
Diffstat (limited to 'constructor.c')
-rw-r--r--constructor.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/constructor.c b/constructor.c
index 9db0330..e0fab52 100644
--- a/constructor.c
+++ b/constructor.c
@@ -46,3 +46,19 @@ lisp_t *intern(sys_t *sys, sv_t sv)
char *str = sym_table_find(&sys->symtable, sv);
return tag_sym(str);
}
+
+lisp_t *car(lisp_t *lsp)
+{
+ if (!IS_TAG(lsp, CONS))
+ return NIL;
+ else
+ return CAR(lsp);
+}
+
+lisp_t *cdr(lisp_t *lsp)
+{
+ if (!IS_TAG(lsp, CONS))
+ return NIL;
+ else
+ return CDR(lsp);
+}