ADDED: type pair

This commit is contained in:
Markus Triska
2025-03-08 14:42:48 +01:00
parent 32d91449b5
commit 57bf1ec39b

View File

@@ -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