From d80f404865656b6d1a8faf41cecdd61343adcd0b Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 28 Jul 2016 16:38:59 -0400 Subject: Fixed an issue with instantiating lazy values. Also, work on language impl. notes --- dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java') diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java index 2ed7adf..cef2e19 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java @@ -42,7 +42,8 @@ public class DiceASTEvaluator { return result; } - throw new UnsupportedOperationException( + // Return a DummyResult to handle lets properly + return new DummyResult( "Attempted to deref unbound variable " + variableName); } @@ -88,6 +89,7 @@ public class DiceASTEvaluator { DiceASTEvaluator::parseGroup); operatorCollapsers.put(OperatorDiceNode.LET, (nodes) -> { + // @TODO Fix lets prematurely evaluating things return parseLet(enviroment, nodes); }); -- cgit v1.2.3