]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
14 months agoUseless console.log in the example deleted.
constraintAutomaton [Tue, 8 Apr 2025 17:17:20 +0000 (19:17 +0200)]
Useless console.log in the example deleted.

14 months agoUpdate README with working WebAssembly usage example.
constraintAutomaton [Tue, 8 Apr 2025 17:12:27 +0000 (19:12 +0200)]
Update README with working WebAssembly usage example.

14 months agoMerge pull request #2869 from triska/format_w
Mark Thom [Sun, 6 Apr 2025 22:31:59 +0000 (15:31 -0700)]
Merge pull request #2869 from triska/format_w

ENHANCED: format specifier ~w more faithfully emulates write/1

14 months agomove ~w to least prominent position, point to more suitable specifiers
Markus Triska [Sat, 5 Apr 2025 08:01:22 +0000 (10:01 +0200)]
move ~w to least prominent position, point to more suitable specifiers

In particular, "~q" is a safe better choice.

14 months agoENHANCED: format specifier ~w more faithfully emulates write/1
Markus Triska [Sat, 5 Apr 2025 07:47:29 +0000 (09:47 +0200)]
ENHANCED: format specifier ~w more faithfully emulates write/1

In particular, variables now start with "_".

Example:

    ?- format("~w", [X]).
    %@ _A   true.

Found thanks to a discussion initiated by @haijinSk:

    https://github.com/mthom/scryer-prolog/discussions/2863

14 months agoMerge pull request #2861 from averms-forks/update-deps
Mark Thom [Tue, 1 Apr 2025 02:49:54 +0000 (19:49 -0700)]
Merge pull request #2861 from averms-forks/update-deps

Update and clean up dependencies.

14 months agoMerge pull request #2860 from averms-forks/push-spzqsznlnlnm
Mark Thom [Tue, 1 Apr 2025 02:49:46 +0000 (19:49 -0700)]
Merge pull request #2860 from averms-forks/push-spzqsznlnlnm

Use backticks when referencing predicate in docs.

14 months agoInstall correct locked version of iai-callgrind-runner in CI.
Aman Verma [Mon, 31 Mar 2025 09:03:31 +0000 (04:03 -0500)]
Install correct locked version of iai-callgrind-runner in CI.

14 months agoUpdate lexical.
Aman Verma [Fri, 28 Mar 2025 19:05:45 +0000 (14:05 -0500)]
Update lexical.

The previous versions of lexical and lexical-core we were using were
subject to the following security advisories:

- https://rustsec.org/advisories/RUSTSEC-2023-0086
- https://rustsec.org/advisories/RUSTSEC-2023-0055

14 months agoRemove unused deps: regex, assert_cmd, predicates-core.
Aman Verma [Fri, 28 Mar 2025 02:11:21 +0000 (21:11 -0500)]
Remove unused deps: regex, assert_cmd, predicates-core.

regex was introduced in commit 9e85be11fecd00b3d0be8b828eb0dd5cfb57e60a
but isn't used anymore.

assert_cmd and predicates-core were introduced in
e1c681fffead4d63caa0d0b902196224b651f465 for tests but aren't used
anymore.

Dependency count in Cargo.lock drops from 428 to 421.

14 months agoUpdate ordered-float to 5.0.0.
Aman Verma [Fri, 28 Mar 2025 02:02:14 +0000 (21:02 -0500)]
Update ordered-float to 5.0.0.

14 months agoUpdate scraper and ego-tree.
Aman Verma [Fri, 28 Mar 2025 01:35:01 +0000 (20:35 -0500)]
Update scraper and ego-tree.

This gets rid of 4 dependencies, as verified by the output of

    yj -tj < Cargo.lock | jq -c '.package | length'

Previously it was 432, now it is 428.

14 months agoBump dependencies except for arcu v0.1.1 and half 2.4.1.
Aman Verma [Fri, 28 Mar 2025 01:20:46 +0000 (20:20 -0500)]
Bump dependencies except for arcu v0.1.1 and half 2.4.1.

arcu is not updated for reasons laid out in issue #2749.
half is not updated because going to 2.5.0 would require an MSRV bump 1.81.

Previous versions of idna, openssl, and ring were subject to the
following security advisories:

