]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
5 months agofix clippy lints
Skgland [Sat, 10 Jan 2026 16:52:34 +0000 (17:52 +0100)]
fix clippy lints

5 months agoextaract the static part of the instructions template directly into the instructions...
Skgland [Sat, 10 Jan 2026 16:48:07 +0000 (17:48 +0100)]
extaract the static part of the instructions template directly into the instructions module

This way goto source doesn't end up in a generated file for those parts and they can be edited directly.
I have way too often accidentally edited the generated file.

5 months agoMerge pull request #3207 from Skgland/quote-fix-unquote-segv
Mark Thom [Wed, 17 Dec 2025 21:11:21 +0000 (14:11 -0700)]
Merge pull request #3207 from Skgland/quote-fix-unquote-segv

"fix" segv from #3198, #3199, and #3205

6 months agothrow `error(resource_error(memory), [])` when the list length exceeds usize.
Skgland [Tue, 9 Dec 2025 23:04:24 +0000 (00:04 +0100)]
throw `error(resource_error(memory), [])` when the list length exceeds usize.

6 months agoMerge pull request #3177 from triska/use_phrase_to_file
Mark Thom [Tue, 9 Dec 2025 02:23:52 +0000 (19:23 -0700)]
Merge pull request #3177 from triska/use_phrase_to_file

use more recently available phrase_[to|from]_file/3 in example

6 months agoremove overengineered RecursionGuard
Skgland [Mon, 8 Dec 2025 21:27:24 +0000 (22:27 +0100)]
remove overengineered RecursionGuard

6 months agofix another integer overflow
Skgland [Mon, 8 Dec 2025 18:59:43 +0000 (19:59 +0100)]
fix another integer overflow

6 months agodon't calculate panic message eagerly
Skgland [Sun, 7 Dec 2025 22:06:09 +0000 (23:06 +0100)]
don't calculate panic message eagerly

6 months agohandle overflown in Heap::with_cell_capacity
Skgland [Sun, 7 Dec 2025 21:59:00 +0000 (22:59 +0100)]
handle overflown in Heap::with_cell_capacity

6 months agohandle oob heap index calculation
Skgland [Sun, 7 Dec 2025 20:45:13 +0000 (21:45 +0100)]
handle oob heap index calculation

6 months agouse checked multiplication in heap_index! macro
Skgland [Sun, 7 Dec 2025 20:31:24 +0000 (21:31 +0100)]
use checked multiplication in heap_index! macro

6 months agoprevent multiply with overflow resulting in odd errors/segv
Skgland [Sun, 7 Dec 2025 20:27:24 +0000 (21:27 +0100)]
prevent multiply with overflow resulting in odd errors/segv

6 months agodetect recursive throw_resource_error and panic instead of causing a segmentation...
Skgland [Sun, 7 Dec 2025 20:08:17 +0000 (21:08 +0100)]
detect recursive throw_resource_error and panic instead of causing a segmentation fault

6 months agofix backtrack_on_resource_error around choice instructions
Mark Thom [Thu, 4 Dec 2025 02:13:00 +0000 (18:13 -0800)]
fix backtrack_on_resource_error around choice instructions

6 months agoMerge pull request #3185 from mthom/install_verify_attr_opt
Mark Thom [Thu, 4 Dec 2025 02:10:46 +0000 (19:10 -0700)]
Merge pull request #3185 from mthom/install_verify_attr_opt

Optimize `verify_attr` by removing the need to scan instructions

6 months agoMerge pull request #3164 from Skgland/alloc_errors2
Mark Thom [Thu, 4 Dec 2025 02:10:22 +0000 (19:10 -0700)]
Merge pull request #3164 from Skgland/alloc_errors2

handle machine heap/stack allocation error

6 months agoMerge pull request #3147 from jjtolton/error-termination-flag
Mark Thom [Tue, 2 Dec 2025 07:24:46 +0000 (00:24 -0700)]
Merge pull request #3147 from jjtolton/error-termination-flag

Add -t flag for custom toplevel (replaces --halt-on-error)

