Mark Thom
cf9e667b50
Merge pull request #3311 from Skgland/cleanup2
...
some cleanup and fixes
2026-05-23 18:27:50 -06:00
Mark Thom
3f0b471227
Merge pull request #3333 from 0nkery/lazy-lock
...
replace lazy_static macro with std::sync::LazyLock
2026-05-23 09:51:22 -06:00
Mark Thom
9fcd7776a9
Merge pull request #3336 from 0nkery/fix-between-doc
...
fix var mode in between/3 documentation
2026-05-22 23:04:05 -06:00
Mark Thom
1547839c33
Merge pull request #3328 from Skgland/update-libffi
...
upgrade libffi dependency
2026-05-22 22:53:49 -06:00
Dmitrii Shlagov
b9f1443eb0
fix var mode in between/3 documentation
2026-05-14 16:25:33 +02:00
Dmitry Shlagoff
2bbb6487ec
remove redundant closure
2026-05-12 16:12:33 +02:00
Dmitry Shlagoff
095fa1227a
replace lazy_static macro with std::sync::LazyLock
2026-05-12 15:40:38 +02:00
Skgland
0c313a0849
upgrade libffi dependency
2026-05-08 22:36:41 +02:00
josd
b2dad66270
Improve CharReader buffering
2026-04-26 13:42:41 +02:00
Skgland
eac7ff680c
fix ArenaPtr payload offset logic
...
the old logic would be incorrect if the payload has higher alignment than the ArenaHeader i.e. when there is padding between the ArenaHeader and the Payload
2026-04-25 18:12:32 +02:00
Skgland
b4db85c8c3
don't erase ptr type early when construction a Cons HeapCellValue
...
rather than passing an address as usize pass the ArenaHeader pointer
similarly don't return a u8 ptr but use a ArenaHeader pointer instead
Don't convert the pointer to a ConsPtr by going through native endian
bytes in between.
We are exploiting the fact that the 3 least significant bytes are zero
for pointer to types of alignment 8 and we expect these to line up with
the f, m, and tag field at the end of the ConsPtr struct, but using
native endiannes for this would only work on big endian systems.
2026-04-25 18:12:31 +02:00
Skgland
6765921666
fix unused import warning on windows
2026-04-25 16:19:58 +02:00
Skgland
ff293a56e6
fix large enum variant size difference warning of PermVarAllocation
...
by wrapping BranchNumber in an Arc.
PermVarAllocation::Done had size 208 and is now down to 32.
A Box rather than an Arc would be smaller, but it looks like BranchNumber/BranchDesignator are clones a bunch so I expect it to be beneficial to reduce allocations both of the Box itself as well as its content.
2026-04-25 16:19:53 +02:00
Skgland
f7dc1d72f6
remove unused HeapCellValueView
...
it is identical to HeapCellValueTag
2026-04-22 22:16:36 +02:00
Mark Thom
8dffd72db5
replace tabs with spaces
2026-04-21 16:22:38 -07:00
Mark Thom
703a6dddd1
dereference compare_term_test args down from stack ( #3286 , #3295 )
2026-04-21 16:02:55 -07:00
Mark Thom
5ea262e1d3
replace tabs with spaces
2026-04-21 15:02:14 -07:00
Mark Thom
010b00f349
take Lis index from rd in copy_var ( #3298 )
2026-04-21 14:31:53 -07:00
Mark Thom
974722bc1c
Merge pull request #3269 from no382001/quads
...
fix library paths and module qualification in quadtests.pl
2026-04-18 18:20:03 -06:00
Mark Thom
9cf0d8b484
Merge pull request #3274 from no382001/issue3262
...
fix read/1 on non-TTY stdin blocking until newline
2026-04-18 18:16:53 -06:00
Mark Thom
87f97c7e5c
Merge pull request #3276 from Skgland/cleanup
...
remove unused file
2026-04-08 22:18:32 -06:00
Mark Thom
3e2f3ecfdb
Merge pull request #3273 from no382001/issue2914
...
fix panic in current_prolog_flag/2 when arguments are the same variable
2026-04-04 13:06:11 -06:00
Mark Thom
2b6b11e6be
Merge pull request #3271 from abmclin/update_rustyline
...
Resolves issue 2694 by updating rustyline to 17.0.2
2026-04-04 12:28:35 -06:00
Skgland
bb9c1cf5a2
remove unused file
2026-04-03 00:16:59 +02:00
no382001
28f8da5ce9
restructure based on suggestion
...
Co-authored-by: Bennet Bleßmann <3877590+Skgland@users.noreply.github.com >
2026-03-31 21:14:54 +02:00
no382001
c065b52778
fix read/1 on non-TTY stdin blocking until newline #3262
2026-03-31 15:52:27 +02:00
no382001
6a10c6d6a5
fix panic in current_prolog_flag/2 when arguments are the same variable
2026-03-31 12:01:00 +02:00
Alexander McLin
0623e8e7df
Resolves issue 2694 by updating rustyline to 17.0.2
2026-03-29 14:49:51 -04:00
Skgland
3c9c7ade8d
use checked_add to prevent silent overflow
2026-03-27 22:00:54 +01:00
no382001
13c85c74db
fix library paths and module qualification in quadtests.pl
2026-03-27 21:27:15 +01:00
Skgland
5fc21241d6
hint to the compiler/branch-predictor that
...
we expect p to be in bound
if we are suffiently certain that p can never be oob
unsafe get_unchecked could be used to
eliminate bounds checking all together
which should improve performance further.
2026-03-21 19:01:52 +01:00
Skgland
833c3bd77f
run rustfmt
2026-03-21 14:24:13 +01:00
Skgland
153f04b72a
adjust interrupt handling
...
we used to spend ~5.8% of the time on getting the next value of the 0..INSTRUCTIONS_PER_INTERRUPT_POLL iterator
increment on Wrapping<u8> now only takes ~0.58 of the time
2026-03-21 14:20:11 +01:00
Skgland
8aab887388
switch from Integer to u128
...
- u128 is only 16 bytes instead of 24
- incrementing u128 does not involve heap allocations
- u128 should be sufficent
it would take more than 2 sextilion years to overflow if we would be incrementing it every tick at 5GHz
i.e. 2^128-1 / 5 GHz / 60 / 60 / 24 / 356 > 2 sextilion
before this ~3.2% of the execution time of the program in https://github.com/mthom/scryer-prolog/issues/3265#issuecomment-4103176469 was spend in the increment_call_count function, after this change it's down to 0.3%
2026-03-21 13:36:40 +01:00
Mark Thom
79a9b950cb
Merge pull request #3243 from danilp-id/master
...
fix http stream not being closed fully
2026-03-19 23:36:58 -07:00
Mark Thom
fba2854f21
Merge pull request #3257 from triska/include
...
ISO: Implement the include/1 directive
2026-03-17 23:58:04 -07:00
Markus Triska
1c9fd1501a
retain error context (load/1) when using :- D.
2026-03-16 07:36:55 +01:00
Mark Thom
b0b89a0aca
Merge pull request #3258 from no382001/fix_load_xml/3
...
load_xml was returning a single term instead of a list of nodes
2026-03-14 22:46:03 -07:00
no382001
025da8315b
load_xml was returning a single term instead of a list of nodes
2026-03-10 12:20:34 +01:00
Mark Thom
8002b9a78b
Merge pull request #3234 from fusiongyro/patch-1
...
Fixed a typo in the documentation for atom_codes/2
2026-03-09 22:09:40 -07:00
Mark Thom
02f86587b5
Merge pull request #3232 from triska/not_si
...
ADDED: not_si/1
2026-03-09 22:09:09 -07:00
Mark Thom
4d144ea819
Merge pull request #3252 from Skgland/towards-a-crate-without-syn@1
...
replace custom modular_bitfields fork with update upstream
2026-03-09 22:08:28 -07:00
Mark Thom
02c927bb83
Merge pull request #3241 from Skgland/parse-error-improvements
...
change `ParserError` type
2026-03-09 22:07:03 -07:00
Mark Thom
4a8388a6e9
Merge pull request #3189 from Skgland/fix-function_casts_as_integer
...
fix `function_casts_as_integer` warning
2026-03-09 22:06:33 -07:00
Markus Triska
b41563e976
ENHANCED: support quads in included files
...
Suggested by @dcnorris, many thanks!
https://github.com/mthom/scryer-prolog/issues/634#issuecomment-4003451420
2026-03-07 09:37:30 +01:00
Thierry Marianne
ead2fccdbb
add documentation
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-05 09:03:31 +01:00
Thierry Marianne
4bd0ff0fcb
cargo fmt fixes
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 14:04:47 +01:00
Thierry Marianne
ed59aa05b0
apply suggestion
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 14:01:17 +01:00
Thierry M.
fa21ff4813
use CStr .to_str() method
...
Co-authored-by: Bennet Bleßmann <3877590+Skgland@users.noreply.github.com >
2026-03-04 14:00:44 +01:00
Thierry Marianne
fae9ca1bb9
fix utf-8 panic
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-04 12:45:58 +01:00