#!/usr/bin/perl -w

BEGIN { $Lisp::Interpreter::DEBUG++; }

use Lisp::Reader;
use Lisp::Printer;
use Lisp::Interpreter;
use Lisp::Symbol qw(symbol);

use Lisp::Subr::Perl;  # make perl builtins available

if (@ARGV && $ARGV[0] eq "-f") {
    shift;
    die "-f requires a filename as argument" unless @ARGV;
    $text = `cat $ARGV[0]`;
} else {
    $text = "@ARGV";
}


my $form = Lisp::Reader::read($text);
unshift(@$form, symbol("progn")) if ref($form->[0]) eq "ARRAY";

#print Lisp::Printer::print($form), "\n";

my $res = Lisp::Interpreter::eval($form);
print Lisp::Printer::print($res), "\n";
