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