if (typeof module !== 'undefined') { var types = require('./types'); var readline = require('./node_readline'); var reader = require('./reader'); var printer = require('./printer'); } // read function READ(str) { return reader.read_str(str); } // eval function EVAL(ast, env) { return ast; } // print function PRINT(exp) { return printer._pr_str(exp, true); } // repl var re = function(str) { return EVAL(READ(str), {}); }; var rep = function(str) { return PRINT(EVAL(READ(str), {})); }; // repl loop if (typeof require !== 'undefined' && require.main === module) { // Synchronous node.js commandline mode while (true) { var line = readline.readline("user> "); if (line === null) { break; } try { if (line) { printer.println(rep(line)); } } catch (exc) { if (exc instanceof reader.BlankException) { continue } if (exc instanceof Error) { console.warn(exc.stack) } else { console.warn("Error: " + printer._pr_str(exc, true)) } } } }