diff --git a/slox/Interpreter.swift b/slox/Interpreter.swift index bb0551a..fb05c3d 100644 --- a/slox/Interpreter.swift +++ b/slox/Interpreter.swift @@ -163,7 +163,7 @@ class Interpreter { case .call(let calleeExpr, let rightParen, let args): return try handleFunctionCallExpression(calleeExpr: calleeExpr, rightParen: rightParen, args: args) case .lambda(let params, let statements): - return try handleLambda(params: params, statements: statements) + return try handleLambdaExpression(params: params, statements: statements) } } @@ -281,7 +281,7 @@ class Interpreter { return try actualFunction.call(interpreter: self, args: argValues) } - private func handleLambda(params: [Token], statements: [Statement]) throws -> LoxValue { + private func handleLambdaExpression(params: [Token], statements: [Statement]) throws -> LoxValue { let function = LoxFunction(name: "", arity: params.count, function: { (interpreter, args) in let environment = interpreter.environment diff --git a/sloxTests/InterpreterTests.swift b/sloxTests/InterpreterTests.swift index 016bc43..c70a6be 100644 --- a/sloxTests/InterpreterTests.swift +++ b/sloxTests/InterpreterTests.swift @@ -429,7 +429,7 @@ final class InterpreterTests: XCTestCase { XCTAssertEqual(actual, expected) } - func testInterpretLambdaPassedAsParameter() throws { + func testInterpretLambdaReturnedAsValue() throws { // fun makeAdder(n) { // return fun (a) { return n + a; }; // }