@@ -8,8 +8,9 @@ import polemy._common; import polemy.failure; import polemy.lex; import polemy.ast; +import polemy.layer; /// Parse a string and return its AST /// Throws: ParseException, LexException, UnexpectedEOF @@ -101,11 +102,11 @@ auto e = tryEat("(") ? parseLambdaAfterOpenParen(pos) // let var ( ... : (eat("=", "after "~kwd), E(0)); // let var = ... if( moreDeclarationExists() ) - return new LetExpression(pos, var, "(system)", e, Body()); + return new LetExpression(pos, var, SystemLayer, e, Body()); else - return new LetExpression(pos, var, "(system)", e, new VarExpression(pos, var)); + return new LetExpression(pos, var, SystemLayer, e, new VarExpression(pos, var)); } else { string kwd = layer; @@ -474,9 +475,9 @@ var("foo")) ); assert_eq(parseString(`@@type ( x ) { x }`), - let("@type", "(system)", fun(["x"], var("x")), var("@type")) ); + let("@type", SystemLayer, fun(["x"], var("x")), var("@type")) ); assert_eq(parseString(`{}`), call(var("{}"))); assert_eq(parseString(`{foo:1,"bar":2}`), call(var(".="), call(var(".="), call(var("{}")), strl("foo"), intl(1)), strl("bar"), intl(2)));