- https://rustsec.org/advisories/RUSTSEC-2025-0009
- https://rustsec.org/advisories/RUSTSEC-2025-0004
- https://rustsec.org/advisories/RUSTSEC-2024-0421

14 months agoUse backticks when referencing predicate in docs.
Aman Verma [Thu, 27 Mar 2025 23:49:03 +0000 (18:49 -0500)]
Use backticks when referencing predicate in docs.

Trivial change but this prevents the HTML output from being erroneously italicized.

15 months agoMerge pull request #2847 from triska/call_with_error_context
Mark Thom [Sun, 9 Mar 2025 20:21:25 +0000 (13:21 -0700)]
Merge pull request #2847 from triska/call_with_error_context

ADDED: type pair

15 months agoADDED: type pair
Markus Triska [Sat, 8 Mar 2025 13:42:48 +0000 (14:42 +0100)]
ADDED: type pair

15 months agoMerge pull request #2846 from triska/call_with_error_context
Mark Thom [Sat, 8 Mar 2025 08:39:03 +0000 (00:39 -0800)]
Merge pull request #2846 from triska/call_with_error_context

ADDED: call_with_error_context/2

15 months agoADDED: call_with_error_context/2
Markus Triska [Sat, 8 Mar 2025 08:12:17 +0000 (09:12 +0100)]
ADDED: call_with_error_context/2

See https://github.com/mthom/scryer-prolog/discussions/2839 for more information.

15 months agoMerge pull request #2837 from notoria/next
Mark Thom [Sat, 1 Mar 2025 21:40:09 +0000 (13:40 -0800)]
Merge pull request #2837 from notoria/next

Fix conversion from float to rational

15 months agoMerge pull request #2836 from triska/format_floats
Mark Thom [Sat, 1 Mar 2025 09:45:55 +0000 (01:45 -0800)]
Merge pull request #2836 from triska/format_floats

Correct handling of floats in format/2 and portray_clause/1

15 months agoFIXED: portray_clause/1 for numbers
Markus Triska [Fri, 28 Feb 2025 07:22:54 +0000 (08:22 +0100)]
FIXED: portray_clause/1 for numbers

15 months agocorrect handling of floats with N digits (~f and ~Nf)
Markus Triska [Fri, 28 Feb 2025 07:14:34 +0000 (08:14 +0100)]
correct handling of floats with N digits (~f and ~Nf)

This addresses #2771. Many thanks to @tmerr for reporting the issue!

The code was posted by @UWN in:

    https://github.com/mthom/scryer-prolog/discussions/2805

Many thanks! With additional inputs by @adri326 and @notoria, who also
posted interesting approaches which could help to increase precision
in cases that are currently not ideally handled. Thank you all!

Please see the issue and discussion for more information.

15 months agoFix conversion from float to rational
notoria [Fri, 28 Feb 2025 07:00:00 +0000 (08:00 +0100)]
Fix conversion from float to rational

15 months agoMerge pull request #2835 from thierrymarianne/fix-http_open-hanging-on-top-of-main...
Mark Thom [Fri, 28 Feb 2025 05:38:58 +0000 (21:38 -0800)]
Merge pull request #2835 from thierrymarianne/fix-http_open-hanging-on-top-of-main-branch

Prevent http_open/3 from hanging

15 months agoMerge pull request #2792 from triska/must_be_chars
Mark Thom [Fri, 28 Feb 2025 05:26:40 +0000 (21:26 -0800)]
Merge pull request #2792 from triska/must_be_chars

FIXED: instantiation and type check for string arguments

15 months agoMerge pull request #2825 from bakaq/wasm_rework
Mark Thom [Fri, 28 Feb 2025 05:26:20 +0000 (21:26 -0800)]
Merge pull request #2825 from bakaq/wasm_rework

Wasm rework

15 months agoReplace futures::executor::block_on with tokio::block_in_place
revue_2_presse [Tue, 25 Feb 2025 19:19:14 +0000 (20:19 +0100)]
Replace futures::executor::block_on with tokio::block_in_place

15 months agoDocumentation
bakaq [Thu, 20 Feb 2025 03:48:51 +0000 (00:48 -0300)]
Documentation

