diff --git a/engine/runtime/src/main/java/org/enso/interpreter/EnsoLanguage.java b/engine/runtime/src/main/java/org/enso/interpreter/EnsoLanguage.java index 61c82b9f2f7c..240a12cd7794 100644 --- a/engine/runtime/src/main/java/org/enso/interpreter/EnsoLanguage.java +++ b/engine/runtime/src/main/java/org/enso/interpreter/EnsoLanguage.java @@ -280,9 +280,15 @@ protected ExecutableNode parse(InlineParsingRequest request) throws InlineParsin if (exprNode.isDefined()) { var language = EnsoLanguage.get(exprNode.get()); return new ExecutableNode(language) { + @Child + private ExpressionNode expr; + @Override public Object execute(VirtualFrame frame) { - return exprNode.get().executeGeneric(frame); + if (expr == null) { + expr = insert(exprNode.get()); + } + return expr.executeGeneric(frame); } }; }