From: Mark Date: Tue, 27 Jun 2023 16:30:55 +0000 (-0600) Subject: remove tabling attributes in each module's attribute_goals//1 (#1825) X-Git-Tag: v0.9.2~114 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=aa65287c3b1c5c3528bd1dab24f595b76ddb3770;p=scryer-prolog.git remove tabling attributes in each module's attribute_goals//1 (#1825) --- diff --git a/src/lib/tabling/batched_worklist.pl b/src/lib/tabling/batched_worklist.pl index 8a8b4117..ce63981e 100644 --- a/src/lib/tabling/batched_worklist.pl +++ b/src/lib/tabling/batched_worklist.pl @@ -49,12 +49,20 @@ :- use_module(library(tabling/double_linked_list)). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- use_module(library(lists)). :- attribute executing_all_work/1, worklist_presence/1, wkl_answer_cluster/1, wkl_suspension_cluster/1, wkl_answer_cluster_pointer_flag/1. verify_attributes(_, _, []). +attribute_goals(X) --> + { put_atts(X, -executing_all_work(_)), + put_atts(X, -worklist_presence(_)), + put_atts(X, -wkl_answer_cluster(_)), + put_atts(X, -wkl_suspension_cluster(_)), + put_atts(X, -wkl_answer_cluster_pointer_flag(_)) }. + /** Tabling Worklist management A batched worklist: a worklist that clusters suspensions and answers as diff --git a/src/lib/tabling/double_linked_list.pl b/src/lib/tabling/double_linked_list.pl index d80ee6db..08a71ae7 100644 --- a/src/lib/tabling/double_linked_list.pl +++ b/src/lib/tabling/double_linked_list.pl @@ -49,9 +49,15 @@ ]). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- attribute dll_element/1, dll_next/1, dll_prev/1. +attribute_goals(X) --> + { put_atts(X, -dll_element(_)), + put_atts(X, -dll_next(_)), + put_atts(X, -dll_prev(_)) }. + % A circular double linked list % ============================= diff --git a/src/lib/tabling/global_worklist.pl b/src/lib/tabling/global_worklist.pl index 55c437f1..124638c3 100644 --- a/src/lib/tabling/global_worklist.pl +++ b/src/lib/tabling/global_worklist.pl @@ -9,12 +9,15 @@ ]). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- use_module(library(iso_ext)). :- attribute table_global_worklist/1. verify_attributes(_, _, []). +attribute_goals(X) --> { put_atts(X, -table_global_worklist(_)) }. + put_new_global_worklist :- ( bb_get(table_global_worklist_initialized, _) -> true diff --git a/src/lib/tabling/table_data_structure.pl b/src/lib/tabling/table_data_structure.pl index 69a057e6..2f36c0e7 100644 --- a/src/lib/tabling/table_data_structure.pl +++ b/src/lib/tabling/table_data_structure.pl @@ -56,6 +56,7 @@ :- use_module(library(tabling/batched_worklist)). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- use_module(library(gensym)). :- use_module(library(iso_ext)). @@ -63,6 +64,10 @@ verify_attributes(_, _, []). +attribute_goals(X) --> + { put_atts(X, -table_status(_)), + put_atts(X, -newly_created_table_identifiers(_)) }. + % This file defines the table datastructure. % % The table datastructure contains the following sub-structures: diff --git a/src/lib/tabling/table_link_manager.pl b/src/lib/tabling/table_link_manager.pl index c346ea10..8d2b2c65 100644 --- a/src/lib/tabling/table_link_manager.pl +++ b/src/lib/tabling/table_link_manager.pl @@ -43,6 +43,7 @@ ]). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- use_module(library(lists)). :- use_module(library(iso_ext)). :- use_module(library(terms)). @@ -53,6 +54,9 @@ verify_attributes(_, _, []). +attribute_goals(X) --> + { put_atts(X, -trie_table_link(_)) }. + % This file defines a call pattern trie. % % This data structure keeps the relation between a variant and the diff --git a/src/lib/tabling/trie.pl b/src/lib/tabling/trie.pl index 2460f70f..6a9024fc 100644 --- a/src/lib/tabling/trie.pl +++ b/src/lib/tabling/trie.pl @@ -45,12 +45,17 @@ :- use_module(library(assoc)). :- use_module(library(atts)). +:- use_module(library(dcgs)). :- use_module(library(lists)). :- attribute maybe_just/1, children/1. verify_attributes(_, _, []). +attribute_goals(X) --> + { put_atts(X, -maybe_just(_)), + put_atts(X, -children(_)) }. + % Implementation of a prefix tree, a.k.a. trie % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%