15 months agoConsult modules
bakaq [Thu, 20 Feb 2025 03:33:11 +0000 (00:33 -0300)]
Consult modules

15 months agoSend pure objects instead of classes
bakaq [Thu, 20 Feb 2025 03:12:30 +0000 (00:12 -0300)]
Send pure objects instead of classes

15 months agoMachineBuilder constructor
bakaq [Thu, 20 Feb 2025 01:50:41 +0000 (22:50 -0300)]
MachineBuilder constructor

15 months agoRework Wasm interface
bakaq [Fri, 31 Jan 2025 12:24:39 +0000 (09:24 -0300)]
Rework Wasm interface

15 months agoMake Wasm compilable
bakaq [Fri, 31 Jan 2025 12:24:39 +0000 (09:24 -0300)]
Make Wasm compilable

15 months agoMerge pull request #2817 from adri326/fix-2815-run_module_predicate-backtrack
Mark Thom [Mon, 17 Feb 2025 06:47:49 +0000 (22:47 -0800)]
Merge pull request #2817 from adri326/fix-2815-run_module_predicate-backtrack

Fix backtracking on the topmost predicate triggering UB in run_module_predicate

15 months agoMerge pull request #2799 from bakaq/callback_streams
Mark Thom [Mon, 17 Feb 2025 06:47:34 +0000 (22:47 -0800)]
Merge pull request #2799 from bakaq/callback_streams

Callback streams for use as library

15 months agoAdd builder style configuration of user input, output and error
bakaq [Wed, 5 Feb 2025 15:07:28 +0000 (12:07 -0300)]
Add builder style configuration of user input, output and error

15 months agoMore stream tests
bakaq [Fri, 31 Jan 2025 16:14:45 +0000 (13:14 -0300)]
More stream tests

15 months agoDisallow null streams in output
bakaq [Fri, 31 Jan 2025 10:45:13 +0000 (07:45 -0300)]
Disallow null streams in output

15 months agoMake input and output stream configuration public
bakaq [Fri, 31 Jan 2025 10:23:39 +0000 (07:23 -0300)]
Make input and output stream configuration public

15 months agoConfigure streams separately
bakaq [Thu, 30 Jan 2025 12:20:28 +0000 (09:20 -0300)]
Configure streams separately

15 months agoRefactor UserInput to use channels
bakaq [Thu, 30 Jan 2025 09:14:38 +0000 (06:14 -0300)]
Refactor UserInput to use channels

15 months agoTest for callback streams
bakaq [Wed, 29 Jan 2025 20:09:48 +0000 (17:09 -0300)]
Test for callback streams

15 months agoAdd input stream channel
bakaq [Wed, 29 Jan 2025 14:35:04 +0000 (11:35 -0300)]
Add input stream channel

15 months agoAdd callback streams
bakaq [Tue, 28 Jan 2025 20:58:40 +0000 (17:58 -0300)]
Add callback streams

15 months agoMerge pull request #2791 from Skgland/patch-1
Mark Thom [Thu, 13 Feb 2025 07:25:21 +0000 (23:25 -0800)]
Merge pull request #2791 from Skgland/patch-1

Expand the build/install section of the readme

15 months agoMerge pull request #2804 from dnmfarrell/line-count-off-by-one
Mark Thom [Thu, 13 Feb 2025 07:23:44 +0000 (23:23 -0800)]
Merge pull request #2804 from dnmfarrell/line-count-off-by-one

Line numbers start at 1

15 months agoMerge pull request #2818 from adri326/stream-cleanup
Mark Thom [Thu, 13 Feb 2025 07:23:11 +0000 (23:23 -0800)]
Merge pull request #2818 from adri326/stream-cleanup

Fix various issues around close/1 and stream realiasing

15 months agoMerge pull request #2812 from bakaq/attr_vars_arity_fix
Mark Thom [Thu, 13 Feb 2025 07:19:34 +0000 (23:19 -0800)]
Merge pull request #2812 from bakaq/attr_vars_arity_fix

Fix bug in finding arity for verify attributes

16 months agoTest corner cases of stream aliasing
Emilie Burgun [Thu, 6 Feb 2025 22:47:22 +0000 (23:47 +0100)]
Test corner cases of stream aliasing

