From 25bcb022d4afde35ad59e1a91ccab335accf69fb Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Thu, 18 Dec 2025 14:55:25 +1300 Subject: Added missing equality function for Term --- src/kompsos.adb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/kompsos.adb') diff --git a/src/kompsos.adb b/src/kompsos.adb index 1fedb86..476eb86 100644 --- a/src/kompsos.adb +++ b/src/kompsos.adb @@ -96,6 +96,30 @@ package body Kompsos is -- Terms -- + function "=" + (Left, Right : in Term) + return Boolean is + begin + if Left.Actual = Right.Actual then + return True; + elsif Left.Kind = Right.Kind then + case Left.Kind is + when Atom_Term => + return Left.Actual.Value = Right.Actual.Value; + when Var_Term => + return Left.Actual.Refer = Right.Actual.Refer; + when Pair_Term => + return Left.Actual.Left = Right.Actual.Left and + Left.Actual.Right = Right.Actual.Right; + when Null_Term => + return True; + end case; + else + return False; + end if; + end "="; + + function Kind (This : in Term) return Term_Kind is -- cgit