Mark Thom
b51460a59a
fail on non-list solutions in setof/3 ( #1553 )
2022-10-26 23:36:07 -06:00
Mark Thom
5a08117e75
use separate predicate for findall cleanup
2022-10-26 23:36:07 -06:00
Mark Thom
6b05ee5130
streamline assertz/1, asserta/1
2022-10-26 23:36:07 -06:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Mark Thom
987bbdecf5
improve efficiency of call/N, replace '$call_with_default_policy' with
...
'$call_with_inference_counting'
2022-06-12 22:34:07 -06:00
Mark Thom
336311ecc8
replace call with $call in more meta-predicates
2022-06-06 09:28:03 -06:00
Mark Thom
4b7c2ba6c8
fix off-by-one error reporting in write_term/3 ( #1490 )
2022-05-30 23:25:44 -06:00
Markus Triska
6b49653754
use in_character
...
This addresses one aspect of #1472 .
2022-05-22 23:04:27 +02:00
Mark Thom
b6f77f4e6f
check asserta/2, assertz/2, abolish/2 for uninstantiated Module variables ( #1475 )
2022-05-16 20:45:45 -06:00
Mark Thom
b96cd06129
detect character type errors in atom_{chars|codes}/2 ( #1472 )
2022-05-16 16:32:38 -06:00
Mark Thom
2f3de51e55
remove non-determinism in number_chars/2 and numbercodes/2 ( #1473 )
2022-05-13 18:38:58 -06:00
Mark Thom
cea1353fbb
use must_be(chars) in number_chars/2 ( #1470 )
2022-05-12 01:09:06 -06:00
Mark Thom
9d5264c5a3
very minor optimizations
2022-04-17 20:10:13 -06:00
Mark Thom
7595ec16e5
instantiate Module in definition of retract/1 ( #1392 )
2022-04-13 20:31:16 -06:00
Mark Thom
00eab4d415
print errors as goals ( #1408 )
2022-04-09 14:01:48 -06:00
Paulo Moura
0532f51cc2
Fix querying the values of the bounded and max_arity flags
2022-03-07 00:30:35 +00:00
Paulo Moura
495168e7bb
Fix halt/1 built-in predicate for ISO Prolog Core standard compliance
2022-03-06 21:33:49 +00:00
Mark Thom
0c19c56909
mark variables in ArithmeticEvaluator ( #690 )
2022-03-05 17:57:10 -07:00
Mark Thom
55d8de1b23
delay callable errors in control predicates ( #1282 )
2022-02-19 00:59:59 -07:00
Mark Thom
68ac92a616
don't unify module-qualified variables to ! ( #1281 )
2022-02-14 18:46:15 -07:00
Mark Thom
0d653a2ce6
improve '$skip_max_list'/4 and length/2 ( #1023 , #110 )
2022-01-29 12:47:26 -07:00
Mark Thom
142ddcd57a
use expand_goal directly for existential-qualified goals in all-solutions predicates ( #1246 )
2022-01-26 17:34:36 -07:00
Mark Thom
3ebf8d5db9
clear alias in close before resetting the stream to null ( #1231 )
2022-01-17 17:58:14 -07:00
Mark Thom
d90cf6384c
complete handling of control operators in interpreted (,)/2 ( #1172 )
2022-01-08 00:04:04 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
520121b2b2
remove skeletons from replaced modules
2022-01-06 21:44:41 -07:00
Mark Thom
48c1d05151
use heap_loc to refer to 0-arity atom instead of str_loc
2022-01-06 21:44:41 -07:00
Mark Thom
8ba61a1da1
defer installation of inference counter for call_with_inference_limit til after goals expanded
2022-01-06 21:44:41 -07:00
Mark Thom
f340f9ac94
break from loop in get_code upon successful character read
2022-01-06 21:44:41 -07:00
Mark Thom
1b3f290037
throw instantiation error if Arity is a variable in abolish/1
2022-01-06 21:44:41 -07:00
Mark Thom
b551ef315f
use strip module in retract/1, a meta-predicate
2022-01-06 21:44:41 -07:00
Mark Thom
7507e88406
detect module resolved cut in interpreted (,)
2022-01-06 21:44:41 -07:00
Mark Thom
073f281f1e
fix arg/3 bug
2022-01-06 21:44:41 -07:00
Mark Thom
0e2db4a23e
tag DCG constructs with module names for proper resolution
2022-01-06 21:44:41 -07:00
Mark Thom
ffd1b7069f
greatly reduce the number of goal expansions done in callable if/then/else
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Markus Triska
48cea6efdf
FIXED: retract/1 issues due to module qualification
...
This addresses #1125 .
2021-12-01 21:46:12 +01:00
Markus Triska
0026f3fdef
use anonymous variable
2021-12-01 20:54:06 +01:00
Mark Thom
e47aef5615
Merge pull request #1116 from aarroyoc/fix-open-lis
...
Allow all kinds of string to be processed in open/4
2021-11-28 16:18:02 -05:00
Adrián Arroyo Calle
86161ccf2a
Allow all kinds of string to be processed in open/4
2021-11-28 12:37:16 +01:00
Markus Triska
5e55732cb0
ENHANCED: Character type checks for get_char/[1,2].
...
This addresses #906 .
2021-11-28 10:49:40 +01:00
Markus Triska
3045f327d5
FIXED: instantiation errors for alias(Var) in open/4 options
...
This addresses #1030 .
2021-11-08 22:41:04 +01:00
Markus Triska
2d1f182c49
FIXED: instantiation errors for type(Var) in open/4 options
...
This addresses #1030 .
2021-11-08 22:37:46 +01:00
Markus Triska
afcd44deaa
ENHANCED: open/4 to allow opening a stream by specifying stream(S).
...
This allows switching standard output to binary, using for example:
?- current_output(S0), open(stream(S0), write, S, [type(binary)]).
format/3 can then be used to write binary data to S. This is needed
for example when piping binary data to other programs.
This addresses #614 , please read the discussion for more information.
The current implementation is very preliminary: Specifically, it works
by destructively modifiying the parameters of the underlying stream,
making it no longer usable in its original mode. Currently, if the
type of standard output is set to binary, then the toplevel no longer
works. Therefore, after writing binary output to standard output,
the program should either halt, or set the stream type back to text.
2021-11-04 18:33:40 +01:00
Paulo Moura
0e263dd753
Fix current_predicate/1 predicate error checking
2021-05-16 23:49:21 +01:00
Mark Thom
56bbcb1cb3
Merge pull request #956 from pmoura/fix_subsumes_term_predicate
...
Fix subsumes_term/2 predicate to use unify_with_occurs_check/2 instead of (=)/2
2021-05-13 23:18:58 -06:00
Mark Thom
9bb1f4e6f8
Merge pull request #958 from pmoura/fixes_for_retract_predicates
...
Fixes for retract predicates
2021-05-13 23:18:36 -06:00
Mark Thom
d219f0bdc6
Merge pull request #957 from pmoura/fix_at_end_of_stream_predicate_missing_check_for_instantiation_error
...
Fix at_end_of_stream/1 predicate missing check for instantiation error
2021-05-13 23:17:59 -06:00
Mark Thom
c8d0f6ff20
Merge pull request #955 from pmoura/fix_abolish_predicate_throw_of_instantiation_error
...
Fix abolish/1 predicate throw of instantiation_error
2021-05-13 23:17:30 -06:00
Paulo Moura
88a2cfc5e1
Fix retract_clause/2 internal predicate to correctly handle module qualification and no lose body bindings
2021-05-12 23:48:12 +01:00