16 months agoFix set_output/1 and set_input/1 not updating the alias
Emilie Burgun [Thu, 6 Feb 2025 21:55:40 +0000 (22:55 +0100)]
Fix set_output/1 and set_input/1 not updating the alias

Before this change, the following set of queries would behave incorrectly:

```
?- open("/tmp/out.log", write, S), set_output(S).
   prints(""), write("/tmp/out.log", "S = stream(...)").
?- write(user_output, hello).
   prints("hello"), unexpected.
   prints(""), write("/tmp/out.log", "hello"). % Expected, but not found.
```

Now, `set_output/1` and `set_input/1` properly bind the `user_output` and
`user_input` aliases, making the queries above behave as expected.

16 months agoFix stream realiasing possibly shadowing other streams.
Emilie Burgun [Mon, 3 Feb 2025 13:58:04 +0000 (14:58 +0100)]
Fix stream realiasing possibly shadowing other streams.

16 months agoFix realiased streams causing close/1 to leave a dangling stream
Emilie Burgun [Mon, 3 Feb 2025 13:26:33 +0000 (14:26 +0100)]
Fix realiased streams causing close/1 to leave a dangling stream

16 months agoEncapsulate accesses to IndexStore::streams and ::stream_aliases
Emilie Burgun [Mon, 3 Feb 2025 13:00:37 +0000 (14:00 +0100)]
Encapsulate accesses to IndexStore::streams and ::stream_aliases

These two fields are able to hold `Stream` instances, which predicates like `close/1`
expect to be managed properly for their correctness. To ensure that this is the case,
I have removed direct accesses to those two fields, so that they can be properly managed
in one place.

16 months agoDocument run_module_predicate and handle critical failure in toplevel.pl
Emilie Burgun [Thu, 6 Feb 2025 12:26:16 +0000 (13:26 +0100)]
Document run_module_predicate and handle critical failure in toplevel.pl

16 months agoDisable test_run_module_predicate_throw under miri and support rustc < 1.83
Emilie Burgun [Thu, 6 Feb 2025 09:37:54 +0000 (10:37 +0100)]
Disable test_run_module_predicate_throw under miri and support rustc < 1.83

16 months agoFix backtracking on the topmost predicate triggering UB in run_module_predicate
Emilie Burgun [Wed, 5 Feb 2025 23:16:20 +0000 (00:16 +0100)]
Fix backtracking on the topmost predicate triggering UB in run_module_predicate

Fixes #2815, see that issue for my investigation.

This is a one-line fix that I'm quite proud of :)

If the topmost query for `run_module_predicate` needs to backtrack,
then before this commit, one of the following two things may happen:
- A dangling OrFrame is read at stack offset 0
- An AndFrame was at stack offset 0 would be read as an OrFrame

This can be seen by either calling `run_module_predicate` with a
throwing predicate (encountering the second scenario) or a failing
predicate (encountering the first scenario), or by running the following
in the REPL, which triggers a `throw/1` within the error handler, propagating
it all the way up (and encountering the second scenario):

```prolog
?- current_output(S), open(stream(S), write, S0, [type(binary)]).
```

Currently, `Stack` is not equipped with tools to detect this incorrect
behavior, so it would instead try to read an OrFrame at offset 0, which
triggers UB, since transmuting between AndFramePrelude and OrFramePrelude
isn't legal.

In practice, since `AndFramePrelude` is smaller, the later fields of
`OrFramePrelude` would read from the cells following the `AndFramePrelude`,
and would contain nonsensical data, triggering the panic that led to
my investigation in #2815 and that is fairly reliable to witness.

Surprisingly, this wouldn't happen with `run_query`, which led me to
look at how they operate differently. It turns out that `run_query`
inserts an OrFrame at offset 0, which covers both problematic scenarios.

The fix is thus to simply add a call to `Machine::allocate_stub_choice_point`
in `run_module_predicate` :)

16 months agoScan entire predicate in InstallVerifyAttr
bakaq [Wed, 5 Feb 2025 05:22:59 +0000 (02:22 -0300)]
Scan entire predicate in InstallVerifyAttr