6 months agoMerge pull request #3179 from triska/meetups
Mark Thom [Tue, 2 Dec 2025 06:55:46 +0000 (23:55 -0700)]
Merge pull request #3179 from triska/meetups

update meetups

6 months agoMerge pull request #3180 from triska/foldl_6
Mark Thom [Tue, 2 Dec 2025 06:55:34 +0000 (23:55 -0700)]
Merge pull request #3180 from triska/foldl_6

ADDED: foldl/6, addressing #2973

6 months agocorrections to arithmetic expression compilation install_verify_attr_opt origin/install_verify_attr_opt
Mark Thom [Fri, 28 Nov 2025 05:03:56 +0000 (21:03 -0800)]
corrections to arithmetic expression compilation

6 months agocorrections to dispatch loop
Mark Thom [Fri, 28 Nov 2025 05:03:22 +0000 (21:03 -0800)]
corrections to dispatch loop

6 months agorevise InstallVerifyAttrs to remove need for predicate scanning (#3175)
Mark Thom [Wed, 26 Nov 2025 07:17:22 +0000 (23:17 -0800)]
revise InstallVerifyAttrs to remove need for predicate scanning (#3175)

6 months agoremove interms field from MachineState
Mark Thom [Tue, 25 Nov 2025 06:19:09 +0000 (22:19 -0800)]
remove interms field from MachineState

6 months agoADDED: foldl/6, addressing #2973
Markus Triska [Sun, 23 Nov 2025 09:59:12 +0000 (10:59 +0100)]
ADDED: foldl/6, addressing #2973

6 months agoupdate meetups
Markus Triska [Sun, 23 Nov 2025 09:29:31 +0000 (10:29 +0100)]
update meetups

6 months agouse more recently available phrase_[to|from]_file/3 in example
Markus Triska [Sun, 23 Nov 2025 08:42:14 +0000 (09:42 +0100)]
use more recently available phrase_[to|from]_file/3 in example

6 months agofix pstr_iter_tests test
Skgland [Thu, 20 Nov 2025 22:08:46 +0000 (23:08 +0100)]
fix pstr_iter_tests test

6 months agoremove RESOURCE_ERROR_OFFSET_INIT
Skgland [Thu, 20 Nov 2025 20:44:29 +0000 (21:44 +0100)]
remove RESOURCE_ERROR_OFFSET_INIT

With it when using multiple Machine in one process only the first would store the pre-allocated error.
Instead Heap.resource_err_loc is now Option<NonZero<usize>> instead of usize using None for uninitialized.
The cell at index 0 should alredy be used by a runtime reserved interstitial cell that is allocated prior. So requiring the offset to be non zero should be fine.

6 months agofix unecessary parens in macro
Skgland [Thu, 20 Nov 2025 20:24:47 +0000 (21:24 +0100)]
fix unecessary parens in macro

6 months agoreturn an AllocError instead of panicing in Heap::with_cell_capacity
Skgland [Thu, 20 Nov 2025 20:13:17 +0000 (21:13 +0100)]
return an AllocError instead of panicing in Heap::with_cell_capacity

6 months agowrap resource_error into an error/2 functor and don't wrap it into a syntax_error...
Skgland [Wed, 19 Nov 2025 23:48:04 +0000 (00:48 +0100)]
wrap resource_error into an error/2 functor and don't wrap it into a syntax_error functor

6 months agopropagate AllocErrro instead of unwrapping
Skgland [Wed, 19 Nov 2025 23:19:24 +0000 (00:19 +0100)]
propagate AllocErrro instead of unwrapping

6 months agohandle machine heap/stack allocation error
Skgland [Wed, 19 Nov 2025 21:08:42 +0000 (22:08 +0100)]
handle machine heap/stack allocation error

6 months agostub a clippy config
Skgland [Tue, 18 Nov 2025 21:13:18 +0000 (22:13 +0100)]
stub a clippy config

with things we need to get rid of replace if we want to eliminate panics due to oom

6 months agouse as_bytes().to_vec() instead of bytes().collect()
Skgland [Tue, 18 Nov 2025 21:01:42 +0000 (22:01 +0100)]
use as_bytes().to_vec() instead of bytes().collect()

copying a slice into a vec should be easier to optimize by the complier than collecting a byte iteration into a vec

6 months agoremove some uncessary allocations/copies
Skgland [Tue, 18 Nov 2025 20:59:55 +0000 (21:59 +0100)]
remove some uncessary allocations/copies

6 months agoignore incompatible msrv in compat module
Skgland [Tue, 18 Nov 2025 20:54:02 +0000 (21:54 +0100)]
ignore incompatible msrv in compat module

6 months agoimprove count_to_letter_code
Skgland [Tue, 18 Nov 2025 20:42:10 +0000 (21:42 +0100)]
improve count_to_letter_code

- reserve the complete required length at the beginning to reduce reallocations
- use u8 instead of char so that we can re-use the allocation for the string

6 months agoignore unused_parens warning
Skgland [Tue, 18 Nov 2025 20:42:00 +0000 (21:42 +0100)]
ignore unused_parens warning

parens are generated by external macro

6 months agoremove two unecessary clones
Skgland [Tue, 18 Nov 2025 20:27:23 +0000 (21:27 +0100)]
remove two unecessary clones

6 months agoFix -t flag help text to reflect it accepts any goal
J.J. Tolton [Fri, 14 Nov 2025 15:55:49 +0000 (10:55 -0500)]
Fix -t flag help text to reflect it accepts any goal

The -t flag is not limited to arity 0 predicates - it accepts any
goal including goals with arguments (e.g., -t 'halt(1)'). Updated
the help text to remove the incorrect "(arity 0 predicate)" constraint.

šŸ¤– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
7 months agoMove -t and -g flags before filenames in tests
J.J. Tolton [Sun, 9 Nov 2025 18:04:59 +0000 (13:04 -0500)]
Move -t and -g flags before filenames in tests

Per maintainer feedback, switches must come before files to follow
the convention: switches before files are Scryer-specific, switches
after files are application-specific.

7 months agoRemove redundant unit test file
J.J. Tolton [Sun, 9 Nov 2025 17:56:02 +0000 (12:56 -0500)]
Remove redundant unit test file

The custom_toplevel.pl unit tests were trivial and didn't actually test
the functionality. All real testing is done via comprehensive CLI tests
in tests/scryer/cli/src_tests/custom_toplevel.md

7 months agoMove g_caused_exception/2 dynamic directive to toplevel.pl
J.J. Tolton [Sun, 9 Nov 2025 17:16:02 +0000 (12:16 -0500)]
Move g_caused_exception/2 dynamic directive to toplevel.pl

- Add dynamic directive in toplevel.pl with other module-level directives
- Update test files to reference it as '':g_caused_exception/2
- Remove redundant dynamic directives from test files
- All tests passing

7 months agoUpdate tests to use format/2 instead of write/1
J.J. Tolton [Sun, 9 Nov 2025 17:05:23 +0000 (12:05 -0500)]
Update tests to use format/2 instead of write/1

7 months agoAdd comprehensive tests for g_caused_exception/2
J.J. Tolton [Sat, 8 Nov 2025 17:59:00 +0000 (12:59 -0500)]
Add comprehensive tests for g_caused_exception/2

Following TESTING_GUIDE.md, added tests at layers 2 and 3:

Layer 2 - Prolog Integration Tests (src/tests/custom_toplevel.pl):
- Test that g_caused_exception/2 is not asserted when no exception occurs
- Test that g_caused_exception/2 can be checked from custom toplevel
- Added check_for_exception/0 helper predicate for testing

Layer 3 - CLI Tests (tests/scryer/cli/src_tests/custom_toplevel.md):
- Test g_caused_exception/2 with exception thrown
- Test g_caused_exception/2 with no exception
- Test g_caused_exception/2 with error/2 terms
- Added test helper predicates in fixtures/toplevel_test_helper.pl

All tests pass successfully.

Co-Authored-By: J.J.'s Robot <[email protected]>
7 months agoAdd g_caused_exception/2 for custom toplevel error handling
J.J. Tolton [Sat, 8 Nov 2025 17:43:46 +0000 (12:43 -0500)]
Add g_caused_exception/2 for custom toplevel error handling

When a goal throws an exception during initialization (-g flag), the
system now asserts g_caused_exception(Goal, Exception) in the user
module. This allows custom toplevels (-t flag) to check if an error
occurred and handle it appropriately.

Example usage:
  scryer-prolog -g "throw(error)" -t check_error

Where check_error can be:
  :- dynamic(g_caused_exception/2).

  check_error :-
      (   g_caused_exception(_, E) ->
          write('Error: '), write(E), nl, halt(1)
      ;   halt(0)
      ).

This enables scripts to use custom toplevels for sophisticated error
handling and exit code logic.

Addresses: https://github.com/mthom/scryer-prolog/pull/3147#issuecomment-3503875719

Co-Authored-By: J.J.'s Robot <[email protected]>
7 months agoFix bug where -t argument was processed as filename
J.J. Tolton [Fri, 7 Nov 2025 00:39:21 +0000 (19:39 -0500)]
Fix bug where -t argument was processed as filename

Fixed issue where `scryer-prolog -t halt` would try to load "halt.pl"
as a file instead of just using halt as the custom toplevel.

The bug was caused by an extra clause `delegate_task([], []).` that
would return control to the calling context instead of continuing to
start_toplevel. This caused the argument processing in delegate_task
to continue and treat the already-consumed toplevel argument as a
filename.

Removing this clause ensures that delegate_task([], Goals0) always
proceeds to load initialization files and start the toplevel, fixing
the double-processing bug.

Co-Authored-By: J.J.'s Robot <[email protected]>
7 months agoAdd comprehensive tests for -t custom toplevel flag
J.J. Tolton [Fri, 7 Nov 2025 00:12:09 +0000 (19:12 -0500)]
Add comprehensive tests for -t custom toplevel flag

- Create Prolog integration tests in src/tests/custom_toplevel.pl
- Add CLI test configuration in tests/scryer/cli/src_tests/custom_toplevel_tests.toml
- Tests verify:
  * -t halt terminates after initialization
  * Custom toplevels can be user-defined predicates
  * Toplevel receives control after initialization completes
  * Default behavior is REPL when no -t specified
- All tests pass successfully

Following TESTING_GUIDE.md three-layer testing approach:
- Layer 2: Prolog integration tests with test_framework
- Layer 3: CLI snapshot tests with .toml configuration

Co-Authored-By: J.J.'s Robot <[email protected]>
7 months ago-t custom toplevel option
J.J. Tolton [Fri, 7 Nov 2025 00:02:30 +0000 (19:02 -0500)]
-t custom toplevel option

- Add -t FLAG to specify custom toplevel (arity 0 predicate)
- Default toplevel is 'repl' if -t is not specified
- Using `-t halt` achieves original goal of guaranteed termination
- Custom toplevels enable flexible exit strategies (e.g., server mode)
- Update help text to document -t flag

Examples:
  scryer-prolog -t halt program.pl    # Exits after execution
  scryer-prolog -t my_repl program.pl # Custom REPL
  scryer-prolog program.pl            # Default REPL

Co-Authored-By: J.J.'s Robot <[email protected]>
7 months agoMerge pull request #3120 from aarroyoc/master
Mark Thom [Tue, 21 Oct 2025 02:46:26 +0000 (19:46 -0700)]
Merge pull request #3120 from aarroyoc/master

Delete test page from learning section

7 months agoMerge pull request #3124 from bakaq/mark-partial-string-tail
Mark Thom [Tue, 21 Oct 2025 02:46:11 +0000 (19:46 -0700)]
Merge pull request #3124 from bakaq/mark-partial-string-tail

Fix marking of partial string tail in iteration

7 months agoMerge pull request #3117 from aarroyoc/update-releases-0100
Mark Thom [Tue, 21 Oct 2025 02:45:19 +0000 (19:45 -0700)]
Merge pull request #3117 from aarroyoc/update-releases-0100

Update web to show 0.10.0 releases

7 months agoFix marking of partial string tail in iteration
bakaq [Tue, 14 Oct 2025 19:19:43 +0000 (16:19 -0300)]
Fix marking of partial string tail in iteration

8 months agoDelete test page from learning section
AdriƔn Arroyo Calle [Sat, 11 Oct 2025 13:18:41 +0000 (15:18 +0200)]
Delete test page from learning section

8 months agoUpdate web to show 0.10.0 releases
AdriƔn Arroyo Calle [Mon, 6 Oct 2025 21:17:36 +0000 (23:17 +0200)]
Update web to show 0.10.0 releases

8 months agoMerge pull request #3108 from Skgland/issue-3073
Mark Thom [Fri, 3 Oct 2025 06:43:13 +0000 (23:43 -0700)]
Merge pull request #3108 from Skgland/issue-3073

emit a more appropriate error when passing the wrong argument count when constructing an ffi struct with the wrong argument count

8 months agoMerge pull request #3111 from Skgland/ffi-non-fixed-sized-integers
Mark Thom [Fri, 3 Oct 2025 06:42:59 +0000 (23:42 -0700)]
Merge pull request #3111 from Skgland/ffi-non-fixed-sized-integers

add support for non-fixed-width integers types for ffi

8 months agoMerge pull request #3109 from Skgland/issue-3107
Mark Thom [Tue, 30 Sep 2025 03:47:55 +0000 (20:47 -0700)]
Merge pull request #3109 from Skgland/issue-3107

move CI  job release from retired ubuntu-20.04 image to ubuntu-22.04

8 months agoupdate documentation
Skgland [Sun, 28 Sep 2025 17:50:21 +0000 (19:50 +0200)]
update documentation

8 months agoconsistently treat bool as i8
Skgland [Sun, 28 Sep 2025 16:29:20 +0000 (18:29 +0200)]
consistently treat bool as i8

8 months agoadd ffi types for non-fixed-sized integers
Skgland [Sun, 28 Sep 2025 16:17:35 +0000 (18:17 +0200)]
add ffi types for non-fixed-sized integers

8 months agofix missing quotes
Skgland [Sun, 28 Sep 2025 11:43:09 +0000 (13:43 +0200)]
fix missing quotes

8 months agofixup quad
Skgland [Sat, 27 Sep 2025 21:14:14 +0000 (23:14 +0200)]
fixup quad

8 months agomove CI job release from retired ubuntu-20.04 image to ubuntu-22.04
Skgland [Sat, 27 Sep 2025 20:54:45 +0000 (22:54 +0200)]
move CI  job release from retired ubuntu-20.04 image to ubuntu-22.04

the new image is the same as all other ubuntu jobs

8 months agofix mthom/scryer-prolog#3073
Skgland [Sat, 27 Sep 2025 20:48:05 +0000 (22:48 +0200)]
fix mthom/scryer-prolog#3073

8 months agoadd regression test for issue 3073
Skgland [Sat, 27 Sep 2025 20:05:51 +0000 (22:05 +0200)]
add regression test for issue 3073

8 months agoversion bump to 0.10.0 v0.10.0
Mark Thom [Sat, 27 Sep 2025 07:02:33 +0000 (00:02 -0700)]
version bump to 0.10.0

8 months agoMerge pull request #3095 from thierrymarianne/derefering-registers-in-files-module...
Mark Thom [Tue, 23 Sep 2025 05:28:10 +0000 (22:28 -0700)]
Merge pull request #3095 from thierrymarianne/derefering-registers-in-files-module-instructions-functions

Dereferencing registers in `files` module instructions functions

8 months agorun rustfmt
Thierry Marianne [Sun, 21 Sep 2025 14:51:18 +0000 (16:51 +0200)]
run rustfmt

Signed-off-by: Thierry Marianne <[email protected]>
8 months agodereferencing registers to access stack variables
Thierry Marianne [Sun, 21 Sep 2025 09:54:35 +0000 (11:54 +0200)]
dereferencing registers to access stack variables

deref register to access stack variable for `directory_exists/1`
deref register to access stack variable for `directory_files/2`
deref register to access stack variable for `delete_directory/1`
deref register to access stack variable for `delete_file/1`
deref registers to access stack variable for `file_copy/2`
deref register to access stack variable for `file_exists/1`
deref register to access stack variable for `file_size/2`
deref register to access stack variable from `file_time` function
deref register to access stack variable for `make_directory/1`
deref register to access stack variable for `make_directory_path/1`
deref register to access stack variable for `path_canonical/2`
deref registers to access stack variables for `rename_file/2`

Signed-off-by: Thierry Marianne <[email protected]>
8 months agoadd tests for `file` module predicates
Thierry Marianne [Fri, 19 Sep 2025 20:40:45 +0000 (22:40 +0200)]
add tests for `file` module predicates

reproduce failing `directory_exists/1` with working directory passed as first argument
reproduce failing `delete_directory/1` with ./test directory passed as first argument
reproduce failing `file_size/1` with 2 bytes files passed as first argument
reproduce failing `file_exists/1` with existing file passed as first argument
reproduce failing `file_modification_time/1`, `file_access_time/1` and `file_creation_time/1` with existing file passed as first argument
reproduce failing `directory_files/2` with existing directory passed as first argument
reproduce failing `delete_file/1` with existing file passed as first argument
reproduce failing `make_directory/1` with non-existing directory passed as first argument
reproduce failing `make_directory_path/1` with non-existing path passed as first argument
reproduce failing `path_canonical/2` with non-canonical path passed as first argument
reproduce failing `rename_file/2` with existing file passed as first argument, target file as second arg
revised `directory_exists/1` test case
renamed test files, test directories
use `path_segments/2`, remove path separators
do not write file size to current output
revised `directory_files/2` test
revised `path_canonical/2` test
revised `file_exists/1` test
removed hardcoded expected size
extracted hardcoded directory argument
remove path prefix containing path separator
revised expected ls cmd exit code so that it is platform-agnostic

Signed-off-by: Thierry Marianne <[email protected]>
8 months agoMerge pull request #3084 from thierrymarianne/set_stream
Mark Thom [Thu, 18 Sep 2025 05:20:10 +0000 (22:20 -0700)]
Merge pull request #3084 from thierrymarianne/set_stream

Prevent top-level from panicking when calling  `set_input/1` with `Stream` variants.

8 months agoadd missing P increment to GetPartialString (#3089)
Mark Thom [Thu, 18 Sep 2025 03:31:03 +0000 (20:31 -0700)]
add missing P increment to GetPartialString (#3089)

8 months agopush cyclic pstr's tail to iterator stack of printer (#3086)
Mark Thom [Thu, 18 Sep 2025 03:21:54 +0000 (20:21 -0700)]
push cyclic pstr's tail to iterator stack of printer (#3086)

8 months agofix attempted bind to bound StackVar (#3089)
Mark Thom [Thu, 18 Sep 2025 02:43:37 +0000 (19:43 -0700)]
fix attempted bind to bound StackVar (#3089)

8 months agodo not use self.fail in compare_term_test
Mark Thom [Wed, 17 Sep 2025 04:23:23 +0000 (21:23 -0700)]
do not use self.fail in compare_term_test

8 months agoimplement unify_ginteger to address FIXME in skip_max_list_cycle
Mark Thom [Tue, 16 Sep 2025 04:58:38 +0000 (21:58 -0700)]
implement unify_ginteger to address FIXME in skip_max_list_cycle

8 months agofix off-by-one lam loop (#3081)
Mark Thom [Tue, 16 Sep 2025 04:52:43 +0000 (21:52 -0700)]
fix off-by-one lam loop (#3081)

8 months agohandle `Stream` variants qualified as input stream by `is_input_stream`
Thierry Marianne [Mon, 15 Sep 2025 06:33:47 +0000 (08:33 +0200)]
handle `Stream` variants qualified as input stream by `is_input_stream`

Signed-off-by: Thierry Marianne <[email protected]>
8 months agothrow permission_error when non-input stream is read
Thierry Marianne [Mon, 15 Sep 2025 06:28:23 +0000 (08:28 +0200)]
throw permission_error when non-input stream is read

Signed-off-by: Thierry Marianne <[email protected]>
8 months agomerge if let, match structures
Thierry Marianne [Sun, 14 Sep 2025 16:32:30 +0000 (18:32 +0200)]
merge if let, match structures

Signed-off-by: Thierry Marianne <[email protected]>
8 months agomatch against `Stream` `HttpRead()`, `InputFile(_)` and `NamedTcp(_)` variants in...
Thierry Marianne [Sun, 14 Sep 2025 15:00:39 +0000 (17:00 +0200)]
match against `Stream` `HttpRead()`, `InputFile(_)` and `NamedTcp(_)` variants in read_term_from_user_input

Signed-off-by: Thierry Marianne <[email protected]>
8 months agodo not reset user input `Stream` of kind different from `Readline(_)`, `Byte(_)`
Thierry Marianne [Sun, 14 Sep 2025 14:42:12 +0000 (16:42 +0200)]
do not reset user input `Stream` of kind different from `Readline(_)`, `Byte(_)`

Signed-off-by: Thierry Marianne <[email protected]>
8 months agohandle named tcp and http read stream on term reading from user input
Thierry Marianne [Sun, 14 Sep 2025 11:47:26 +0000 (13:47 +0200)]
handle named tcp and http read stream on term reading from user input

8 months agohandle input file stream on term reading from user input
Thierry Marianne [Sun, 14 Sep 2025 10:00:55 +0000 (12:00 +0200)]
handle input file stream on term reading from user input

8 months agoreproduce panick originating in set_input/1 call from top-level
Thierry Marianne [Sat, 13 Sep 2025 12:37:53 +0000 (14:37 +0200)]
reproduce panick originating in set_input/1 call from top-level

Signed-off-by: Thierry Marianne <[email protected]>
8 months agoadd FIXME for (presently inert & never invoked) race condition
Mark Thom [Fri, 12 Sep 2025 07:19:52 +0000 (00:19 -0700)]
add FIXME for (presently inert & never invoked) race condition

8 months agofix f64 indexing, introduce bespoke F64Table type (#3065)
Mark Thom [Fri, 12 Sep 2025 06:58:36 +0000 (23:58 -0700)]
fix f64 indexing, introduce bespoke F64Table type (#3065)

9 months agoMerge pull request #3063 from Skgland/ffi++
Mark Thom [Fri, 29 Aug 2025 03:49:41 +0000 (20:49 -0700)]
Merge pull request #3063 from Skgland/ffi++

ffi API extension and fixes

9 months agoallow 3rd argument of ffi:read_ptr to not be a variable
Skgland [Thu, 28 Aug 2025 22:36:35 +0000 (00:36 +0200)]
allow 3rd argument of ffi:read_ptr to not be a variable

9 months agoMerge pull request #3059 from pmikkelsen/raw-input
Mark Thom [Wed, 27 Aug 2025 06:09:18 +0000 (23:09 -0700)]
Merge pull request #3059 from pmikkelsen/raw-input

Don't use "readline" input functionality for certain builtins

9 months agoexport array_type/3
Skgland [Mon, 25 Aug 2025 22:33:16 +0000 (00:33 +0200)]
export array_type/3

9 months agofix left over todo
Skgland [Mon, 25 Aug 2025 22:10:55 +0000 (00:10 +0200)]
fix left over todo

9 months agocleanup ffi error handling and use Atom instead of &str in appropriate places
Skgland [Mon, 25 Aug 2025 21:54:18 +0000 (23:54 +0200)]
cleanup ffi error handling and use Atom instead of &str in appropriate places

9 months agoStyle tweak
Peter Mikkelsen [Mon, 25 Aug 2025 18:47:29 +0000 (20:47 +0200)]
Style tweak

9 months agouse representation_error rather than resource_error
Skgland [Mon, 25 Aug 2025 18:14:14 +0000 (20:14 +0200)]
use representation_error rather than resource_error

9 months agofix builds without ffi feature
Skgland [Sun, 24 Aug 2025 19:08:52 +0000 (21:08 +0200)]
fix builds without ffi feature

9 months agoadd meta_predicate declaration for with_locals/2
Skgland [Sun, 24 Aug 2025 18:25:41 +0000 (20:25 +0200)]
add meta_predicate declaration for with_locals/2

9 months agoadd documentation
Skgland [Sun, 24 Aug 2025 18:23:17 +0000 (20:23 +0200)]
add documentation