print "1..1\n";
use Lisp::Interpreter qw(lisp_read_eval_print);
use Lisp::Subr::Core;
$testno=1;
sub ok { print "ok ", $testno++, "\n" }
sub bad { print "not " }
*run = \&lisp_read_eval_print; # save some typing
$res = run(<<'EOT');
(defun sum2 (a b &optional c)
(+ a b))
(setq ok1 (= (sum2 3 4) 7))
(defun sumn (&rest numbers)
; Silly implementation
42)
(setq ok2 (= (sumn 21 21) 42))
;; Return testing results
(list ok1 ok2)
EOT
print "$res\n";
bad unless $res eq "(t t)";
ok;