]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
2 years agoMerge pull request #2168 from aarroyoc/update-web-2023-11-15
Mark Thom [Thu, 16 Nov 2023 20:07:25 +0000 (21:07 +0100)]
Merge pull request #2168 from aarroyoc/update-web-2023-11-15

Remove Scryer Prolog meetup banner :(

2 years agoMerge pull request #2159 from mthom/dependabot/cargo/rustix-0.38.21
Mark Thom [Thu, 16 Nov 2023 20:07:03 +0000 (21:07 +0100)]
Merge pull request #2159 from mthom/dependabot/cargo/rustix-0.38.21

Bump rustix from 0.38.14 to 0.38.21

2 years agoBump rustix from 0.38.14 to 0.38.21
dependabot[bot] [Thu, 16 Nov 2023 19:27:40 +0000 (19:27 +0000)]
Bump rustix from 0.38.14 to 0.38.21

Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.14 to 0.38.21.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.14...v0.38.21)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2 years agoMerge pull request #2167 from infogulch/ci-checks-permission
Mark Thom [Thu, 16 Nov 2023 08:30:27 +0000 (09:30 +0100)]
Merge pull request #2167 from infogulch/ci-checks-permission

Add checks permission to ci workflow

2 years agoRemove Scryer Prolog meetup banner :(
Adrián Arroyo Calle [Wed, 15 Nov 2023 21:42:18 +0000 (22:42 +0100)]
Remove Scryer Prolog meetup banner :(

2 years agofix sign/1 (#2157)
Mark Thom [Wed, 15 Nov 2023 19:38:24 +0000 (20:38 +0100)]
fix sign/1 (#2157)

2 years agoAdd checks permission to ci workflow
infogulch [Wed, 15 Nov 2023 19:07:45 +0000 (13:07 -0600)]
Add checks permission to ci workflow

This should allow dependabot builds to complete

2 years agofix shr crash (#2158)
Mark Thom [Tue, 14 Nov 2023 07:10:12 +0000 (08:10 +0100)]
fix shr crash (#2158)

2 years agoMerge pull request #2165 from infogulch/bench-csv
Mark Thom [Tue, 14 Nov 2023 06:32:07 +0000 (07:32 +0100)]
Merge pull request #2165 from infogulch/bench-csv

Bench csv

2 years agoMerge pull request #2166 from triska/more_tests
Mark Thom [Tue, 14 Nov 2023 06:31:52 +0000 (07:31 +0100)]
Merge pull request #2166 from triska/more_tests

mention more passing tests

2 years agomention more passing tests
Markus Triska [Tue, 14 Nov 2023 03:06:33 +0000 (04:06 +0100)]
mention more passing tests

2 years agoFix lint
infogulch [Mon, 13 Nov 2023 21:41:15 +0000 (15:41 -0600)]
Fix lint

2 years agoAdd csv parsing benchmark #1403
infogulch [Mon, 13 Nov 2023 21:41:06 +0000 (15:41 -0600)]
Add csv parsing benchmark #1403

2 years agoSimplify benchmark setup; support mutating machine
infogulch [Mon, 13 Nov 2023 20:58:18 +0000 (14:58 -0600)]
Simplify benchmark setup; support mutating machine

2 years agoMerge pull request #2153 from infogulch/benchmark
Mark Thom [Sun, 12 Nov 2023 06:21:25 +0000 (07:21 +0100)]
Merge pull request #2153 from infogulch/benchmark

Add benchmarks

2 years agoFix formatting issues
Joe Taber [Sat, 11 Nov 2023 19:33:19 +0000 (13:33 -0600)]
Fix formatting issues

2 years agoAdd benchmarks using library interface
infogulch [Sat, 11 Nov 2023 17:22:02 +0000 (11:22 -0600)]
Add benchmarks using library interface

2 years agoCI: Setup rust in new action; split style & report actions
infogulch [Tue, 7 Nov 2023 17:56:28 +0000 (11:56 -0600)]
CI: Setup rust in new action; split style & report actions

2 years agocorrect style failures
Mark Thom [Sat, 11 Nov 2023 17:41:46 +0000 (18:41 +0100)]
correct style failures

2 years agofix permanent variable handling over branches and cells (#2154)
Mark Thom [Sat, 11 Nov 2023 16:20:22 +0000 (17:20 +0100)]
fix permanent variable handling over branches and cells (#2154)

2 years agofix compare_pstr_to_string (#2148)
Mark [Sun, 5 Nov 2023 01:32:23 +0000 (19:32 -0600)]
fix compare_pstr_to_string (#2148)

2 years agoMerge pull request #2147 from infogulch/lint-format
Mark Thom [Sat, 4 Nov 2023 17:34:11 +0000 (11:34 -0600)]
Merge pull request #2147 from infogulch/lint-format

Resolve all lints and formating; split style checks into separate job

2 years agoSplit style checks, test reports into separate job
infogulch [Sat, 4 Nov 2023 07:22:24 +0000 (02:22 -0500)]
Split style checks, test reports into separate job

2 years agoBump Cargo.lock to reflect new scryer version
infogulch [Sat, 4 Nov 2023 07:20:55 +0000 (02:20 -0500)]
Bump Cargo.lock to reflect new scryer version

2 years agoAdd previous commit to .git-blame-ignore-revs
infogulch [Sat, 4 Nov 2023 07:20:37 +0000 (02:20 -0500)]
Add previous commit to .git-blame-ignore-revs

2 years agoResolve lints and format
infogulch [Sat, 4 Nov 2023 07:16:54 +0000 (02:16 -0500)]
Resolve lints and format

2 years agoupdate release version linked on website
Mark [Thu, 2 Nov 2023 23:34:49 +0000 (17:34 -0600)]
update release version linked on website

2 years agoupdate release link
Mark [Thu, 2 Nov 2023 23:32:33 +0000 (17:32 -0600)]
update release link

2 years agobump version number to v0.9.3 v0.9.3
Mark [Thu, 2 Nov 2023 23:01:50 +0000 (17:01 -0600)]
bump version number to v0.9.3

2 years agoMerge pull request #1880 from coasys/library-use-case remove
Mark Thom [Thu, 2 Nov 2023 22:50:01 +0000 (16:50 -0600)]
Merge pull request #1880 from coasys/library-use-case

Programatic use of Machine / Scryer as library

2 years agoCheck for target_arch = “wasm32”
Nicolas Luck [Thu, 2 Nov 2023 18:07:55 +0000 (19:07 +0100)]
Check for target_arch = “wasm32”

instead of target_os = “wasi”

2 years agoMerge branch 'master' into library-use-case
Nicolas Luck [Thu, 2 Nov 2023 10:12:54 +0000 (11:12 +0100)]
Merge branch 'master' into library-use-case

2 years agocorrect (\+)/1 (#2141)
Mark [Wed, 1 Nov 2023 05:58:59 +0000 (23:58 -0600)]
correct (\+)/1 (#2141)

2 years agoremove non-conforming hyperbolic and log10 evaluable functors
Mark [Sun, 29 Oct 2023 00:17:43 +0000 (18:17 -0600)]
remove non-conforming hyperbolic and log10 evaluable functors

2 years agofix signed modulus bug (#2134)
Mark [Sun, 29 Oct 2023 00:13:42 +0000 (18:13 -0600)]
fix signed modulus bug (#2134)

2 years agoMerge pull request #2140 from aarroyoc/rename-to-upper
Mark Thom [Sat, 28 Oct 2023 20:48:10 +0000 (14:48 -0600)]
Merge pull request #2140 from aarroyoc/rename-to-upper

Rename `to_upper` to `upper` and `to_lower` to `lower`

2 years agoRename `to_upper` to `upper` and `to_lower` to `lower`
Adrián Arroyo Calle [Sat, 28 Oct 2023 17:16:07 +0000 (19:16 +0200)]
Rename `to_upper` to `upper` and `to_lower` to `lower`

2 years agoMerge pull request #2137 from infogulch/master
Mark Thom [Thu, 26 Oct 2023 20:07:18 +0000 (14:07 -0600)]
Merge pull request #2137 from infogulch/master

CI: compile wasm separately; default 22.04; matrix

2 years agoCI: compile wasm separately; default 22.04; matrix
infogulch [Thu, 26 Oct 2023 04:29:07 +0000 (23:29 -0500)]
CI: compile wasm separately; default 22.04; matrix

2 years agoqualify dif/2 call in reinforce_goal (#2135)
Mark [Wed, 25 Oct 2023 18:26:01 +0000 (12:26 -0600)]
qualify dif/2 call in reinforce_goal (#2135)

2 years agocorrect char_type/2 (#2132)
Mark [Tue, 24 Oct 2023 21:35:37 +0000 (15:35 -0600)]
correct char_type/2 (#2132)

2 years agoremove unnecessary macros inclusion in mock_wam.rs
Mark [Tue, 24 Oct 2023 21:15:29 +0000 (15:15 -0600)]
remove unnecessary macros inclusion in mock_wam.rs

2 years agocorrect modulus bug (#2118, #2119)
Mark [Tue, 24 Oct 2023 20:20:26 +0000 (14:20 -0600)]
correct modulus bug (#2118, #2119)

2 years agoremove list remnants from stack iteration in printer when cyclic (#2131)
Mark [Tue, 24 Oct 2023 20:10:11 +0000 (14:10 -0600)]
remove list remnants from stack iteration in printer when cyclic (#2131)

2 years agofix cycle detection in lists by looking backward analogously to the same process...
Mark [Tue, 24 Oct 2023 18:23:05 +0000 (12:23 -0600)]
fix cycle detection in lists by looking backward analogously to the same process for structures (#2130)

2 years agocorrect LIS backward bug in cycle_detection.rs
Mark [Mon, 23 Oct 2023 19:28:44 +0000 (13:28 -0600)]
correct LIS backward bug in cycle_detection.rs

2 years agoadd STOP_AT_CYCLES const parameter for CycleDetectingIter
Mark [Mon, 23 Oct 2023 18:03:25 +0000 (12:03 -0600)]
add STOP_AT_CYCLES const parameter for CycleDetectingIter

2 years agouse Deutsch-Schorr-Waite to implement acyclic_term/1 (#2128)
Mark [Sun, 22 Oct 2023 03:37:27 +0000 (21:37 -0600)]
use Deutsch-Schorr-Waite to implement acyclic_term/1 (#2128)

2 years agouse topo_sort to correct acyclic_term (#2124, #2125)
Mark [Wed, 18 Oct 2023 17:58:04 +0000 (11:58 -0600)]
use topo_sort to correct acyclic_term (#2124, #2125)

2 years agoCleanup Cargo.toml
Nicolas Luck [Tue, 17 Oct 2023 20:09:34 +0000 (22:09 +0200)]
Cleanup Cargo.toml

2 years agoFix wasm warnings
Nicolas Luck [Tue, 17 Oct 2023 20:07:38 +0000 (22:07 +0200)]
Fix wasm warnings

2 years agofix cyclicity detection through variables (#2122, #2123)
Mark [Mon, 16 Oct 2023 20:20:40 +0000 (14:20 -0600)]
fix cyclicity detection through variables (#2122, #2123)

2 years agoUse std::sync::RwLock instead of tokio::sync::RwLock (by @aarroyoc)
Nicolas Luck [Mon, 16 Oct 2023 12:59:06 +0000 (14:59 +0200)]
Use std::sync::RwLock instead of tokio::sync::RwLock (by @aarroyoc)

2 years agoFix signalling of success/failure (by @mthom)
Nicolas Luck [Mon, 16 Oct 2023 12:56:17 +0000 (14:56 +0200)]
Fix signalling of success/failure (by @mthom)

2 years agoRevert "Remove unuse import"
Nicolas Luck [Mon, 16 Oct 2023 12:55:38 +0000 (14:55 +0200)]
Revert "Remove unuse import"

This reverts commit bfa7d3cf415bdf454d2c8d0a59d8e0c462171081.

2 years agoRemove unuse import
Nicolas Luck [Mon, 16 Oct 2023 11:44:51 +0000 (13:44 +0200)]
Remove unuse import

2 years agoMerge branch 'master' into library-use-case
Nicolas Luck [Mon, 16 Oct 2023 11:43:26 +0000 (13:43 +0200)]
Merge branch 'master' into library-use-case

2 years agomore eagerly check for cyclicity of variables in cycle detecting stackless iterator...
Mark [Sun, 15 Oct 2023 21:14:38 +0000 (15:14 -0600)]
more eagerly check for cyclicity of variables in cycle detecting stackless iterator (#2121)

2 years agoadd backward looking cyclicity check for variables in cycle detecting stackless itera...
Mark [Sun, 15 Oct 2023 19:07:41 +0000 (13:07 -0600)]
add backward looking cyclicity check for variables in cycle detecting stackless iterator (#2111, #2117)

2 years agocorrect is_cyclic again for non-variable ref cells (#2116)
Mark [Sun, 15 Oct 2023 07:28:42 +0000 (01:28 -0600)]
correct is_cyclic again for non-variable ref cells (#2116)

2 years agoimprove cycle detection in detect_list_cycles (#2111)
Mark [Sun, 15 Oct 2023 06:58:15 +0000 (00:58 -0600)]
improve cycle detection in detect_list_cycles (#2111)

2 years agosimplify stackless iterator is_cyclic (#2111)
Mark [Sun, 15 Oct 2023 05:56:46 +0000 (23:56 -0600)]
simplify stackless iterator is_cyclic (#2111)

2 years agocorrect more acyclic_term/1 issues (#2111, #2114), add acyclic_term tests
Mark [Sat, 14 Oct 2023 22:37:18 +0000 (16:37 -0600)]
correct more acyclic_term/1 issues (#2111, #2114), add acyclic_term tests

2 years agocorrect cyclic variable check in cycle detecting stackless iterator (#2111, #2113)
Mark [Sat, 14 Oct 2023 20:03:47 +0000 (14:03 -0600)]
correct cyclic variable check in cycle detecting stackless iterator (#2111, #2113)

2 years agofix bugs & incompleteness of cycle-detecting stackless iterator (#2111)
Mark [Sat, 14 Oct 2023 19:00:58 +0000 (13:00 -0600)]
fix bugs & incompleteness of cycle-detecting stackless iterator (#2111)

2 years agoReify (^)/2
notoria [Sat, 14 Oct 2023 14:15:03 +0000 (16:15 +0200)]
Reify (^)/2

Like (/)/2, (^)/2 can fail in cases such as 0 #==> X #= 2^(-1), where success is expected.

2 years agoTrigger propagator for popcount/1
notoria [Sat, 14 Oct 2023 14:13:52 +0000 (16:13 +0200)]
Trigger propagator for popcount/1

2 years agoTrigger propagator for sign/1
notoria [Sat, 14 Oct 2023 14:11:59 +0000 (16:11 +0200)]
Trigger propagator for sign/1

2 years agoTrigger propagator for (xor)/2
notoria [Sat, 14 Oct 2023 14:10:31 +0000 (16:10 +0200)]
Trigger propagator for (xor)/2

2 years agoadd bounds checks for stackless iterator (#2110)
Mark [Sat, 14 Oct 2023 18:05:57 +0000 (12:05 -0600)]
add bounds checks for stackless iterator (#2110)

2 years agodetect all cycles in roughly linear time and constant space (#2102)
Mark [Fri, 13 Oct 2023 05:16:35 +0000 (23:16 -0600)]
detect all cycles in roughly linear time and constant space (#2102)

2 years agofix bugs in marker algorithm iterator
Mark [Thu, 12 Oct 2023 17:22:57 +0000 (11:22 -0600)]
fix bugs in marker algorithm iterator

2 years agocorrect (mod)/2 (#2103, #2107)
Mark [Fri, 13 Oct 2023 20:33:36 +0000 (14:33 -0600)]
correct (mod)/2 (#2103, #2107)

2 years agoMerge pull request #2105 from triska/morphing_propagators
Mark Thom [Fri, 13 Oct 2023 01:10:54 +0000 (19:10 -0600)]
Merge pull request #2105 from triska/morphing_propagators

ENHANCED: Omit unnecessary residual constraints in disentailed reified (//)/2

2 years agoshift morphing to the more general p/2 case
Markus Triska [Thu, 12 Oct 2023 21:01:37 +0000 (23:01 +0200)]
shift morphing to the more general p/2 case

2 years agoENHANCED: Omit unnecessary residual constraints in disentailed reified (//)/2
Markus Triska [Thu, 12 Oct 2023 19:04:22 +0000 (21:04 +0200)]
ENHANCED: Omit unnecessary residual constraints in disentailed reified (//)/2

Example:

    ?- #\ 0#=(Y// -1)/0.
    %@    clpz:(Y in inf..sup).

This addresses #2104.

2 years agofix control construct bugs, iter indentation (#947)
Mark [Wed, 11 Oct 2023 18:41:45 +0000 (12:41 -0600)]
fix control construct bugs, iter indentation (#947)

2 years agoMerge branch 'master' of ssh://github.com/mthom/scryer-prolog
Mark [Wed, 11 Oct 2023 16:11:50 +0000 (10:11 -0600)]
Merge branch 'master' of ssh://github.com/mthom/scryer-prolog

2 years agofollow marked variables to end in eager_stackful_iter (#2100, #2101)
Mark [Tue, 10 Oct 2023 22:02:38 +0000 (16:02 -0600)]
follow marked variables to end in eager_stackful_iter (#2100, #2101)

2 years agofollow marked variables to end in eager_stackful_iter (#2100, #2101)
Mark [Tue, 10 Oct 2023 22:02:38 +0000 (16:02 -0600)]
follow marked variables to end in eager_stackful_iter (#2100, #2101)

2 years agoMerge pull request #2098 from triska/morphing_propagators
Mark Thom [Tue, 10 Oct 2023 20:57:00 +0000 (14:57 -0600)]
Merge pull request #2098 from triska/morphing_propagators

Queue morphed propagators to give them a chance for propagation

2 years agouse round brackets around operators to form valid Prolog terms
Markus Triska [Tue, 10 Oct 2023 17:54:12 +0000 (19:54 +0200)]
use round brackets around operators to form valid Prolog terms

2 years agoupdate comment to reflect the used propagators
Markus Triska [Tue, 10 Oct 2023 17:53:26 +0000 (19:53 +0200)]
update comment to reflect the used propagators

2 years agoremove definition and calls of do_queue/0, which has become a NOP
Markus Triska [Tue, 10 Oct 2023 17:49:48 +0000 (19:49 +0200)]
remove definition and calls of do_queue/0, which has become a NOP

2 years agoENHANCED: Queue morphed propagators to give them a chance for propagation.
Markus Triska [Tue, 10 Oct 2023 17:42:42 +0000 (19:42 +0200)]
ENHANCED: Queue morphed propagators to give them a chance for propagation.

This addresses #2096:

    ?- B in -2..0, 0#<==>0#=0/(B*B),labeling([],[B]).
       B = 0.

    ?- A#<==>A#=A/A^2,A=0.
       A = 0.

2 years agoreport pre-marked values from eager stackful iterator (#2097)
Mark [Tue, 10 Oct 2023 17:13:42 +0000 (11:13 -0600)]
report pre-marked values from eager stackful iterator (#2097)

2 years agoMerge pull request #2094 from triska/unary_minus
Mark Thom [Mon, 9 Oct 2023 21:06:09 +0000 (15:06 -0600)]
Merge pull request #2094 from triska/unary_minus

ENHANCED: use (+)/2 to express unary minus

2 years agoZ --> Y
Markus Triska [Mon, 9 Oct 2023 21:13:09 +0000 (23:13 +0200)]
Z --> Y

2 years agoMerge pull request #2092 from triska/morphing_pexp
Mark Thom [Mon, 9 Oct 2023 21:05:59 +0000 (15:05 -0600)]
Merge pull request #2092 from triska/morphing_pexp

attach the propagator to Y

2 years agoENHANCED: use (+)/2 to express unary minus
Markus Triska [Mon, 9 Oct 2023 20:59:51 +0000 (22:59 +0200)]
ENHANCED: use (+)/2 to express unary minus

This makes answers a bit shorter and more readable.

Example:

    ?- X #= -Y.
       clpz:(X+Y#=0).

This addresses #2058.

2 years agoattach the propagator to Y
Markus Triska [Mon, 9 Oct 2023 19:55:11 +0000 (21:55 +0200)]
attach the propagator to Y

2 years agoMerge pull request #2091 from triska/morphing_pexp
Mark Thom [Mon, 9 Oct 2023 19:43:25 +0000 (13:43 -0600)]
Merge pull request #2091 from triska/morphing_pexp

ENHANCED: Omit projection of morphed (^)/2 in disentailed constraints.

2 years agoENHANCED: Omit projection of morphed (^)/2 in disentailed constraints.
Markus Triska [Mon, 9 Oct 2023 19:31:44 +0000 (21:31 +0200)]
ENHANCED: Omit projection of morphed (^)/2 in disentailed constraints.

Example:

    ?- B #<==> (0^Y/0) #= Z.
       B = 0, clpz:(Y in 0..sup), clpz:(Z in inf..sup).

2 years agoMerge pull request #2090 from triska/morphing_propagators
Mark Thom [Mon, 9 Oct 2023 19:20:44 +0000 (13:20 -0600)]
Merge pull request #2090 from triska/morphing_propagators

FIXED: Queue triggered propagators to be processed after pexp/3 finishes

2 years agoFIXED: Queue triggered propagators to be processed after pexp/3 finishes
Markus Triska [Mon, 9 Oct 2023 18:42:28 +0000 (20:42 +0200)]
FIXED: Queue triggered propagators to be processed after pexp/3 finishes

If reification constraints (such as reified equality) are triggered
here, then they may wish to disable this propagator and remove
attributes from auxiliary variables. If the pexp/3 propagation is
interrupted for that purpose, then the attributes will be
unintentionally reattached by the following fd_put/3 calls in this
propagator. We must ensure that this propagator completely finishes,
so we queue the triggered propagators for later processing.

geq/2 implements propagator activation outside the queue, and thus
should not be used in propagators in the way it was used here.

pexp/3 by itself may not seem particularly important. However, it can
arise by metamorphosis from Var*Var. Example:

    ?- A#<==> -1#=C*C, C in 0..1.
       A = 0, clpz:(C in 0..1).

This addresses #2089.

2 years agodo not push stack variables to the heap in term_variables (#2087)
Mark [Mon, 9 Oct 2023 17:38:01 +0000 (11:38 -0600)]
do not push stack variables to the heap in term_variables (#2087)

2 years agoMerge pull request #2088 from triska/morphing_propagators
Mark Thom [Sun, 8 Oct 2023 18:45:45 +0000 (12:45 -0600)]
Merge pull request #2088 from triska/morphing_propagators

ENHANCED: Remove no longer needed morphed propagators.

2 years agoENHANCED: Remove no longer needed morphed propagators.
Markus Triska [Sun, 8 Oct 2023 16:41:02 +0000 (18:41 +0200)]
ENHANCED: Remove no longer needed morphed propagators.

This addresses all remaining cases from #2083, excepting (//)/2:

    ?- #\ 1#=(X*X)/0.
       clpz:(X in inf..sup).

    ?- #\ 1#=(X+X)/0.
       clpz:(X in inf..sup).

Still remaining:

    ?- #\ 0#=(Y// -1)/0.
       clpz:(-1*Y#=_A).

2 years agoMerge pull request #2085 from triska/reification_same_queue
Mark Thom [Sun, 8 Oct 2023 18:01:26 +0000 (12:01 -0600)]
Merge pull request #2085 from triska/reification_same_queue

Use the same queue for variables in reified constraints

2 years agoremove no longer needed goal projection for pdiv
Markus Triska [Sun, 8 Oct 2023 10:07:17 +0000 (12:07 +0200)]
remove no longer needed goal projection for pdiv