more efficient alternative to how lists of characters are represented
in many other Prologs.
-To use partial strings, the `non_iso` library must be loaded:
+To use partial strings, the `iso_ext` library must be loaded:
-`?- use_module(library(non_iso)).`
+`?- use_module(library(iso_ext)).`
If `X` is a free variable, the query
set_difference(Xs, [], Xs).
group_by_variant([V2-S2 | Pairs], V1-S1, [S2 | Solutions], Pairs0) :-
- non_iso:variant(V1, V2), !, V1 = V2, group_by_variant(Pairs, V2-S2, Solutions, Pairs0).
+ iso_ext:variant(V1, V2), !, V1 = V2, group_by_variant(Pairs, V2-S2, Solutions, Pairs0).
group_by_variant(Pairs, _, [], Pairs).
group_by_variants([V-S|Pairs], [V-Solution|Solutions]) :-
:- use_module(library(between)).
:- use_module(library(atts)).
:- use_module(library(lists)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- use_module(library(pairs)).
:- use_module(library(dcgs)).
:- use_module(library(error), []).
:- use_module(library(error)).
:- use_module(library(lists)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- use_module(library(si)).
gensym_key(Base, BaseKey) :-
%% for builtins that are not part of the ISO standard.
%% must be loaded at the REPL with
-%% ?- use_module(library(non_iso)).
+%% ?- use_module(library(iso_ext)).
-:- module(non_iso, [bb_b_put/2, bb_get/2, bb_put/2, call_cleanup/2,
+:- module(iso_ext, [bb_b_put/2, bb_get/2, bb_put/2, call_cleanup/2,
call_with_inference_limit/3, forall/2, maybe/0,
partial_string/1, partial_string/3,
partial_string_tail/2, set_random/1,
:- use_module(library(cont)).
:- use_module(library(lists)).
%:- use_module(library(debug)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
%% :- meta_predicate
%% start_tabling(+, 0).
]).
:- use_module(library(atts)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- attribute table_global_worklist/1.
:- use_module(library(atts)).
:- use_module(library(gensym)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- attribute table_status/1, newly_created_table_identifiers/1.
:- use_module(library(atts)).
:- use_module(library(lists)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- use_module(library(terms)).
:- use_module(trie).
let r_w_h = clause_name!("run_cleaners_with_handling");
let r_wo_h = clause_name!("run_cleaners_without_handling");
- let non_iso = clause_name!("non_iso");
+ let iso_ext = clause_name!("iso_ext");
let r_w_h = self
- .get_internal(r_w_h, 0, non_iso.clone())
+ .get_internal(r_w_h, 0, iso_ext.clone())
.and_then(|item| item.local());
let r_wo_h = self
- .get_internal(r_wo_h, 1, non_iso)
+ .get_internal(r_wo_h, 1, iso_ext)
.and_then(|item| item.local());
if let Some(r_w_h) = r_w_h {
lib_path.clone(),
),
);
- compile_user_module(&mut wam, parsing_stream(NON_ISO.as_bytes()), true,
+ compile_user_module(&mut wam, parsing_stream(ISO_EXT.as_bytes()), true,
ListingSource::from_file_and_path(
- clause_name!("non_iso"),
+ clause_name!("iso_ext"),
lib_path.clone(),
)
);
:- module(tests_on_builtins, []).
:- use_module(library(lists)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
test_queries_on_builtins :-
\+ atom(_),
:- module(tests_on_call_with_inference_limit, []).
:- use_module(library(lists)).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
:- dynamic(f/1).
:- dynamic(g/1).
:- module(test_on_setup_call_cleanup, []).
-:- use_module(library(non_iso)).
+:- use_module(library(iso_ext)).
test_queries_on_setup_call_cleanup :-
\+ setup_call_cleanup(false, _, _),