16 months agoFix bug in finding arity for verify attributes
bakaq [Sat, 1 Feb 2025 18:53:15 +0000 (15:53 -0300)]
Fix bug in finding arity for verify attributes

16 months agoFix close/1 messing up stream_aliases when user_input or user_output aren't set to...
Emilie Burgun [Sun, 2 Feb 2025 23:07:39 +0000 (00:07 +0100)]
Fix close/1 messing up stream_aliases when user_input or user_output aren't set to Stdin and Stdout

16 months agoLine numbers start at 1
David Farrell [Sat, 1 Feb 2025 19:02:34 +0000 (14:02 -0500)]
Line numbers start at 1

Bumps the line number for the singleton warning. When the singleton
occurs on the same line at the term starts, the line number is correct:

    foo(X).

However it stills mis-reports this line number as 1 instead of 5:

    foo(1) :-
        true,
        true,
        true,
        Y.

See issue #1356.

16 months agoMerge pull request #2798 from bakaq/clippy_warnings
Mark Thom [Wed, 29 Jan 2025 06:24:17 +0000 (23:24 -0700)]
Merge pull request #2798 from bakaq/clippy_warnings

Fix clippy warnings

16 months agoFix clippy warnings
bakaq [Tue, 28 Jan 2025 19:22:50 +0000 (16:22 -0300)]
Fix clippy warnings

16 months agofix spelling and grammar errors found by mthom
Bennet Bleßmann [Mon, 27 Jan 2025 19:40:12 +0000 (20:40 +0100)]
fix spelling and grammar errors found by mthom

https://github.com/mthom/scryer-prolog/pull/2791#discussion_r1930025598

16 months agoMerge pull request #2777 from adri326/fix-2772-rnd_i-clipping
Mark Thom [Mon, 27 Jan 2025 06:14:57 +0000 (23:14 -0700)]
Merge pull request #2777 from adri326/fix-2772-rnd_i-clipping

Fix invalid casts in is/2

16 months agoMerge pull request #2738 from adri326/fix-2275-dcgs-call-module
Mark Thom [Mon, 27 Jan 2025 06:14:30 +0000 (23:14 -0700)]
Merge pull request #2738 from adri326/fix-2275-dcgs-call-module

Fix dcgs using call(M:Pred) when M was left unassigned

16 months agoMerge pull request #2793 from Skgland/fix-ci
Mark Thom [Mon, 27 Jan 2025 06:02:23 +0000 (23:02 -0700)]
Merge pull request #2793 from Skgland/fix-ci

fix ci and update all used actions

16 months agoAdd integration tests for arithmetic operators
Emilie Burgun [Wed, 15 Jan 2025 14:12:06 +0000 (15:12 +0100)]
Add integration tests for arithmetic operators

This extensively tests the behavior of is/2, both when compiled and in metacalls.

16 months agoFix integer overflow in >>/2 and <</2
Emilie Burgun [Sun, 26 Jan 2025 22:56:52 +0000 (23:56 +0100)]
Fix integer overflow in >>/2 and <</2

16 months agoFix min/2 and max/2 returning the cast version of its arguments
Emilie Burgun [Sat, 18 Jan 2025 12:11:52 +0000 (13:11 +0100)]
Fix min/2 and max/2 returning the cast version of its arguments

It now behaves the same way as SWI-Prolog.

16 months agoFix `X is gcd(1, 2 ^ 64)` triggering a panic
Emilie Burgun [Mon, 20 Jan 2025 10:10:16 +0000 (11:10 +0100)]
Fix `X is gcd(1, 2 ^ 64)` triggering a panic

The implementation for gcd/2 would cast the second argument to an isize.

16 months agoFix round() losing precision on bigints
Emilie Burgun [Fri, 17 Jan 2025 22:33:09 +0000 (23:33 +0100)]
Fix round() losing precision on bigints

The original issue can be reproduced with `X is round(2 ^ 54 + 1) - 2 ^ 54, X = 1.`

16 months agoFix rnd_i clipping floats that don't fit in Fixnum
Emilie Burgun [Fri, 17 Jan 2025 19:11:05 +0000 (20:11 +0100)]
Fix rnd_i clipping floats that don't fit in Fixnum

Fixes #2772.

