From: Bennet Bleßmann Date: Sat, 19 Jul 2025 23:52:34 +0000 (+0200) Subject: undo changes to error.pl X-Git-Tag: v0.10.0~35^2^2~28 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=129c80bf16b3a20237b8bfb0952a15d932b98020;p=scryer-prolog.git undo changes to error.pl --- diff --git a/src/lib/error.pl b/src/lib/error.pl index 0eb2a6d4..67df8a32 100644 --- a/src/lib/error.pl +++ b/src/lib/error.pl @@ -82,9 +82,6 @@ must_be_(octet_chars, Cs) :- ; true ). must_be_(list, Term) :- check_(error:ilist, list, Term). -must_be_(list(Elem), Term) :- - must_be_(list, Term), - check_all(Elem, 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). @@ -99,12 +96,10 @@ must_be_(term, Term) :- % We cannot use maplist(must_be(character), Cs), because library(lists) % uses library(error), so importing it would create a cyclic dependency. -check_all(_, []). -check_all(Type, [Head| Tail]) :- - must_be(Type, Head), - check_all(Type, Tail). - -all_characters(Cs) :- check_all(character, Cs). +all_characters([]). +all_characters([C|Cs]) :- + must_be(character, C), + all_characters(Cs). check_(Pred, Type, Term) :- ( var(Term) -> instantiation_error(must_be/2) @@ -146,7 +141,6 @@ type(octet_character). type(octet_chars). type(chars). type(list). -type(list(Type)) :- type(Type). type(var). type(boolean). type(term).