From 1e50140970516cb8646933f06a67fbd52bc434f1 Mon Sep 17 00:00:00 2001 From: Moritz Gmeiner Date: Wed, 28 Aug 2024 17:24:19 +0200 Subject: [PATCH] fixed oeprator not to convert to bool first --- lib/interpreter.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/interpreter.ml b/lib/interpreter.ml index f8216bf..8d7b267 100644 --- a/lib/interpreter.ml +++ b/lib/interpreter.ml @@ -33,7 +33,7 @@ let rec interpret_expr (env : environment) (expr_node : expr_node) : let* expr = interpret_expr env expr in match (op, expr) with | Neg, Number x -> Number (-.x) |> Result.ok - | Not, Bool b -> Bool (not b) |> Result.ok + | Not, value -> Bool (lox_value_to_bool value |> not) |> Result.ok | _, _ -> let msg = Printf.sprintf "Invalid operant of type %s to operator %s"