3 require_once 'readline.php';
4 require_once 'types.php';
5 require_once 'reader.php';
6 require_once 'printer.php';
10 return read_str($str);
14 function MAL_EVAL($ast, $env) {
19 function MAL_PRINT($exp) {
20 return _pr_str($exp, True) . "\n";
25 return MAL_PRINT(MAL_EVAL(READ($str), array()));
31 $line = mal_readline("user> ");
32 if ($line === NULL) { break; }
36 } catch (BlankException
$e) {
38 } catch (Exception
$e) {
39 echo "Error: " . $e->getMessage() . "\n";
40 echo $e->getTraceAsString() . "\n";