@@ -9,12 +9,12 @@ import std.algorithm; import std.array; import polemy.value; import polemy.failure; +import polemy.layer; import polemy.parse; import polemy.ast; import polemy.eval; -import polemy.layer; enum VersionNoMajor = 0; enum VersionNoMinor = 1; enum VersionNoRev = 0; @@ -22,12 +22,13 @@ /// Read-Eval-Print-Loop class REPL { +Evaluator ev; /// Load the prelude environment this() { - ctx = createGlobalContext(); + ev = new Evaluator; } /// Print the version number etc. void greet() @@ -37,9 +38,9 @@ /// Run one file on the global scope void runFile(string filename) { - eval(parseFile(filename), ctx, false, ValueLayer); + ev.evalFile(filename); } /// Repeat the singleInteraction void replLoop() @@ -77,9 +78,9 @@ buf ~= s; nextlineno ++; try - { lastVal = eval(parseString(buf, "", lineno), ctx, false, ValueLayer); } + { lastVal = ev.evalString(buf, "", lineno); } catch( UnexpectedEOF ) { return false; } // wait buf = ""; lineno = nextlineno;