Bennet Bleßmann
01aeb7515d
[WIP] move towards lockless AtomTable
2023-09-05 19:39:46 +02:00
Bennet Bleßmann
13cbff7eab
[WIP] fix deadlock in AtomTable::build_with
2023-09-05 19:12:22 +02:00
Skgland
86166dbf25
[WIP] make AtomTable concurrentcy ready
2023-09-05 19:12:22 +02:00
Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Mark
af44d91568
Merge branch 'dashu' of https://github.com/coasys/scryer-prolog into coasys-dashu
2023-07-24 11:47:57 -06:00
Fayeed Pawaskar
cf345d8174
wip dashu move
2023-07-17 20:40:41 +05:30
Mark
ff5e9a793b
add unknown flag to set_prolog_flag and current_prolog_flag
2023-07-14 19:10:10 -06:00
Mark
101d0548db
fix group_by_variants/4 and keysort in setof/3 ( #1440 , #1856 )
2023-07-14 18:52:29 -06:00
Mark
0e583d620a
implement new disjunction compilation
2023-06-23 14:11:31 -06:00
Mark Thom
b205abe949
remove BuildIf, BuildNot, BuildThen TermIterState variants
2023-06-23 14:11:31 -06:00
Mark Thom
cb59c3003a
correct chunk type labeling
2023-06-23 14:11:30 -06:00
Mark Thom
942095baa7
remove GetLevelAndUnify and replace it with GetCutPoint
2023-06-23 14:11:30 -06:00
Mark Thom
097849385e
add QueryTerm::ChunkTypeBoundary
2023-06-23 14:11:30 -06:00
Mark Thom
063cf0c608
new TermIterState variants
2023-06-23 14:11:30 -06:00
Mark Thom
e41d1b319b
adapt code generation
2023-06-23 14:11:04 -06:00
Mark Thom
b9c9de5222
add classifications and occurrence counting
2023-06-23 13:54:46 -06:00
Mark Thom
56783b8e4b
correct incremental compilation bugs
2023-02-12 23:41:25 -07: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
6030fae685
track f64 offsets in Literal ( #1190 )
2022-05-04 21:54:46 -06:00
Mark Thom
68b4951bc9
replace SliceDeque with VecDeque
2022-04-25 22:55:28 -06:00
Mark Thom
66075bf45b
mark unsafe variables and substitute temporary variables in is/2 when appropriate ( #1430 )
2022-04-17 17:33:09 -06:00
Mark Thom
2d5fe21b05
avoid writing chars to the atom table in several places
2022-04-17 12:20:00 -06:00
Mark Thom
8c99d748e2
allocate floats in dedicated buffer
2022-04-05 20:34:27 -06:00
Mark Thom
c2fc33afec
correct float version of sign/1 ( #1360 )
2022-03-19 15:55:23 -06:00
Mark Thom
e88ec6736c
add (:) meta-predicate argument indicator ( #1302 )
2022-03-13 13:54:58 -06:00
Mark Thom
42da543980
group predicate subsequences by first instantiated arg ( #1053 )
2022-02-08 23:34:42 -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
f6116510a1
print -0.0 as 0.0 ( #1164 )
2022-01-18 21:31:14 -07:00
Mark Thom
3b8afce7c7
fix syntax regressions ( #1198 , #1164 )
2022-01-13 23:54:55 -07:00
Mark Thom
5f4e701461
render [] as empty string in AtomOrString::as_str() ( #1193 )
2022-01-10 20:46:00 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
6c66c236fb
fix printing of CStr's
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Skgland
49e024bdd8
remove unused fields instead, prompting more dead_code removal
2021-11-11 19:32:35 +01:00
Skgland
7bc4876071
fix failing lint warnings in beta build
2021-11-11 18:53:08 +01:00
Mark Thom
7e4cfede7d
fix use of local skeletons to reload predicates ( #919 )
2021-04-27 02:01:00 -06:00
Mark Thom
5f7abda22d
remove operators declared at user-level from files when reloading
2021-03-16 18:30:34 -06:00
Skgland
2f428b7261
split into lib and bin
...
* makes most pub things in src/ pub(crate) as not to expose things accidentally
* only those things needed by src/bin/scryer-prolog.rs and tests/scryer.rs
should be pub
* split src/main.rs into src/lib.rs and src/bin/scryer-prolog.rs
* add tests folder and run most of the files in src/tests with cargo test
added bytes method to Stream in src/machine/streams.rs to check if stdout is as expected
2021-02-28 19:21:30 +01:00
Mark Thom
2a70ca375c
restore support for tabling and delimited continuations ( #779 )
2021-02-17 16:18:49 -07:00
Mark Thom
396c589743
add second term expansion to capture the addition of hook predicates to the expansion process in loader.pl, loader.rs
2021-02-17 15:39:52 -07:00
Mark Thom
6b6666be47
support discontiguous and multifile declarations
2021-02-16 22:08:32 -07:00
Mark Thom
e2a413df78
compile scoped clauses from loader.pl
2021-02-13 19:41:04 -07:00
Mark Thom
cc7e21170f
correct faulty removal of clauses in abolish/1
2021-02-08 19:02:26 -07:00
Skgland
5041042925
rename prolog_parser_rebis to prolog_parser
...
also remove remaining extern crate statements that slipped through earlier
2021-02-06 22:13:34 +01:00
Skgland
8e5954f36f
remove use statements from main.rs that temporary replaced extern crate and fixed paths that previously used them
2021-02-06 22:13:04 +01:00
Skgland
b53ef148a0
remove extern crate declaration and fix outfall (macros now need to be imported into scope)
...
using use declarations in main.rs so that use paths don't need to be updated as well, this will be done in a later commit
2021-02-06 22:12:31 +01:00
Mark Thom
75908ab88f
replace (:) with 0 in meta-predicate declarations, remove support for (:) in meta-predicate declarations
2021-01-31 18:00:10 -07:00
Mark Thom
fcba33997f
Merge branch 'master' into rebis-dev
2021-01-31 12:41:18 -07:00
notoria
e5204e55d3
Handled the empty case ( #770 )
2021-01-31 11:03:17 +01:00