Mark Thom
9e1e99f961
Revert "remove Term"
...
This reverts commit 3b5879841aedecba5057c70c71da0ba23e5cd84a.
2025-07-07 22:38:10 -07:00
Mark Thom
57f76169fd
run cargo fmt
2025-07-07 22:02:27 -07:00
Mark Thom
ae4d12a123
remove pstr_vec
2025-07-07 22:02:27 -07:00
Emilie Burgun
15f1320d05
Fix allocate_pstr randomly refusing to properly allocate memory
...
This one was a toughie: it turns out that using `ptr::align_of()`` was
a bad idea, since the buffer in `Heap` itself is not aligned to
`Heap::heap_cell_alignment()`, so `ptr::align_of()` would sometimes
return lower values than expected.
That made for an heisenbug: if the alignment of the heap happened to be 4,
then the bug wouldn't trigger.
2025-07-07 21:59:50 -07:00
Mark Thom
c0f72704ec
introduce bespoke Heap type for in-heap partial strings
2025-07-07 21:59:50 -07:00
Mark Thom
1ef681bd21
remove Term
2025-07-07 21:54:08 -07:00
Bennet Bleßmann
1ff995fedb
clippy: allow new without default
2024-07-06 13:04:55 +02:00
Bennet Bleßmann
cba81b4dc7
some test pass miri
2024-07-06 02:43:00 +02:00
Mark
b70f121e46
use scryer-modular-bitfield on github, version bump
CI / build-test (ubuntu-22.04, true, stable, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (windows-latest, true, stable, x86_64-pc-windows-msvc) (push) Has been cancelled
CI / logtalk-test (push) Has been cancelled
CI / style (push) Has been cancelled
CI / build-test (--no-default-features, ubuntu-22.04, true, nightly, wasm32-unknown-unknown, --no-run --no-default-features) (push) Has been cancelled
CI / build-test (macos-11, true, stable, x86_64-apple-darwin) (push) Has been cancelled
CI / build-test (ubuntu-20.04, true, stable, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, 1.70, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, beta, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, nightly, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, true, stable, i686-unknown-linux-gnu) (push) Has been cancelled
CI / report (push) Has been cancelled
CI / release (push) Has been cancelled
Docker Publish / build (push) Has been cancelled
2024-02-29 10:08:14 -07:00
Mark Thom
11ca168175
Merge pull request #2281 from bakaq/miri
...
Initial Miri support
2024-01-10 12:13:14 -07:00
bakaq
f02c0eacd8
Make "cargo miri test" actually run
2024-01-09 04:38:53 -03:00
Mark
cd89d71e0c
check for PStr in eager stackful preorder iterator before adding tail of PStrOffset ( #2272 )
2024-01-08 17:36:41 -07:00
infogulch
9444e62df9
Resolve lints and format
2023-11-04 02:16:54 -05:00
Mark
773d3f81fd
remove list remnants from stack iteration in printer when cyclic ( #2131 )
2023-10-24 14:10:11 -06:00
Mark
97b899f4a3
add STOP_AT_CYCLES const parameter for CycleDetectingIter
2023-10-23 12:05:13 -06:00
Mark
6a913bc4cc
use Deutsch-Schorr-Waite to implement acyclic_term/1 ( #2128 )
2023-10-21 21:47:29 -06:00
Mark
bf46c4b5c1
use topo_sort to correct acyclic_term ( #2124 , #2125 )
2023-10-18 12:00:40 -06:00
Mark
e4a677ceea
detect all cycles in roughly linear time and constant space ( #2102 )
2023-10-13 18:05:52 -06:00
Mark
8aadc99f1d
fix bugs in marker algorithm iterator
2023-10-13 14:38:50 -06:00
Mark
1163d14ea1
fix control construct bugs, iter indentation ( #947 )
2023-10-11 12:41:45 -06:00
Mark
902b08e657
follow marked variables to end in eager_stackful_iter ( #2100 , #2101 )
2023-10-10 20:45:08 -06:00
Mark
77de570aa4
report pre-marked values from eager stackful iterator ( #2097 )
2023-10-10 12:56:27 -06:00
Mark
1ab14ea519
mark both components of a PStrLoc ( #2082 )
2023-10-07 18:48:49 -06:00
Mark
fa68fa211c
replace eager_stackful_iter's mark stack with a second unmark phase
2023-10-05 20:21:28 -06:00
Mark
0ad4427f83
use eager_stackful_preorder_iter in variable_set, add term_variables/1 tests
2023-10-04 15:12:25 -06:00
Mark
1bfdea7527
rewrite ground_test, add tests for ground/1 ( #2075 )
2023-10-04 14:17:03 -06:00
Mark
6c36d067d7
Revert "consider Str, PStrLoc in ElideLists of StackfulHeapIterator ( #2075 )"
...
This reverts commit 1e60eeef34 .
2023-10-04 11:57:09 -06:00
Mark
1e60eeef34
consider Str, PStrLoc in ElideLists of StackfulHeapIterator ( #2075 )
2023-10-04 00:27:01 -06:00
Mark
62c23166fa
implement ListElisionPolicy to restore previous printer behavior
2023-09-30 16:00:15 -06:00
Mark
25afc11168
correct skipping of not fully visited lists in stackful heap iterator ( #2056 , #2063 , #2065 )
2023-09-30 15:24:30 -06: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
cfc49243c8
improve ground/1 performance ( #1389 )
2023-07-12 18:11:56 -06:00
Mark
b656700294
read from machine stack in stackful pre-order iterator ( #1812 )
2023-05-28 12:59:01 -06:00
Mark
462097d956
optionally read from machine stack in stackful pre-order iterator ( #1812 )
2023-05-26 15:19:07 -06:00
Mark Thom
ea95a7900c
deduplicate index ptr inlining for 0-arity atoms ( #1538 )
2022-10-26 23:36:07 -06:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Mark Thom
d8cf0f320d
mark cells that are about to be iterated in the stackful iterator ( #1418 )
2022-04-12 22:51:20 -06:00
Mark Thom
95c192a988
mark variable referents in stackful iterator, fix tests ( #1408 )
2022-04-10 14:17:47 -06:00
Mark Thom
064bfa5e0d
fix loop in stackful iterator ( #1405 , #1384 )
2022-04-07 20:48:40 -06:00
Mark Thom
4a6ffb6b9e
detect immediately cyclic lists ( #1384 )
2022-04-06 22:53:48 -06:00
Mark Thom
3b6138eaaa
limit use of stackless iterator to test suite
2022-04-05 21:02:39 -06:00
Mark Thom
f3167f6b5f
add forwarding bit to all heap cells ( #1384 )
2022-04-05 20:34:27 -06:00
Mark Thom
0ab928063e
make marker into an iterators, recover post_order_iterator
2022-04-05 20:34:27 -06:00
Mark Thom
c9a34bde3f
removal of old stackless iterator, implementation of new more faithful one
2022-04-05 20:34:27 -06:00
Mark Thom
b056d40eba
module-qualify incomplete goals in expand_goal/3
2022-01-06 21:44:41 -07:00
Mark Thom
cd129e32a7
fix bugs revealed by src/tests/builtins.pl
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
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