From 57bf1ec39b9dc121594e54fb048f6be405aecfae Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Sat, 8 Mar 2025 14:42:48 +0100 Subject: [PATCH] ADDED: type pair --- src/lib/error.pl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/error.pl b/src/lib/error.pl index 81c676df..67df8a32 100644 --- a/src/lib/error.pl +++ b/src/lib/error.pl @@ -37,6 +37,7 @@ % - list % - octet_character % - octet_chars +% - pair % - term must_be(Type, Term) :- @@ -83,6 +84,7 @@ must_be_(octet_chars, Cs) :- must_be_(list, Term) :- check_(error:ilist, list, Term). must_be_(type, Term) :- check_(error:type, type, Term). must_be_(boolean, Term) :- check_(error:boolean, boolean, Term). +must_be_(pair, Term) :- check_(error:pair, pair, Term). must_be_(term, Term) :- ( acyclic_term(Term) -> ( ground(Term) -> true @@ -105,6 +107,9 @@ check_(Pred, Type, Term) :- ; type_error(Type, Term, must_be/2) ). + +pair(_-_). + boolean(B) :- ( B == true ; B == false ). character(C) :- @@ -140,6 +145,7 @@ type(var). type(boolean). type(term). type(not_less_than_zero). +type(pair). %% can_be(Type, Term) % @@ -188,6 +194,7 @@ can_(octet_chars, Cs) :- ). can_(list, Term) :- list_or_partial_list(Term). can_(boolean, Term) :- boolean(Term). +can_(pair, Term) :- pair(Term). can_(term, Term) :- ( acyclic_term(Term) -> true -- 2.54.0