(my-assoc 'b '((a . 1)(b . 2)(c . 3)(b . z))) --> (b . 2) (my-assoc 'z '((a . 1)(b . 2)(c . 3)(b . z))) --> nil
(my-top) ; to get your my-eval evaluating top-level expressions
t
nil
"Hello"
10
'(a b c)
(car '(a b c))
(cdr '(a b c))
(cons 'd '(a b c))
(eq 'a 'a)
(eq '(a b) '(a b)) ; should be nil
(eq t t)
(eq nil nil)
(eq t nil)
(atom 'a)
(atom '(a b c))
(listp 'a)
(listp '(a b c))
(setq x '(a b c))
x
(cond (t t))
(cond (nil nil))
(cond (nil nil)
(t t))
(cond ((eq 'a 'a) 'b)
(t 'c))
(cond ((eq 'a 'b) 'b)
(t 'c))
(defun member (a l)
(cond ((eq l nil) nil)
((eq a (car l)) t)
(t (member a (cdr l)))))
(member 'a '(a b c))
(member 'a '(b a c))
(member 'd '(b a c))
(defun fact (n)
(cond ((eq n 0) 1)
(t (* n (fact (- n 1))))))
(fact 3)
struct Bar
{
char c,d,e,g;
double f;
int i;
};
union Foo
{
char c;
double f;
Bar b;
};
Foo a[10];
Bar b;
Foo f;