The current implementation of `rnd_i` incorrectly casts `f` (an `f64`)
into an `i64`, before casting it into an `Integer`.

This fixes that issue by using `Integer::try_from(f)` instead,
and failing if `f` is infinite or NaN.

A fixme is left for a future PR to properly handle the resulting errors
in floor/1 and friends (right now they can only be triggered through FFI).

16 months agofix typo
Bennet Bleßmann [Fri, 24 Jan 2025 17:47:42 +0000 (18:47 +0100)]
fix typo

16 months agoFIXED: instantiation and type check for string arguments
Markus Triska [Thu, 23 Jan 2025 19:18:55 +0000 (20:18 +0100)]
FIXED: instantiation and type check for string arguments

This addresses #2790.

The issue first appeared in an example reported by @ak-1 in #2788, and
was successfully analyzed by @flexoron. Many thanks!

16 months agoUpdate README.md
Bennet Bleßmann [Thu, 23 Jan 2025 19:04:43 +0000 (20:04 +0100)]
Update README.md

fix ambiguity regarding the install location for the cargo install method, also include the binary name

16 months agofix ci and update all used actions
Bennet Bleßmann [Thu, 23 Jan 2025 18:53:59 +0000 (19:53 +0100)]
fix ci and update all used actions

16 months agoupdate install link
Bennet Bleßmann [Thu, 23 Jan 2025 18:20:19 +0000 (19:20 +0100)]
update install link

16 months agoUpdate README.md
Bennet Bleßmann [Thu, 23 Jan 2025 18:18:15 +0000 (19:18 +0100)]
Update README.md

16 months agoUpdate README.md
Bennet Bleßmann [Thu, 23 Jan 2025 18:11:08 +0000 (19:11 +0100)]
Update README.md

16 months agoMerge pull request #2768 from robstolarz/RSTO-nix-macos-fix
Mark Thom [Tue, 14 Jan 2025 05:15:11 +0000 (22:15 -0700)]
Merge pull request #2768 from robstolarz/RSTO-nix-macos-fix

fix: compile under Nix flake on macOS

16 months agoFix #2725 by calling load_context/1 in the unspecified branch of strip_module/3
Emilie Burgun [Wed, 1 Jan 2025 16:27:40 +0000 (17:27 +0100)]
Fix #2725 by calling load_context/1 in the unspecified branch of strip_module/3

This fixes #2725, by making it so that `strip_module(Pred, M, P), call(M:P)`
doesn't throw an `instanciation_error` when `Pred` isn't in the form `module:predicate`.

Now, `strip_module(hello, M, P)` will call `load_context(M)`, which unifies `M`
with the topmost module (or `user`).

Two new test cases are added: issue2725.pl, which tests the minimal case id(X) --> X.
and the strip_module(P, M, _), call(M:P) scenario, and module_resolution,
which tests the behavior of strip_module in a few scenarios.

16 months agoMerge pull request #2756 from adri326/fix-load-context-unreachable
Mark Thom [Sun, 12 Jan 2025 04:27:32 +0000 (21:27 -0700)]
Merge pull request #2756 from adri326/fix-load-context-unreachable

Fix load_context_module triggering unreachable!()

16 months agofix: compile under Nix flake on macOS
Rob Stolarz [Sat, 11 Jan 2025 21:00:46 +0000 (13:00 -0800)]
fix: compile under Nix flake on macOS

17 months agoAdd tests for PR #2756
Emilie Burgun [Tue, 7 Jan 2025 17:10:50 +0000 (18:10 +0100)]
Add tests for PR #2756

17 months agoFix load_context_module triggering unreachable code in unify_atom
Emilie Burgun [Tue, 7 Jan 2025 16:59:13 +0000 (17:59 +0100)]
Fix load_context_module triggering unreachable code in unify_atom

17 months agoMerge pull request #2742 from triska/clpb
Mark Thom [Sat, 4 Jan 2025 20:26:08 +0000 (13:26 -0700)]
Merge pull request #2742 from triska/clpb

Revert "FIXED: CLP(B): Delay BDD restriction until after the instantiation"

17 months agoMerge pull request #2728 from aarroyoc/lets-play-brisca
Mark Thom [Sat, 4 Jan 2025 20:24:35 +0000 (13:24 -0700)]
Merge pull request #2728 from aarroyoc/lets-play-brisca

