Commit Graph

241 Commits

Author SHA1 Message Date
Mark Thom
6ba47b6b08 use acyclic iteration when projecting onto query vars 2019-02-22 17:48:49 -07:00
Mark Thom
f41b5f465e add findall/3 2019-02-22 00:56:04 -07:00
Mark Thom
2467f6c711 add call_residue_vars/2 2019-02-18 21:13:56 -07:00
Mark Thom
a460e84c57 sort attribute goals before deduplicating them linearly 2019-02-17 12:23:25 -07:00
Mark Thom
896914b8e9 do not count calls to $reify_switch as inferences 2019-02-17 11:51:24 -07:00
Mark Thom
b7dd76bf37 add library(reif) 2019-02-16 16:34:38 -07:00
Mark Thom
10d5c00f4b polish freeze.pl and dif.pl 2019-02-15 21:04:20 -07:00
Mark Thom
818eeb6c57 correct attribute_goals/2 bug, add freeze/2, update README 2019-02-15 20:44:31 -07:00
Mark Thom
74a0f8b899 correct attribute_goals/2 bug, add freeze/2, update README 2019-02-15 20:44:15 -07:00
Mark Thom
9abe70113a correct project_attributes, correct compare_term_test and eq_test, polish attribute_goals/2 2019-02-14 21:59:24 -07:00
Mark Thom
6b879467f3 fix needless check in dif/2 implementation 2019-02-14 16:12:24 -04:00
Mark Thom
8958a563de fix bug in dif/2 implementation 2019-02-14 01:19:11 -07:00
Mark Thom
2af6a00ff2 remove extraneous [ from dif.pl 2019-02-14 01:13:55 -07:00
Mark Thom
cd5549ee5b fix attribute_goals/2 display bugs, cycle detection bug 2019-02-14 01:12:52 -07:00
Mark Thom
f616b4ddfd prepare to add project_attributes/2 and attribute_goals/2 2019-02-13 14:18:41 -07:00
Mark Thom
7edc2567a8 call verify_attributes/3 once per module 2019-02-12 18:12:18 -07:00
Mark Thom
197d079281 call goals in one batch after rebinding variables, add minatotask.pl, update README 2019-02-09 13:57:03 -07:00
Mark Thom
33dbe3bb45 correct bugs in verify_attributes handling 2019-02-09 00:16:57 -07:00
Mark Thom
8a3a79de3c copy attribute list in get_atts 2019-02-03 16:10:12 -07:00
Mark Thom
f51405bc04 fix bug in DeleteAttribute 2019-02-02 19:25:12 -07:00
Mark Thom
8f771792b3 add Addr::AttVar to address ordering 2019-02-02 12:20:39 -07:00
Mark Thom
c5fbff505b expand goals in queries and queues 2019-02-01 23:36:51 -07:00
Mark Thom
fcffb90549 add atts.pl, various fixes 2019-01-30 21:31:48 -07:00
Mark Thom
91b85db90c flatten bracketed commas in dcgs 2019-01-26 14:38:54 -07:00
Mark Thom
ef3d3aa01a fix unsafe variable handling 2019-01-24 23:38:53 -07:00
Mark Thom
ca7e62928b clone in situ compiled terms 2019-01-19 17:05:29 -07:00
Mark Thom
c9f6ab984f add dynamic module resolution calls 2019-01-06 00:15:32 -07:00
Mark Thom
042779cff9 add read support for user:term_expansion and user:goal_expansion 2019-01-05 19:22:38 -07:00
Mark Thom
e90669d159 fix expand_goal and expand_term 2018-12-13 19:38:44 -07:00
Mark Thom
45a68d4bc2 add expand_goal, make user:term_expansion and user:goal_expansion work properly within modules 2018-12-11 22:57:11 -07:00
Mark Thom
226bb7f9ed remove Option wrapper from cached_query 2018-12-10 21:21:15 -07:00
Mark Thom
c281c1b427 offset variable indexing for semi-context notations 2018-11-18 21:51:53 -07:00
Mark Thom
6e20f82d6f fix faulty tidy_trail 2018-11-15 23:04:52 -07:00
Mark Thom
81f4128bc6 update dcgs to handle ; and -> 2018-10-27 20:56:23 -06:00
Mark Thom
32fecca45d add write variants 2018-10-23 22:53:50 -06:00
Mark Thom
1e3891204e make lists parse properly when used as dcg rules 2018-10-20 23:37:09 -06:00
Mark Thom
1b7ffa00af fix semicontext notation 2018-10-15 22:31:53 -06:00
Mark Thom
a3dc6d2bef add expand_term/2 2018-10-15 20:07:48 -06:00
Mark Thom
eabb851d8c add expand_term/2 2018-10-15 20:07:22 -06:00
Mark Thom
24a7206021 fix DCG bugs 2018-10-10 21:30:40 -06:00
Mark Thom
b2d9673593 add spaces between operators when there is an ambiguity 2018-10-08 23:04:23 -06:00
Mark Thom
41b8f7a36b add spaces between operators when there is an ambiguity 2018-10-08 23:04:03 -06:00
Mark Thom
9a6094bad2 correct phrase/2 2018-10-08 11:02:48 -06:00
Mark Thom
398d91576c fix bug with mark_non_var 2018-10-08 00:34:08 -06:00
Mark Thom
59ad71fccc add preliminary support for DCGs. 2018-10-07 00:07:12 -06:00
Mark Thom
d9b5734688 mark term_variables type errors with blame 2018-10-03 23:08:25 -06:00
Mark Thom
8e4bb039f0 divide atom tables by module 2018-10-03 22:56:12 -06:00
Markus Triska
43f7743467 ENHANCED: Better error handling if Type is invalid.
Strictly speaking, type is currently not a type, so a domain error is
appropriate if Type is not a valid type. However, there are also other
cases where new types have been introduced in the past, and this
seems a good candidate for a new type. Let us hence use a type error.

Example:

    ?- can_be(listi, [a,b|Ls]).
    %@ ERROR: Type error: `type' expected, found `listi' (an atom)
2018-09-30 23:36:32 +02:00
Markus Triska
373546e83d correct can_be/2 for partial lists
Example:

    ?- can_be(list, [a,b|Ls]).
    %@ true.
2018-09-28 18:20:57 +02:00
Mark Thom
a97987c20b add error.pl, correct numbervars/3 2018-09-27 22:40:23 -06:00