Commit Graph
252 Commits
Author SHA1 Message Date
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
Mark Thom 0951bcff58 add arg 2018-05-12 01:21:31 -06:00
Mark Thom 7455c2e9db add support for callable if-then and disjunct 2018-05-12 00:30:34 -06:00
Mark Thom 954c29b103 add catch/throw support, make exceptions and arithmetic tests pass. 2018-05-10 01:43:36 -06:00
Mark Thom bae107f8cd eliminate need for embedded, handwritten WAM code. 2018-05-09 22:58:23 -06:00
Mark Thom 167d8a7590 correct-ish definition of reverse. 2018-04-18 15:31:36 -06:00
Mark Thom eb694cbba7 remove flatten 2018-03-26 19:05:23 -06:00
Mark Thom 933b94ef82 add repeat 2018-03-26 18:59:58 -06:00
Mark Thom 2691382771 add flatten. 2018-03-26 18:49:43 -06:00
Mark Thom 2cc5367c52 add is_list 2018-03-09 19:27:22 -07:00
Mark Thom 179e425fb6 add queues, fix debray allocator bug. 2018-03-08 00:29:56 -07:00
Mark Thom 8a63623516 add provisional module support. 2018-03-02 22:28:12 -07:00
Mark Thom 5de03444eb fix bugs in call_with_inference_limit 2018-02-21 19:46:15 -07:00
Mark Thom 7313472a70 add call_with_inference_limit 2018-02-19 22:34:56 -07:00
Mark Thom 61bc5a2a29 fix compile_seq, variable printing on standalone inlines. 2018-02-16 22:18:17 -07:00