Add tutorial: Let's play Brisca

17 months agoMerge pull request #2743 from triska/crypto
Mark Thom [Sat, 4 Jan 2025 20:23:59 +0000 (13:23 -0700)]
Merge pull request #2743 from triska/crypto

atom --> string

17 months agoMerge pull request #2744 from triska/files
Mark Thom [Sat, 4 Jan 2025 20:23:44 +0000 (13:23 -0700)]
Merge pull request #2744 from triska/files

state when the predicates are true

17 months agostate when the predicates are true
Markus Triska [Thu, 2 Jan 2025 17:54:27 +0000 (18:54 +0100)]
state when the predicates are true

"returns" is not used in this way in logic programming. "return"
suggests that something went away and is now coming back, but this is
never the case in these situations. The arguments may be variables or
also fully known at the time of the call in most cases.

17 months agoatom --> string
Markus Triska [Thu, 2 Jan 2025 17:30:29 +0000 (18:30 +0100)]
atom --> string

17 months agoRevert "FIXED: CLP(B): Delay BDD restriction until after the instantiation."
Markus Triska [Thu, 2 Jan 2025 17:01:45 +0000 (18:01 +0100)]
Revert "FIXED: CLP(B): Delay BDD restriction until after the instantiation."

This reverts commit e185b626bdf1a99ab8188ae39875f645c0de90f0.

This change is now no longer needed, and the underlying issue is
apparently somewhere else entirely. See the description at:

    https://github.com/mthom/scryer-prolog/issues/2732

Current master behaves differently from Scryer as it was at
099d9aaca6509496ccb28c522659b990f42037f0 (i.e., preceding
the commit that is now being reverted), even on the same file.

For an example, see:

    https://github.com/triska/scryer-prolog/commit/dd41176b97d8369c3bb7de1c9932a9c3d10a0466

Scryer now works as expected, and compatibly with SICStus. We still
need to find out what fixed the root cause of this issue.

17 months agoAdd tutorial: Let's play Brisca
Adrián Arroyo Calle [Sun, 29 Dec 2024 22:55:57 +0000 (23:55 +0100)]
Add tutorial: Let's play Brisca

17 months agoMerge pull request #2681 from hurufu/remove-dcgs-that-have-failed-to-expand
Mark Thom [Wed, 25 Dec 2024 21:29:38 +0000 (14:29 -0700)]
Merge pull request #2681 from hurufu/remove-dcgs-that-have-failed-to-expand

Remove DCGs that have thrown an exception during term expansion

17 months agoqualify module quantification errors better (#2685)
Mark Thom [Wed, 25 Dec 2024 20:23:21 +0000 (12:23 -0800)]
qualify module quantification errors better (#2685)

17 months agostyle corrections
Mark Thom [Wed, 25 Dec 2024 20:11:17 +0000 (12:11 -0800)]
style corrections

17 months agoRemove DCGs that have thrown an exception during term expansion
Aleksy Grabowski [Thu, 5 Dec 2024 10:15:42 +0000 (11:15 +0100)]
Remove DCGs that have thrown an exception during term expansion

Some DCG constructs aren't supported and can't be expanded, here we
remove offending DCG rule and don't compile it at all – in a similar
fashion to what we do when incorrect goal was found – whole predicate
isn't getting compiled.

Fixes #2675

17 months agoMerge pull request #2714 from triska/graphic_token
Mark Thom [Sat, 21 Dec 2024 01:42:09 +0000 (18:42 -0700)]
Merge pull request #2714 from triska/graphic_token

prevent accidental amalgamation of graphic token chars in output

17 months agoMerge pull request #2717 from jasagredo/js/small-doc
Mark Thom [Sat, 21 Dec 2024 01:41:51 +0000 (18:41 -0700)]
Merge pull request #2717 from jasagredo/js/small-doc

Ensure max_assoc/3 is shown as documented

17 months agoleave variable modules uninstantiated (#2685)
Mark Thom [Wed, 18 Dec 2024 07:28:50 +0000 (23:28 -0800)]
leave variable modules uninstantiated (#2685)