panasenco
2cbc7e4f9a
Another thorough rewrite of library(json) to better preserve the complete set of answers as much as possible and thereby write more elegant and simple code. Some performance gains too!
2021-04-23 10:30:38 -07:00
panasenco
828550687c
Rewrote many parts of library(json) to leave no choicepoints when generating JSON. However, the generating performance actually worsened slightly...
2021-04-22 15:21:27 -07:00
panasenco
d3caba4073
Now preserving distinction between ints and floats
2021-04-20 19:59:01 -07:00
panasenco
7e802706fe
Seem to be generating JSON correctly and at a good speed too!
2021-04-20 17:33:30 -07:00
panasenco
c87e3eac08
Removed CLP(Z) from library(json), achieving a 100x speedup in JSON parsing.
2021-04-20 17:30:41 -07:00
panasenco
5b1b12ec9e
Fixed forward slash special case issue, added a bunch of test files that were successfully read!
2021-04-20 17:30:41 -07:00
panasenco
c0c6f13d44
Fixed defaulty representations of json_members//1 and json_elements//1
2021-04-20 17:30:41 -07:00
panasenco
20f192daa1
Changed formatting to match Markus Triska's as much as I can tell
2021-04-20 17:30:41 -07:00
panasenco
0e73b53803
Complete reordering and partial rewrite to match the official McKeeman form of the JSON specification
2021-04-20 17:30:41 -07:00
panasenco
e2923c378e
Added objects and type distinction based on the principal functor
2021-04-20 17:30:41 -07:00
panasenco
216d4da85a
Parsing and generating JSON numbers works perfectly now as far as I can tell
2021-04-20 17:30:24 -07:00
panasenco
407e775282
Began working on json library (fresh start after thinking about instantiation in terms of search strategies)
2021-04-20 17:29:36 -07:00
Mark Thom
a9ef15cdfa
Merge pull request #900 from triska/master
...
remove rectractall/1 (built-in since 8188e3d0cf ).
2021-04-14 15:28:59 -06:00
Mark Thom
b08442b46f
assertz/1, asserta/1, retract/1, retractall/1 are meta-predicates ( #902 , #903 )
2021-04-14 15:28:16 -06:00
Markus Triska
f56e2fc48e
remove rectractall/1 (built-in since 8188e3d0cf).
...
This resolves #899 .
2021-04-14 20:18:50 +02:00
Mark Thom
8188e3d0cf
add missing standard predicates ( #896 )
2021-04-12 17:26:11 -06:00
Mark Thom
10e92eec32
call '$erase_ball' before running cleanup code in setup_call_cleanup ( #886 )
2021-03-24 16:56:53 -06:00
Mark Thom
37f2336eee
stop unifying ! to free variables in control_functor/1 ( #887 )
2021-03-24 15:05:59 -06:00
Mark Thom
290cb1b517
make retract_local_clauses safe, remove warning about overwriting warning in do_not_duplicate_path_components test
2021-03-23 12:37:43 -06:00
Mark Thom
7520fe7000
use occurs check when enabled in UnifyValue ( #885 )
2021-03-22 22:05:03 -06:00
Mark Thom
9f861dfe89
reorder declaration matching in loader.pl
2021-03-22 18:13:01 -06:00
Mark Thom
fffb87d013
flush loader term queue before compiling declarations, declare '/1' as dynamic before asserting
2021-03-22 16:53:23 -06:00
Mark Thom
0cb731c584
remove redundant retraction records for incremental compilation
2021-03-22 15:27:45 -06:00
Mark Thom
233faea200
compare the tails of partial string prefixes in compare_pstr_prefixes ( #883 )
2021-03-22 12:44:58 -06:00
Mark Thom
1b9015a049
copies only those attributes planted by the calling module
2021-03-21 13:00:29 -06:00
Mark Thom
111de1462c
remove vestigial attribute goals struct field and related predicates
2021-03-21 12:06:53 -06:00
Mark Thom
627c49c5db
recognize cuts in (->)/(,)/(;) calling contexts ( #878 )
2021-03-19 16:34:55 -06:00
Mark Thom
665b1ad58a
Merge pull request #872 from notoria/charsio
...
Extend alnum, add forgotten graphic_token
2021-03-18 14:51:36 -06:00
Mark Thom
4623e9d7fc
fix findall/4 ( #873 )
2021-03-18 12:50:12 -06:00
Mark Thom
a3f0290432
restore deleted parts of number_chars/2 and number_codes/2 ( #721 )
2021-03-17 20:23:58 -06:00
Mark Thom
69b1798af7
print floating point zero as 0.0 ( #859 )
2021-03-17 20:17:08 -06:00
Mark Thom
10af206024
make chars callable ( #713 )
2021-03-17 19:50:41 -06:00
Mark Thom
6c23d7aec8
always print variable bindings before names ( #865 )
2021-03-17 19:27:53 -06:00
Mark Thom
7937ccee30
check that a load context path is a filename before potentially returning it as a string
2021-03-17 18:58:33 -06:00
Mark Thom
b98e8c34eb
findall/4 should be declared as a meta-predicate ( #873 )
2021-03-17 18:13:06 -06:00
notoria
f4be0cf4b3
Extend alnum, add forgotten graphic_token
2021-03-17 20:47:09 +01:00
Mark Thom
5f7abda22d
remove operators declared at user-level from files when reloading
2021-03-16 18:30:34 -06:00
Mark Thom
51424aed32
clear user-level definitions when reloading a file ( #455 )
2021-03-16 02:30:09 -06:00
Mark Thom
914fb09ed0
don't warn about overwriting a clause asserted to a dynamic predicate whose clauses have all been retracted ( #870 )
2021-03-15 14:22:54 -06:00
Mark Thom
7ea7e5c951
remove intra-module predicates from module code directory when module is being re-defined ( #848 )
2021-03-13 23:22:24 -07:00
Skgland
d437609365
improve comment
2021-03-11 01:52:21 +01:00
Mark Thom
d4d47182b4
fix is_cyclic_term ( #864 )
2021-03-10 16:11:48 -07:00
Mark Thom
bc2d0191ff
Merge pull request #861 from notoria/mod
...
Small improvement for mod in CLP(Z)
2021-03-10 13:52:48 -07:00
notoria
bd222ed2bf
Added a test for mod in CLP(Z)
2021-03-10 21:20:18 +01:00
notoria
93b835ae0d
Use functional notation in CLP(Z) for compatibility
2021-03-07 20:59:25 +01:00
notoria
aa2d57cf37
Implemented a propagator for xor in CLP(Z)
2021-03-07 18:52:10 +01:00
notoria
f6d4821a68
Small improvement for mod in CLP(Z)
2021-03-07 18:38:04 +01:00
Markus Triska
842176a595
is is --> is
2021-03-05 18:36:00 +01:00
Markus Triska
0fb74b56b3
FIXED: CLP(B): weighted_maximum/3 with repeated variables
...
Many thanks to @jburse for reporting this issue:
https://github.com/triska/clpz/issues/15
Example:
?- sat(~(Y*X)), sat(Z=:=Y), weighted_maximum([7,2,5],[X,Y,Z],W).
W = 7, Y = 0, X = 1, Z = 0
; W = 7, Y = 1, X = 0, Z = 1
; false.
2021-03-05 18:35:19 +01:00
Markus Triska
87abcd6a52
adapt comment to Scryer Prolog
2021-03-05 18:16:38 +01:00