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
Mark Thom
f1ac75f21d
add (\=)/2.
2018-02-14 23:21:56 -07:00
Mark Thom
b761575f7f
add library routines for lists.
2018-01-30 01:00:46 -07:00