]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
2 years agomark chunk boundary at beginning of disjunct in disjuncts.rs (#1843)
Mark [Sat, 24 Jun 2023 23:03:46 +0000 (17:03 -0600)]
mark chunk boundary at beginning of disjunct in disjuncts.rs (#1843)

2 years agofix string incompleteness (#1828)
Mark [Sat, 24 Jun 2023 20:12:04 +0000 (14:12 -0600)]
fix string incompleteness (#1828)

2 years agoMerge pull request #1842 from infogulch/release-on-tag
Mark Thom [Sat, 24 Jun 2023 19:13:07 +0000 (13:13 -0600)]
Merge pull request #1842 from infogulch/release-on-tag

Fix tags trigger; bump MSRV to 1.65

2 years agoBump msrv to 1.65 due to bumping rug to 1.19
infogulch [Sat, 24 Jun 2023 18:21:42 +0000 (13:21 -0500)]
Bump msrv to 1.65 due to bumping rug to 1.19

https://gitlab.com/tspiteri/rug#version-1190-news-2023-01-06

2 years agoFix tags trigger
infogulch [Sat, 24 Jun 2023 18:05:57 +0000 (13:05 -0500)]
Fix tags trigger

2 years agofix branch subsumption bug (#1840, #1841)
Mark [Sat, 24 Jun 2023 16:59:29 +0000 (10:59 -0600)]
fix branch subsumption bug (#1840, #1841)

2 years agoMerge pull request #1838 from triska/get_line_to_chars
Mark Thom [Sat, 24 Jun 2023 15:19:22 +0000 (09:19 -0600)]
Merge pull request #1838 from triska/get_line_to_chars

MODIFIED: read_line_to_chars/3 is now called get_line_to_chars/3

2 years agoupdate README
Mark [Sat, 24 Jun 2023 15:11:30 +0000 (09:11 -0600)]
update README

2 years agoanother case of "read" --> "get", for an only internally used predicate
Markus Triska [Sat, 24 Jun 2023 09:48:28 +0000 (11:48 +0200)]
another case of "read" --> "get", for an only internally used predicate

2 years agoMODIFIED: read_line_to_chars/3 is now called get_line_to_chars/3
Markus Triska [Sat, 24 Jun 2023 09:47:32 +0000 (11:47 +0200)]
MODIFIED: read_line_to_chars/3 is now called get_line_to_chars/3

This is for consistency with other I/O predicates, where "read" always
indicates Prolog terms. Please adjust your programs accordingly.

2 years agocorrect code_walker.rs in light of compilation improvements
Mark [Fri, 23 Jun 2023 22:49:27 +0000 (16:49 -0600)]
correct code_walker.rs in light of compilation improvements

2 years agoMerge branch 'compiling_disj'
Mark [Fri, 23 Jun 2023 20:57:29 +0000 (14:57 -0600)]
Merge branch 'compiling_disj'

2 years agocorrect reversions after rebase
Mark [Fri, 23 Jun 2023 20:13:40 +0000 (14:13 -0600)]
correct reversions after rebase

2 years agopolish perm free list management
Mark [Fri, 23 Jun 2023 18:53:21 +0000 (12:53 -0600)]
polish perm free list management

2 years agoAdd steps to publish binaries when releases are tagged
infogulch [Fri, 23 Jun 2023 03:14:44 +0000 (22:14 -0500)]
Add steps to publish binaries when releases are tagged

2 years agofree local cut variables after cut
Mark [Fri, 23 Jun 2023 18:24:34 +0000 (12:24 -0600)]
free local cut variables after cut

2 years agomark is/2 allocated permanent variables as safe, add CompareNumber terms to ClauseTyp...
Mark [Fri, 23 Jun 2023 17:13:51 +0000 (11:13 -0600)]
mark is/2 allocated permanent variables as safe, add CompareNumber terms to ClauseType::is_inlined

2 years agoBump openssl from 0.10.48 to 0.10.55
dependabot[bot] [Wed, 21 Jun 2023 22:54:36 +0000 (22:54 +0000)]
Bump openssl from 0.10.48 to 0.10.55

Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.48 to 0.10.55.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.48...openssl-v0.10.55)

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

Signed-off-by: dependabot[bot] <[email protected]>
2 years agoimprove call/N implementation (#1829)
Mark [Sat, 10 Jun 2023 07:25:47 +0000 (01:25 -0600)]
improve call/N implementation (#1829)

2 years agoset_local_value does not make values safe (#1812)
Mark [Tue, 6 Jun 2023 06:58:44 +0000 (00:58 -0600)]
set_local_value does not make values safe (#1812)

2 years agoread set_value args from temp regs of put_unsafe_value (#1812)
Mark [Tue, 30 May 2023 02:49:54 +0000 (20:49 -0600)]
read set_value args from temp regs of put_unsafe_value (#1812)

2 years agoFIXED: correct dereferencing in atom_codes/2 and number_codes/2.
Markus Triska [Mon, 29 May 2023 09:12:00 +0000 (11:12 +0200)]
FIXED: correct dereferencing in atom_codes/2 and number_codes/2.

This addresses #1818.

Test case:

    run :-
    length(Ls, L),
    portray_clause(L),
    maplist(=(X), Ls),
    X = Y,
    Y = 12,
    atom_codes(_, Ls),
    false.

2 years agoRename INDEX.md to INDEX.dj and add banner about Scryer Prolog Meetup
Adrián Arroyo Calle [Sun, 28 May 2023 22:29:53 +0000 (00:29 +0200)]
Rename INDEX.md to INDEX.dj and add banner about Scryer Prolog Meetup

2 years agoread from machine stack in stackful pre-order iterator (#1812)
Mark [Fri, 26 May 2023 21:19:07 +0000 (15:19 -0600)]
read from machine stack in stackful pre-order iterator (#1812)

2 years agoCompute correctly the domain of the remainder
notoria [Sat, 27 May 2023 11:47:14 +0000 (13:47 +0200)]
Compute correctly the domain of the remainder

2 years agoDon't add variable
notoria [Sat, 27 May 2023 11:19:19 +0000 (13:19 +0200)]
Don't add variable

?- Z #= 0, Z #= X mod Y.
   Z = 0, clpz:(_A*Y#=X), clpz:(Y in inf.. -1\/1..sup) % Unexpected.

The expected result:
   Z = 0, clpz:(X mod Y#=0), clpz:(Y in inf.. -1\/1..sup).

2 years agoRemove and move comments
notoria [Sat, 27 May 2023 11:08:25 +0000 (13:08 +0200)]
Remove and move comments

2 years agooptionally read from machine stack in stackful pre-order iterator (#1812)
Mark [Fri, 26 May 2023 21:19:07 +0000 (15:19 -0600)]
optionally read from machine stack in stackful pre-order iterator (#1812)

2 years agoaffirm integers as rational/1 (#1810)
Mark [Wed, 24 May 2023 19:43:52 +0000 (13:43 -0600)]
affirm integers as rational/1 (#1810)

2 years agoUpdate select crate to 0.6.0 and remove warning
Adrián Arroyo Calle [Wed, 17 May 2023 16:19:19 +0000 (18:19 +0200)]
Update select crate to 0.6.0 and remove warning

2 years agoFIXED: correctly reset counter in reset_gensym/2 (#1807)
Markus Triska [Tue, 16 May 2023 20:42:10 +0000 (22:42 +0200)]
FIXED: correctly reset counter in reset_gensym/2 (#1807)

Many thanks to @infradig for detecting this issue and suggesting this
correction!

2 years agoshorten gensym/2
Markus Triska [Tue, 16 May 2023 20:41:20 +0000 (22:41 +0200)]
shorten gensym/2

2 years agoextend logic to all control and whitespace characters
Markus Triska [Sun, 14 May 2023 07:14:10 +0000 (09:14 +0200)]
extend logic to all control and whitespace characters

This addresses #1802.

2 years agouse same logic to print Chars and Atoms (#1804)
Mark [Wed, 10 May 2023 06:04:35 +0000 (00:04 -0600)]
use same logic to print Chars and Atoms (#1804)

2 years agorely on first instantiated argument indexing in the definitions of foldl/N
Markus Triska [Wed, 3 May 2023 22:50:27 +0000 (00:50 +0200)]
rely on first instantiated argument indexing in the definitions of foldl/N

This allows shorter and more natural definitions.

2 years agoENHANCED: allow Roman numerals in strings
Markus Triska [Wed, 3 May 2023 19:56:04 +0000 (21:56 +0200)]
ENHANCED: allow Roman numerals in strings

Example:

    ?- X = "ↁ".
       X = "ↁ".

This addresses #1790.

2 years agoFIXED: consistent read/write of further control characters, and non-breaking space
Markus Triska [Wed, 3 May 2023 21:23:53 +0000 (23:23 +0200)]
FIXED: consistent read/write of further control characters, and non-breaking space

Example:

    ?- X = '\xa0\'.
       X = '\xa0\'.

This addresses #1768.

2 years agomake tests compatible
Mark [Fri, 23 Jun 2023 00:50:20 +0000 (18:50 -0600)]
make tests compatible

2 years agobacktrack on emission of unsafe register instructions on internal branches
Mark [Fri, 23 Jun 2023 00:28:10 +0000 (18:28 -0600)]
backtrack on emission of unsafe register instructions on internal branches

2 years agoimplement new disjunction compilation
Mark [Sat, 17 Jun 2023 22:28:56 +0000 (16:28 -0600)]
implement new disjunction compilation

2 years agoremove BuildIf, BuildNot, BuildThen TermIterState variants
Mark Thom [Tue, 31 Jan 2023 06:26:50 +0000 (23:26 -0700)]
remove BuildIf, BuildNot, BuildThen TermIterState variants

2 years agocorrect chunk type labeling
Mark Thom [Sun, 1 Jan 2023 18:04:46 +0000 (11:04 -0700)]
correct chunk type labeling

2 years agoremove GetLevelAndUnify and replace it with GetCutPoint
Mark Thom [Wed, 28 Dec 2022 06:42:35 +0000 (23:42 -0700)]
remove GetLevelAndUnify and replace it with GetCutPoint

2 years agoadd QueryTerm::ChunkTypeBoundary
Mark Thom [Wed, 28 Dec 2022 06:19:18 +0000 (23:19 -0700)]
add QueryTerm::ChunkTypeBoundary

2 years agodelete ChunkedTerm, chunked iteration
Mark Thom [Wed, 28 Dec 2022 04:29:29 +0000 (21:29 -0700)]
delete ChunkedTerm, chunked iteration

2 years agonew TermIterState variants
Mark Thom [Tue, 6 Dec 2022 03:49:23 +0000 (20:49 -0700)]
new TermIterState variants

2 years agovariable classification al a carte
Mark Thom [Sun, 13 Nov 2022 17:13:37 +0000 (10:13 -0700)]
variable classification al a carte

2 years agoadd more variable probing, chunk type labeling
Mark Thom [Wed, 2 Nov 2022 03:10:15 +0000 (21:10 -0600)]
add more variable probing, chunk type labeling

2 years agoadapt code generation
Mark Thom [Tue, 18 Oct 2022 04:56:08 +0000 (22:56 -0600)]
adapt code generation

2 years agoadd classifications and occurrence counting
Mark Thom [Tue, 4 Oct 2022 15:24:37 +0000 (09:24 -0600)]
add classifications and occurrence counting

2 years agomilestone marker for surgery
Mark Thom [Wed, 28 Sep 2022 03:04:52 +0000 (21:04 -0600)]
milestone marker for surgery

2 years agobegin adapting the techniques of "Compiling Large Disjunctions"
Mark Thom [Thu, 1 Sep 2022 23:03:00 +0000 (17:03 -0600)]
begin adapting the techniques of "Compiling Large Disjunctions"

2 years agoMerge pull request #1834 from infogulch/ci-publish-releases
Mark Thom [Fri, 23 Jun 2023 18:01:32 +0000 (12:01 -0600)]
Merge pull request #1834 from infogulch/ci-publish-releases

Add steps to publish binaries when releases are tagged

2 years agoAdd steps to publish binaries when releases are tagged
infogulch [Fri, 23 Jun 2023 03:14:44 +0000 (22:14 -0500)]
Add steps to publish binaries when releases are tagged

2 years agoMerge pull request #1833 from mthom/dependabot/cargo/openssl-0.10.55
Mark Thom [Thu, 22 Jun 2023 17:30:56 +0000 (11:30 -0600)]
Merge pull request #1833 from mthom/dependabot/cargo/openssl-0.10.55

Bump openssl from 0.10.48 to 0.10.55

2 years agoBump openssl from 0.10.48 to 0.10.55
dependabot[bot] [Wed, 21 Jun 2023 22:54:36 +0000 (22:54 +0000)]
Bump openssl from 0.10.48 to 0.10.55

Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.48 to 0.10.55.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.48...openssl-v0.10.55)

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

Signed-off-by: dependabot[bot] <[email protected]>
3 years agoimprove call/N implementation (#1829)
Mark [Sat, 10 Jun 2023 07:25:47 +0000 (01:25 -0600)]
improve call/N implementation (#1829)

3 years agoset_local_value does not make values safe (#1812)
Mark [Tue, 6 Jun 2023 06:58:44 +0000 (00:58 -0600)]
set_local_value does not make values safe (#1812)

3 years agoread set_value args from temp regs of put_unsafe_value (#1812)
Mark [Tue, 30 May 2023 02:49:54 +0000 (20:49 -0600)]
read set_value args from temp regs of put_unsafe_value (#1812)

3 years agoMerge pull request #1822 from triska/master
Mark Thom [Mon, 29 May 2023 16:15:43 +0000 (10:15 -0600)]
Merge pull request #1822 from triska/master

FIXED: correct dereferencing in atom_codes/2 and number_codes/2.

3 years agoFIXED: correct dereferencing in atom_codes/2 and number_codes/2.
Markus Triska [Mon, 29 May 2023 09:12:00 +0000 (11:12 +0200)]
FIXED: correct dereferencing in atom_codes/2 and number_codes/2.

This addresses #1818.

Test case:

    run :-
    length(Ls, L),
    portray_clause(L),
    maplist(=(X), Ls),
    X = Y,
    Y = 12,
    atom_codes(_, Ls),
    false.

3 years agoMerge pull request #1820 from aarroyoc/banner-meetup
Mark Thom [Sun, 28 May 2023 22:39:05 +0000 (16:39 -0600)]
Merge pull request #1820 from aarroyoc/banner-meetup

Rename INDEX.md to INDEX.dj and add banner about Scryer Prolog Meetup

3 years agoRename INDEX.md to INDEX.dj and add banner about Scryer Prolog Meetup
Adrián Arroyo Calle [Sun, 28 May 2023 22:29:53 +0000 (00:29 +0200)]
Rename INDEX.md to INDEX.dj and add banner about Scryer Prolog Meetup

3 years agoread from machine stack in stackful pre-order iterator (#1812)
Mark [Fri, 26 May 2023 21:19:07 +0000 (15:19 -0600)]
read from machine stack in stackful pre-order iterator (#1812)

3 years agoMerge pull request #1816 from notoria/clpz
Mark Thom [Sat, 27 May 2023 17:07:50 +0000 (11:07 -0600)]
Merge pull request #1816 from notoria/clpz

Small fixes for `CLP(ℤ)`

3 years agoCompute correctly the domain of the remainder
notoria [Sat, 27 May 2023 11:47:14 +0000 (13:47 +0200)]
Compute correctly the domain of the remainder

3 years agoDon't add variable
notoria [Sat, 27 May 2023 11:19:19 +0000 (13:19 +0200)]
Don't add variable

?- Z #= 0, Z #= X mod Y.
   Z = 0, clpz:(_A*Y#=X), clpz:(Y in inf.. -1\/1..sup) % Unexpected.

The expected result:
   Z = 0, clpz:(X mod Y#=0), clpz:(Y in inf.. -1\/1..sup).

3 years agoRemove and move comments
notoria [Sat, 27 May 2023 11:08:25 +0000 (13:08 +0200)]
Remove and move comments

3 years agooptionally read from machine stack in stackful pre-order iterator (#1812)
Mark [Fri, 26 May 2023 21:19:07 +0000 (15:19 -0600)]
optionally read from machine stack in stackful pre-order iterator (#1812)

3 years agoaffirm integers as rational/1 (#1810)
Mark [Wed, 24 May 2023 19:43:52 +0000 (13:43 -0600)]
affirm integers as rational/1 (#1810)

3 years agoMerge pull request #1809 from aarroyoc/update-select
Mark Thom [Thu, 18 May 2023 18:31:44 +0000 (12:31 -0600)]
Merge pull request #1809 from aarroyoc/update-select

Update select crate to 0.6.0 and remove warning

3 years agoUpdate select crate to 0.6.0 and remove warning
Adrián Arroyo Calle [Wed, 17 May 2023 16:19:19 +0000 (18:19 +0200)]
Update select crate to 0.6.0 and remove warning

3 years agoMerge pull request #1808 from triska/gensym
Mark Thom [Tue, 16 May 2023 21:55:39 +0000 (15:55 -0600)]
Merge pull request #1808 from triska/gensym

gensym-related improvement and correction

3 years agoFIXED: correctly reset counter in reset_gensym/2 (#1807)
Markus Triska [Tue, 16 May 2023 20:42:10 +0000 (22:42 +0200)]
FIXED: correctly reset counter in reset_gensym/2 (#1807)

Many thanks to @infradig for detecting this issue and suggesting this
correction!

3 years agoshorten gensym/2
Markus Triska [Tue, 16 May 2023 20:41:20 +0000 (22:41 +0200)]
shorten gensym/2

3 years agoMerge pull request #1805 from triska/master
Mark Thom [Mon, 15 May 2023 05:27:49 +0000 (23:27 -0600)]
Merge pull request #1805 from triska/master

extend logic to all control and whitespace characters

3 years agoextend logic to all control and whitespace characters
Markus Triska [Sun, 14 May 2023 07:14:10 +0000 (09:14 +0200)]
extend logic to all control and whitespace characters

This addresses #1802.

3 years agouse same logic to print Chars and Atoms (#1804)
Mark [Wed, 10 May 2023 06:04:35 +0000 (00:04 -0600)]
use same logic to print Chars and Atoms (#1804)

3 years agoMerge pull request #1801 from triska/foldl
Mark Thom [Fri, 5 May 2023 03:25:16 +0000 (21:25 -0600)]
Merge pull request #1801 from triska/foldl

rely on first instantiated argument indexing in the definitions of foldl/N

3 years agoMerge pull request #1799 from triska/roman_numerals
Mark Thom [Fri, 5 May 2023 03:25:03 +0000 (21:25 -0600)]
Merge pull request #1799 from triska/roman_numerals

ENHANCED: allow Roman numerals in strings

3 years agoMerge pull request #1800 from triska/nbsp
Mark Thom [Fri, 5 May 2023 03:24:45 +0000 (21:24 -0600)]
Merge pull request #1800 from triska/nbsp

FIXED: consistent read/write of further control characters, and non-breaking space

3 years agorely on first instantiated argument indexing in the definitions of foldl/N
Markus Triska [Wed, 3 May 2023 22:50:27 +0000 (00:50 +0200)]
rely on first instantiated argument indexing in the definitions of foldl/N

This allows shorter and more natural definitions.

3 years agoFIXED: consistent read/write of further control characters, and non-breaking space
Markus Triska [Wed, 3 May 2023 21:23:53 +0000 (23:23 +0200)]
FIXED: consistent read/write of further control characters, and non-breaking space

Example:

    ?- X = '\xa0\'.
       X = '\xa0\'.

This addresses #1768.

3 years agoENHANCED: allow Roman numerals in strings
Markus Triska [Wed, 3 May 2023 19:56:04 +0000 (21:56 +0200)]
ENHANCED: allow Roman numerals in strings

Example:

    ?- X = "ↁ".
       X = "ↁ".

This addresses #1790.

3 years agofix current_predicate/1 (#1761)
Mark [Tue, 25 Apr 2023 05:23:19 +0000 (23:23 -0600)]
fix current_predicate/1 (#1761)

3 years agoMerge pull request #1794 from aarroyoc/uppercase-2
Mark Thom [Sun, 23 Apr 2023 23:08:21 +0000 (17:08 -0600)]
Merge pull request #1794 from aarroyoc/uppercase-2

Fix to_upper/to_lower when string is instantiated

3 years agoFix to_upper/to_lower when string is instantiated
Adrián Arroyo Calle [Sat, 22 Apr 2023 08:54:35 +0000 (10:54 +0200)]
Fix to_upper/to_lower when string is instantiated

3 years agoMerge pull request #1797 from triska/clpb_residuals
Mark Thom [Sun, 23 Apr 2023 16:31:40 +0000 (10:31 -0600)]
Merge pull request #1797 from triska/clpb_residuals

remove residual goal for ground BDD

3 years agoremove residual goal for ground BDD
Markus Triska [Sun, 23 Apr 2023 07:20:46 +0000 (09:20 +0200)]
remove residual goal for ground BDD

Example:

    ?- sat(X).
       X = 1.

3 years agodiscard CodeIndex literals from unfolded control operators in preprocessor (#1791)
Mark [Sat, 22 Apr 2023 23:14:00 +0000 (17:14 -0600)]
discard CodeIndex literals from unfolded control operators in preprocessor (#1791)

3 years agoadd and document inlined_instructions/2 to/in diag.pl (#1791)
Mark [Sat, 22 Apr 2023 23:13:24 +0000 (17:13 -0600)]
add and document inlined_instructions/2 to/in diag.pl (#1791)

3 years agoMerge pull request #1796 from triska/dif_si
Mark Thom [Sat, 22 Apr 2023 23:21:03 +0000 (17:21 -0600)]
Merge pull request #1796 from triska/dif_si

ADDED: dif_si/2

3 years agoADDED: dif_si/2
Markus Triska [Sat, 22 Apr 2023 22:37:03 +0000 (00:37 +0200)]
ADDED: dif_si/2

Source: https://stackoverflow.com/questions/20223390/prolog-a-person-is-a-sibling-of-himself

In Scryer Prolog, this is actually not needed, since Scryer Prolog provides
dif/2 in library(dif). However, it is still useful to provide dif_si/2 for two reasons:

  1) to more easily port code from systems where only dif_si/2 is available
  2) to provide correct disequality in other systems that adopt this library

3 years agoMerge pull request #1795 from infogulch/fix-ci-install
Mark Thom [Sat, 22 Apr 2023 22:03:39 +0000 (16:03 -0600)]
Merge pull request #1795 from infogulch/fix-ci-install

Use --force to install cargo2junit

3 years agoUse --force to install cargo2junit
infogulch [Sat, 22 Apr 2023 20:42:10 +0000 (15:42 -0500)]
Use --force to install cargo2junit

This probably appeared now because it's the first time this tool was cached
from a previous run.

3 years agoMerge pull request #1793 from infogulch/fix-action-ref
Mark Thom [Sat, 22 Apr 2023 17:26:45 +0000 (11:26 -0600)]
Merge pull request #1793 from infogulch/fix-action-ref

Change ref for `publish-unit-test-result-action`

3 years agoChange ref for `publish-unit-test-result-action`
infogulch [Sat, 22 Apr 2023 15:18:10 +0000 (10:18 -0500)]
Change ref for `publish-unit-test-result-action`

3 years agoMerge pull request #1789 from aarroyoc/uppercase
Mark Thom [Thu, 20 Apr 2023 05:17:09 +0000 (07:17 +0200)]
Merge pull request #1789 from aarroyoc/uppercase

library(charsio): add to_upper and to_lower

3 years agolibrary(charsio): add to_upper and to_lower
Adrián Arroyo Calle [Tue, 18 Apr 2023 16:48:59 +0000 (18:48 +0200)]
library(charsio): add to_upper and to_lower

3 years agoMerge pull request #1783 from infogulch/test
Mark Thom [Tue, 18 Apr 2023 06:35:45 +0000 (08:35 +0200)]
Merge pull request #1783 from infogulch/test

Refactor CI Workflow