Commit Graph
266 Commits
Author SHA1 Message Date
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
Mark Thom 6f668a8b7a move term_variables to builtins 2018-09-26 19:33:27 -06:00
Mark Thom 4cf1aa0d8f add term variables 2018-09-24 23:33:47 -06:00
Mark Thom 0c545467b9 correct numbervars 2018-09-22 17:45:52 -06:00
Mark Thom 4d57989c2b term_expansion beginnings 2018-09-22 16:25:32 -06:00
Mark Thom 908972eff1 incorporate term_expansion phase in compilation 2018-09-18 22:44:03 -06:00
Mark Thom f226cb3dbd correct conformity errors 2018-09-16 14:11:21 -06:00
Mark Thom 32439a1da5 transition to MachineCodeIndices internally 2018-09-08 02:31:33 -06:00
Mark Thom 6d0ddc1183 be more efficient in (,)/3 clause, correct (;)/3 2018-09-06 09:32:22 -03:00
Mark Thom 57ddf64cba cut properly in first (,)/3 clause 2018-09-06 09:16:44 -03:00
Mark Thom 96ff9c0126 correct comma implementation 2018-09-05 18:35:06 -06:00
Mark Thom 4be20e48e6 fixes to quoted 2018-09-03 17:21:28 -06:00
Mark Thom 78ea3f5441 add (^) as an evaluable factor, re: #39 2018-09-01 13:48:04 -06:00
Mark Thom d19ece6df8 add some prolog flags, tabled strings 2018-08-18 18:03:28 -06:00
Mark Thom 0cc4aa77ed complete call_with_inference_limit/3 2018-08-09 00:31:41 -06:00
Mark Thom 7016d378d6 add call_with_inference_limit/3 2018-08-08 00:42:57 -06:00
Mark Thom 707e5fcf8b restore setup_call_cleanup/3 2018-08-04 16:12:37 -06:00
Mark Thom cd03b7795f finalize the module resolution operator. 2018-07-08 15:21:09 -06:00
Mark Thom 073a8888f3 include builtins implicitly in every module. 2018-07-04 23:25:55 -06:00
Mark Thom a13b94622b print chars somewhat appropriately. 2018-05-28 20:19:52 -06:00
Mark Thom 07ec2d34c8 hacky workaround 2018-05-28 20:07:34 -06:00
Mark Thom 06d896277c major refactor 2018-05-15 22:47:36 -06:00
Mark Thom 18e2e77600 add (=..)/2, arg/3 2018-05-13 17:02:33 -06:00
Mark Thom 81d0538a5c switch to machine implemented arg 2018-05-13 14:55:44 -06:00
Mark Thom 175a5db5d7 parse the list functor 2018-05-13 14:10:48 -06:00
Mark Thom b0bdf50a78 parse negative numbers properly, handle length errors and failures properly. 2018-05-12 18:23:57 -06:00