]>
Repositorios git - scryer-prolog.git/log
Niklas Gruhn [Wed, 18 Jan 2023 18:08:19 +0000 (19:08 +0100)]
Use lastest 1.xx Rust version in Docker build
With the previous Rust version 1.61, the build fails with
> error[E0658]: use of unstable library feature 'scoped_threads'
This has been "stabilized" in Rust 1.63. To avoid the hassle
of manually updating the version, we can just default to the
latest minor release.
Mark Thom [Sat, 14 Jan 2023 01:34:29 +0000 (18:34 -0700)]
restore free list usage on structures in facts without crashing lgtunit loader
Mark Thom [Fri, 13 Jan 2023 06:50:17 +0000 (07:50 +0100)]
Merge pull request #1677 from aarroyoc/docs-dif
Compatible Doclog docs for library(dif)
Mark Thom [Fri, 13 Jan 2023 06:46:57 +0000 (23:46 -0700)]
tighten deallocate truncation of stack (#1686)
Mark Thom [Wed, 11 Jan 2023 16:41:14 +0000 (17:41 +0100)]
Merge pull request #1685 from triska/reify_sign
ADDED: sign/1 is now reifiable.
Markus Triska [Wed, 11 Jan 2023 16:23:53 +0000 (17:23 +0100)]
use (#)/1
Markus Triska [Wed, 11 Jan 2023 16:22:38 +0000 (17:22 +0100)]
ADDED: sign/1 is now reifiable.
This addresses #1500.
Mark Thom [Wed, 11 Jan 2023 01:24:38 +0000 (18:24 -0700)]
remove add_term_to_free_list from AddToList (#1684)
Mark Thom [Tue, 10 Jan 2023 22:44:48 +0000 (23:44 +0100)]
Merge pull request #1682 from triska/reify_slash
FIXED: correctly reify (/)/2.
Markus Triska [Tue, 10 Jan 2023 21:59:11 +0000 (22:59 +0100)]
rely on newly available operator notation for (#)/1
Markus Triska [Tue, 10 Jan 2023 21:57:14 +0000 (22:57 +0100)]
replace several more instances of ?/1 by (#)/1
Markus Triska [Tue, 10 Jan 2023 21:50:38 +0000 (22:50 +0100)]
use (#)/1 already internally for describing constraint projections
Markus Triska [Tue, 10 Jan 2023 21:06:16 +0000 (22:06 +0100)]
FIXED: reification of (xor)/2.
Example:
?- A #= 1 xor 0 #<==> R.
%@ clpz:(A#=1#<==>R), clpz:(R in 0..1).
Markus Triska [Tue, 10 Jan 2023 16:10:45 +0000 (17:10 +0100)]
FIXED: correctly reify (/)/2.
Example:
?- 0 #==> X #= 1/2.
%@ clpz:(X in inf..sup)
%@ ; false.
This addresses #1501.
Mark Thom [Sun, 8 Jan 2023 19:10:38 +0000 (12:10 -0700)]
use free lists to allow register re-use (#1612)
Mark Thom [Sat, 24 Dec 2022 07:31:39 +0000 (00:31 -0700)]
use '$enqueue_attr_var' when adding attributes only
Adrián Arroyo Calle [Thu, 22 Dec 2022 22:23:07 +0000 (23:23 +0100)]
Compatible Doclog docs for library(dif)
Mark Thom [Sun, 18 Dec 2022 20:22:25 +0000 (21:22 +0100)]
Merge pull request #1658 from aarroyoc/copy_file
Add predicate file_copy/2 in library(files)
Mark Thom [Sun, 18 Dec 2022 20:21:58 +0000 (21:21 +0100)]
Merge pull request #1672 from triska/deref_register
dereference more registers, analogous to
d660e4244ff48bbcd558fab07a4dd4a5e9d68209
Markus Triska [Sun, 18 Dec 2022 16:43:33 +0000 (17:43 +0100)]
dereference more registers, analogous to
d660e4244ff48bbcd558fab07a4dd4a5e9d68209
See also #1654 for a nice test case by @notoria which this corrects.
Mark Thom [Sat, 17 Dec 2022 23:38:22 +0000 (00:38 +0100)]
Merge pull request #1671 from aarroyoc/docs-iso-ext
Compatible Doclog docs for library(iso_ext)
Mark Thom [Sat, 17 Dec 2022 23:38:13 +0000 (00:38 +0100)]
Merge pull request #1669 from aarroyoc/docs-http-open
Compatible Doclog docs for library(http/http_open).
Adrián Arroyo Calle [Sat, 17 Dec 2022 21:46:44 +0000 (22:46 +0100)]
Compatible Doclog docs for library(iso_ext)
Adrián Arroyo Calle [Sat, 17 Dec 2022 19:43:43 +0000 (20:43 +0100)]
Compatible Doclog docs for library(http/http_open).
Mark Thom [Sat, 17 Dec 2022 18:54:20 +0000 (11:54 -0700)]
use proper dynamic arities in JmpByCall and JmpByExecute (#1605, #1606)
Mark Thom [Fri, 16 Dec 2022 07:42:31 +0000 (00:42 -0700)]
track attr_var_init lengths on the stack (#1667)
Mark Thom [Fri, 16 Dec 2022 07:45:00 +0000 (00:45 -0700)]
update README to point to local wambook (#1668)
Mark Thom [Fri, 16 Dec 2022 06:26:36 +0000 (23:26 -0700)]
detect cyclic bindings in attr_vars_of_term (#1666)
Mark Thom [Fri, 16 Dec 2022 03:36:02 +0000 (04:36 +0100)]
Merge pull request #1662 from mthom/interpreting_disj
Fix mishandled if-then-else interpretation (#1659)
Mark Thom [Tue, 13 Dec 2022 06:55:43 +0000 (23:55 -0700)]
use append/3 rather than set_difference/3 to gather witnesses in bagof/3 and setof/3 (#1663, #1664)
Mark Thom [Sun, 11 Dec 2022 23:38:40 +0000 (00:38 +0100)]
Merge pull request #1661 from aarroyoc/lcm2
Add predicate lcm/2 to library(arithmetic)
Mark Thom [Sun, 11 Dec 2022 23:11:57 +0000 (16:11 -0700)]
fix mishandled if-then-else interpretation (#1659)
Adrián Arroyo Calle [Sun, 11 Dec 2022 20:49:41 +0000 (21:49 +0100)]
Add predicate lcm/2 to library(arithmetic)
Adrián Arroyo Calle [Sat, 10 Dec 2022 23:08:41 +0000 (00:08 +0100)]
Rename copy_file/2 to file_copy/2
Adrián Arroyo Calle [Fri, 9 Dec 2022 22:46:00 +0000 (23:46 +0100)]
Add predicate copy_file/2 in library(files)
Mark Thom [Sat, 10 Dec 2022 17:09:01 +0000 (18:09 +0100)]
Merge pull request #1657 from aarroyoc/docs-files
Compatible Doclog docs for library(files)
Mark Thom [Sat, 10 Dec 2022 17:08:45 +0000 (18:08 +0100)]
Merge pull request #1656 from aarroyoc/docs-ordsets
Compatible Doclog docs for library(ordsets)
Mark Thom [Sat, 10 Dec 2022 17:08:26 +0000 (18:08 +0100)]
Merge pull request #1655 from triska/deref_register
more uses of newly available deref_register(n)
Adrián Arroyo Calle [Thu, 8 Dec 2022 22:41:28 +0000 (23:41 +0100)]
Compatible Doclog docs for library(files)
Adrián Arroyo Calle [Thu, 8 Dec 2022 21:30:48 +0000 (22:30 +0100)]
Compatible Doclog docs for library(ordsets)
Markus Triska [Wed, 7 Dec 2022 22:14:08 +0000 (23:14 +0100)]
more uses of newly available deref_register(n)
Mark Thom [Wed, 7 Dec 2022 04:52:07 +0000 (05:52 +0100)]
Merge pull request #1653 from triska/deref_register
introduce and use deref_register(n)
Markus Triska [Tue, 6 Dec 2022 19:24:08 +0000 (20:24 +0100)]
introduce and use deref_register(n)
Mark Thom [Tue, 6 Dec 2022 16:57:46 +0000 (17:57 +0100)]
Merge pull request #1652 from aarroyoc/docs-lists
Compatible Doclog docs for library(lists)
Mark Thom [Tue, 6 Dec 2022 16:57:36 +0000 (17:57 +0100)]
Merge pull request #1651 from aarroyoc/docs-sockets
Compatible Doclog docs for library(sockets)
Adrián Arroyo Calle [Tue, 6 Dec 2022 12:19:10 +0000 (13:19 +0100)]
Compatible Doclog docs for library(lists)
Adrián Arroyo Calle [Tue, 6 Dec 2022 10:58:26 +0000 (11:58 +0100)]
Compatible Doclog docs for library(sockets)
Mark Thom [Tue, 6 Dec 2022 06:28:44 +0000 (23:28 -0700)]
dereference encoding register in crypto_data_decrypt (#1650)
Mark Thom [Tue, 6 Dec 2022 06:17:15 +0000 (23:17 -0700)]
avoid pushing stack variables to the heap in get_continuation_chunk (#1644)
Mark Thom [Mon, 5 Dec 2022 05:05:13 +0000 (06:05 +0100)]
Merge pull request #1649 from aarroyoc/docs-ugraphs
Compatible Doclog docs for library(ugraphs)
Mark Thom [Mon, 5 Dec 2022 05:05:02 +0000 (06:05 +0100)]
Merge pull request #1648 from aarroyoc/docs-random
Compatible Doclog docs for library(random)
Mark Thom [Mon, 5 Dec 2022 05:04:48 +0000 (06:04 +0100)]
Merge pull request #1647 from aarroyoc/docs-uuid
Compatible Doclog docs for library(uuid)
Mark Thom [Mon, 5 Dec 2022 05:04:30 +0000 (06:04 +0100)]
Merge pull request #1646 from aarroyoc/docs-assoc
Compatible Doclog docs for library(assoc)
Adrián Arroyo Calle [Sun, 4 Dec 2022 23:09:32 +0000 (00:09 +0100)]
Compatible Doclog docs for library(ugraphs)
Adrián Arroyo Calle [Fri, 2 Dec 2022 22:43:24 +0000 (23:43 +0100)]
Compatible Doclog docs for library(random)
Adrián Arroyo Calle [Fri, 2 Dec 2022 22:23:16 +0000 (23:23 +0100)]
Compatible Doclog docs for library(uuid)
Adrián Arroyo Calle [Fri, 2 Dec 2022 22:05:03 +0000 (23:05 +0100)]
Compatible Doclog docs for library(assoc)
Mark Thom [Sat, 19 Nov 2022 01:19:29 +0000 (18:19 -0700)]
return -1 from get_code to indicate end of file (#1622)
Mark Thom [Wed, 16 Nov 2022 19:57:35 +0000 (20:57 +0100)]
Merge pull request #1640 from gruhn/master
Adjust Github Action: Docker Publish
Niklas Gruhn [Mon, 14 Nov 2022 22:19:07 +0000 (23:19 +0100)]
Adjust Github Action: Docker Publish
1. Not only publish Docker images when new release tags are created but
on every push to master, since release frequency is so low.
2. Use newer versions of the various actions (setup-buildx-action,
login-action, metadata-action, ...) to suppress some deprecation
warnings see:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Mark Thom [Tue, 15 Nov 2022 04:18:03 +0000 (21:18 -0700)]
update Dockerfile to use rustc 1.61
Mark Thom [Tue, 15 Nov 2022 04:16:46 +0000 (21:16 -0700)]
mention #scryer in README
Mark Thom [Tue, 15 Nov 2022 04:13:52 +0000 (21:13 -0700)]
README rustc version bump
Mark Thom [Mon, 14 Nov 2022 05:58:00 +0000 (22:58 -0700)]
use existing bindings in compile_is (#1545)
Mark Thom [Mon, 14 Nov 2022 04:43:14 +0000 (21:43 -0700)]
begin to mark registers as safe from built-in predicates like is/2 (#1545)
Mark Thom [Mon, 14 Nov 2022 03:51:40 +0000 (20:51 -0700)]
revise UnsafeVarMarker (#1545)
Mark Thom [Thu, 10 Nov 2022 06:18:10 +0000 (07:18 +0100)]
Merge pull request #1635 from mthom/rebis-dev
Merge rebis-dev into master
Mark Thom [Thu, 10 Nov 2022 05:49:50 +0000 (06:49 +0100)]
bump version to 0.9.1
Mark Thom [Thu, 10 Nov 2022 05:56:23 +0000 (06:56 +0100)]
remove num-rug-adapter
Mark Thom [Thu, 10 Nov 2022 05:47:32 +0000 (06:47 +0100)]
move asserta/2, assertz/2 to iso_ext
Mark Thom [Tue, 8 Nov 2022 22:55:22 +0000 (23:55 +0100)]
introduce InlineTermStream to avoid arena allocations during call_inline (#1576)
Mark Thom [Thu, 27 Oct 2022 05:37:36 +0000 (23:37 -0600)]
Merge pull request #1630 from epilys/fix-1625
fix type_error with instantiated EOF -1 byte literal in get_byte/2
Markus Triska [Mon, 24 Oct 2022 17:18:49 +0000 (19:18 +0200)]
FIXED: CLP(ℤ): Correctly remove all attributes during propagation of all_distinct/1 and other global constraints.
The constraints from library(clpz) were already correctly removed, but
others such as pending freeze/2 goals were not, potentially leading to
an accumulation of redundant constraints during propagation.
Test case:
?- freeze(A,(X=1;X=2)), all_distinct([A]), A = 1.
A = 1, X = 1
; A = 1, X = 2.
The combination of freeze/2 and CLP(ℤ) is useful for example when
creating animations of search processes.
This addresses #1624.
Mark Thom [Sun, 23 Oct 2022 22:30:41 +0000 (16:30 -0600)]
build partial strings using PStrLoc in write_term_to_heap (#1627)
Mark Thom [Sun, 23 Oct 2022 21:38:39 +0000 (15:38 -0600)]
export asserta/2 (#1623)
Mark Thom [Sun, 23 Oct 2022 04:56:06 +0000 (22:56 -0600)]
cache ball terms before unifying in handle_ball/3 (#1608)
Adrián Arroyo Calle [Sun, 9 Oct 2022 16:09:52 +0000 (18:09 +0200)]
Some minor fixes. Thanks to @triska for them!
Mark Thom [Tue, 4 Oct 2022 16:21:50 +0000 (10:21 -0600)]
fix crash in read_term (#1616)
Skgland [Thu, 15 Sep 2022 17:27:49 +0000 (19:27 +0200)]
adjust rust-version declaration
Adrián Arroyo Calle [Mon, 12 Sep 2022 21:32:00 +0000 (23:32 +0200)]
Set default Shell
Adrián Arroyo Calle [Mon, 12 Sep 2022 21:24:40 +0000 (23:24 +0200)]
Add Windows MSYS2
Markus Triska [Thu, 8 Sep 2022 17:45:43 +0000 (19:45 +0200)]
ENHANCED: library(crypto): Faster conversion to bytes when the integer is known.
These entailed constraints only affect performance, and can be removed
without affecting the correctness of the code. They speed up scalar
multiplication of a curve point, used for example in Bitcoinolog.
Markus Triska [Sat, 3 Sep 2022 19:25:19 +0000 (21:25 +0200)]
use newly available u8s_to_string
Markus Triska [Sat, 3 Sep 2022 19:18:27 +0000 (21:18 +0200)]
remove redundant error handling, since this case is checked in Prolog
This restores
f668640e3d9c4ccbd1fc0c6e98e1fb9c2cf1a39c , where this
change was already made. It seems it was accidentally overwritten in
0404c3bd949b09d6713d3869e37d30a6b8a77f97 .
Markus Triska [Sat, 3 Sep 2022 18:40:15 +0000 (20:40 +0200)]
introduce and use u8s_to_string
Markus Triska [Sat, 3 Sep 2022 18:04:28 +0000 (20:04 +0200)]
use (slightly) better variable names
Markus Triska [Sat, 3 Sep 2022 17:58:51 +0000 (19:58 +0200)]
use newly available must_be(chars, ...) for better and shorter type test
Markus Triska [Sat, 3 Sep 2022 11:30:57 +0000 (13:30 +0200)]
ENHANCED: Eliminate the OpenSSL dependency of library(crypto).
This is achieved by using the newly available crrl crate by @pornin
to implement crypto_curve_scalar_mult/4 for secp256k1. Many thanks!
Mark Thom [Fri, 2 Sep 2022 03:14:50 +0000 (21:14 -0600)]
properly match strings concluding with characters in lists (#1597)
Markus Triska [Thu, 25 Aug 2022 17:30:30 +0000 (19:30 +0200)]
correct nth0/4 and nth1/4
As per https://github.com/triska/scryer-prolog/commit/
56b430ecaf9bd59fb7bd0b1e56d451ab322c422e #commitcomment-
82155379 .
Markus Triska [Wed, 24 Aug 2022 22:03:47 +0000 (00:03 +0200)]
remove nth1/3, which is now provided by library(lists)
Markus Triska [Wed, 24 Aug 2022 22:03:30 +0000 (00:03 +0200)]
remove nth1/3, which is now provided by library(lists)
Markus Triska [Wed, 24 Aug 2022 19:11:54 +0000 (21:11 +0200)]
ENHANCED: Much improved nth0/3, taken from #1529.
This also adds nth0/4 and bootstraps nth1/[3,4] from it.
Markus Triska [Wed, 24 Aug 2022 19:05:44 +0000 (21:05 +0200)]
ADDED: must_be/can_be(not_less_than_zero, ...)
See #1309.
Markus Triska [Tue, 23 Aug 2022 19:21:17 +0000 (21:21 +0200)]
better implementation of list_si/1
Per discussion in https://github.com/mthom/scryer-prolog/pull/1589.
Markus Triska [Tue, 23 Aug 2022 17:54:11 +0000 (19:54 +0200)]
ADDED: chars_si/1, testing for a string
Examples:
?- chars_si("hello").
true.
?- chars_si(5).
false.
?- chars_si([a,b,c|Rs]).
error(instantiation_error,sort/2).
Markus Triska [Mon, 22 Aug 2022 20:08:10 +0000 (22:08 +0200)]
use new domain names from library(error): octet_character, octet_chars
Markus Triska [Mon, 22 Aug 2022 19:54:03 +0000 (21:54 +0200)]
ADDED: octet_character and octet_chars, testing for strings that represent bytes.
Markus Triska [Sun, 21 Aug 2022 16:59:36 +0000 (18:59 +0200)]
rely on the built-in DCG expansion, per discussion in #1577
Markus Triska [Sun, 21 Aug 2022 11:51:12 +0000 (13:51 +0200)]
ENHANCED: Use '$skip_max_list'/4 for greater efficiency of nth0/3.
This is now possible due to
4c7e2eb8614da9c04f2286f6116b468017fb442c .
See #1529 for the suggestion by @UWN.