Bennet Bleßmann
409f56ea37
use an enum for OpDesc spec
2024-08-05 21:25:36 +02:00
Mark
1e5bb2d3da
fix dif:vars_remove_goal/2 ( #2175 ), untabify forms.rs to appease format check
2023-11-20 14:21:18 -07:00
Mark Thom
bcb68fcc3d
fix sign/1 ( #2157 )
2023-11-15 20:38:24 +01:00
Joe Taber
f704fcb41d
Fix formatting issues
2023-11-11 13:33:19 -06:00
Mark Thom
50c64b8512
correct style failures
2023-11-11 18:57:47 +01:00
infogulch
9444e62df9
Resolve lints and format
2023-11-04 02:16:54 -05:00
Mark
dfd9e43405
correct (\+)/1 ( #2141 )
2023-10-31 23:58:59 -06:00
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