Markus Triska
665f319a0e
no longer use (->)//2, since it is implementation defined
...
This addresses #2304 .
2024-01-23 21:42:36 +01:00
Mark Thom
ac07d2dfc8
Merge pull request #2303 from mthom/dependabot/cargo/shlex-1.3.0
...
Bump shlex from 1.2.0 to 1.3.0
2024-01-23 11:19:53 -07:00
dependabot[bot]
71165c6984
Bump shlex from 1.2.0 to 1.3.0
...
Bumps [shlex](https://github.com/comex/rust-shlex ) from 1.2.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/comex/rust-shlex/commits )
---
updated-dependencies:
- dependency-name: shlex
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-22 21:53:43 +00:00
Mark Thom
eab3bff78b
Merge pull request #2302 from triska/dcg_representation
...
Throw representation errors for unsupported DCG grammar control constructs
2024-01-22 00:26:23 -07:00
Markus Triska
81dba11ab1
use newly available false//0
2024-01-21 22:53:22 +01:00
Markus Triska
388fa5baa9
no longer use (->)//2, since it is implementation dependent
2024-01-21 22:50:36 +01:00
Markus Triska
fe3241c07c
remove checks that are now no longer needed due to representation errors
2024-01-21 10:28:19 +01:00
Markus Triska
0559ddca2a
ENHANCED: Throw representation errors for DCG bodies that use unsupported constructs.
...
This addresses #2285 .
2024-01-21 10:28:19 +01:00
Markus Triska
98a046500f
MODIFIED: (->)/2 in DCGs is now only supported in the context of if-then-else.
...
That is, ( If -> Then ; Else ) is still supported, but ( If -> Then ) not.
2024-01-21 10:28:19 +01:00
Mark Thom
58cd0d1669
Merge pull request #2301 from aarroyoc/docs-copy-term-3
...
Move copy_term/3 to library(iso_ext)
2024-01-19 10:18:59 -07:00
Mark Thom
6421fe10f8
Merge pull request #2300 from aarroyoc/fix-2298
...
Throw error in call_residue_vars/2
2024-01-19 10:15:35 -07:00
Adrián Arroyo Calle
99c85459a7
Move copy_term/3 to library(iso_ext)
2024-01-19 17:33:45 +01:00
Adrián Arroyo Calle
958bf51648
Throw error in call_residue_vars/2
2024-01-19 16:58:26 +01:00
Mark
e3aa85e2a2
add better no op detection in char_reader.rs ( #2297 )
2024-01-16 21:50:53 -07:00
Mark
29ced36a79
add #2293 tests, advance continuable HeapPStrIters away from unpacked compounds ( #2293 )
2024-01-14 15:07:33 -07:00
Mark
f9a5c2d341
fix additional tests, make better use of existing code ( #2293 )
2024-01-13 12:01:54 -07:00
Mark
dde03718e1
fix additional tests ( #2293 )
2024-01-12 22:01:01 -07:00
Mark
60d34bea70
add missing CStr branch to unify_partial_string ( #2293 )
2024-01-12 13:58:46 -07:00
Mark Thom
6fb3b61441
Merge pull request #2276 from triska/hophrase
...
ADDED: Support for higher-order non-terminals phrase//[2,3]
2024-01-11 11:56:10 -07:00
Mark Thom
11ca168175
Merge pull request #2281 from bakaq/miri
...
Initial Miri support
2024-01-10 12:13:14 -07:00
bakaq
f02c0eacd8
Make "cargo miri test" actually run
2024-01-09 04:38:53 -03:00
Mark
72a566d2f8
fix cargo fmt --check
2024-01-08 18:12:31 -07:00
Mark Thom
b56ae28c45
Merge pull request #2280 from notoria/clpz
...
Special case for `(^)/2`
2024-01-08 17:39:18 -07:00
Mark
cd89d71e0c
check for PStr in eager stackful preorder iterator before adding tail of PStrOffset ( #2272 )
2024-01-08 17:36:41 -07:00
notoria
902cd5c3ea
Special case for (^)/2
...
The only solutions for `Z #= X^Z` are `X = Z, X in -1\/1`. Also helps
avoid big numbers.
2024-01-08 21:50:02 +01:00
Mark Thom
f9eadc8e6a
Merge pull request #2278 from notoria/clpz
...
Small fixes for `CLP(ℤ)`
2024-01-07 18:59:38 -07:00
Mark Thom
7b8c8fdda7
Merge pull request #2277 from triska/master
...
Correct arithmetic disequalities accidentally broken in f5d9a67f36
2024-01-07 18:59:18 -07:00
notoria
1f3de74cbd
Fix bound computation in (^)/2
...
?- A in 0..1, B in-1..0, A^2 #= B.
false. % unexpected.
?- A^2 #= B, A in 0..1, B in-1..0.
A = 0, B = 0.
2024-01-07 20:19:40 +01:00
notoria
770ead9c05
Remove min/2 and max/2 when possible
...
?- A #= min(A,B).
clpz:(B#>=A), clpz:(A#=min(A,B)). % unexpected.
?- A #= min(A,0).
clpz:(A in inf..0), clpz:(A#=min(A,0)). % unexpected.
2024-01-07 20:15:28 +01:00
notoria
fe371ff1d1
Fix min/2 and max/2
...
?- X in 0..1, Y in 2..4, Z #= max(X,Y).
clpz:(X in 0..1), clpz:(Z#=max(X,Y)), clpz:(Z in 2..4), clpz:(Z#>=Y), clpz:(Y in 2..4). % unexpected.
?- X in 0..1, Y in 2..4, Z #= max(Y,X).
Y = Z, clpz:(X in 0..1), clpz:(Y in 2..4).
2024-01-07 20:14:32 +01:00
Markus Triska
2f783f0aef
Correct arithmetic inequalities accidentally broken in f5d9a67f36.
...
Example:
?- X #>= Y.
%@ clpz:(X#>=Y).
2024-01-07 09:33:54 +01:00
Mark Thom
92b85d4ba6
Merge pull request #2264 from Skgland/fix-os-argv-1
...
Fix os:argv/1 in case the raw args contain multiple `--`
2024-01-06 15:52:53 -07:00
Markus Triska
e702fe5c68
ADDED: Support for higher-order non-terminals phrase//[2,3]
...
These non-terminals take a grammar rule body and additional arguments
as arguments. These arguments are appended to the first argument.
A key motivation for the introduction of these non-terminals is found
in the discussion and sample code provided by @bakaq in:
https://github.com/mthom/scryer-prolog/discussions/2260
In this way, portable higher-order DCG programming is possible while
keeping the logical grammar rule expansion implementation dependent.
Example:
?- phrase(phrase('.', a, []), Cs).
Cs = "a".
2024-01-06 14:02:13 +01:00
Mark Thom
ed92e1b4f4
Merge pull request #2275 from triska/master
...
Prevent assertion of clauses for (-->)/2 when DCGs are enabled.
2024-01-05 12:33:05 -07:00
Markus Triska
f2b63d1689
Prevent assertion of clauses for (-->)/2 when DCGs are enabled.
...
This addresses #1508 .
2024-01-05 19:04:53 +01:00
Mark
d51defed06
fix cargo --fmt check error
2024-01-04 13:56:57 -07:00
Mark
851ea2c45b
add missing permission error in compile_assert ( #2271 )
2024-01-04 13:53:46 -07:00
Mark
ec97ee5d41
fix acceptance of invalid syntax, update iso_conformity_tests.pl ( #2270 )
2024-01-04 13:14:58 -07:00
Skgland
78b83ca1e1
simplify os:argv/1 fix
2024-01-04 19:26:10 +01:00
Skgland
ea0130d114
use once to limit solutions instead of cut
2024-01-04 18:14:32 +01:00
Skgland
e66e7c5034
add another test case for os:argv/1
2024-01-04 18:12:38 +01:00
Mark Thom
ff010678c3
Merge pull request #2269 from aarroyoc/fix-2267
...
Use reqwest async and use futures::executor
2024-01-03 15:40:48 -07:00
Mark Thom
5abc72cc8b
Merge pull request #2268 from aarroyoc/docs-toplevel
...
Small fixes in documentation and toplevel.pl
2024-01-03 14:52:34 -07:00
Adrián Arroyo Calle
fac8866fb4
Use reqwest async and use futures::executor
2024-01-03 22:43:22 +01:00
Adrián Arroyo Calle
d58e91303b
Small fixes in documentation and toplevel.pl
2024-01-03 19:52:50 +01:00
Skgland
8bd0317e9c
fix os:argv(V) not completing
2024-01-02 21:43:38 +01:00
Skgland
76b1167842
fix os:argv
2024-01-02 20:54:37 +01:00
Skgland
7537686d8f
cover both args ending in -- and args not ending in -- for os:argv/1 test
2024-01-02 20:48:38 +01:00
Skgland
6fc340c4db
remove unnecessary true
2024-01-02 20:27:14 +01:00
Skgland
38f25af47d
cover trailing -- and os:argv([]) in os_argv test
2024-01-02 20:23:53 +01:00