Markus Triska
8e1ba58551
use new predicates from library(error)
2020-04-27 18:44:59 +02:00
Markus Triska
2b1692a860
ADDED: library(error): instantiation_error/1, domain_error/3, type_error/3
...
These predicates simplify throwing ISO errors.
2020-04-27 18:44:59 +02:00
Markus Triska
7a2981e21c
include usage advice about probabilistic predicates
2020-04-27 18:44:59 +02:00
Mark Thom
f8717359d7
Merge pull request #406 from notoria/random
...
Created the library random and updated library clpb
2020-04-27 09:14:01 -03:00
Mark Thom
fe395e3a8c
publish bimetatrans_ruleml_tests, move both files to own directory
2020-04-26 20:32:16 -06:00
Mark Thom
eb9fe851af
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-04-26 20:15:27 -06:00
notoria
d61851ad02
Added predicate random_integer and updated clpb
2020-04-27 01:52:19 +02:00
notoria
de7a408903
Created the library random and moved some predicates from iso_ext
2020-04-26 23:37:22 +02:00
notoria
9b1272da51
Small patch for library pio
2020-04-26 14:54:20 +02:00
Mark Thom
ae2402f4a7
Merge pull request #399 from notoria/debug
...
Implemented the Debug trait for all data structures
2020-04-25 23:35:27 -03:00
notoria
c98e869564
Implemented the Debug trait for all data structures
2020-04-26 02:20:24 +02:00
Mark Thom
2d7fcbf23d
use proper module name in bimetatrans_ruleml
2020-04-25 12:55:36 -06:00
Markus Triska
40619c8184
ENHANCED: Throw domain errors in char_type/2 for wrong types
...
This is especially important because a few of our names diverge from
ctype(3), and we better inform programmers when the type they are
using is not available at all.
2020-04-25 20:12:54 +02:00
Markus Triska
b0a5df2838
use an anonymous variable
2020-04-25 19:59:46 +02:00
Mark Thom
ae9232a2cb
Merge pull request #396 from notoria/phrase_from_file
...
Implemented phrase_from_file/2 and /2
2020-04-25 14:17:24 -03:00
notoria
ad28d0025a
No trimming of the buffer
2020-04-25 18:20:20 +02:00
notoria
d6772c5ca5
Implemented phrase_from_file/2 and /2
2020-04-25 18:04:13 +02:00
Mark Thom
a2400767ed
Merge pull request #391 from notoria/msb_lsb2
...
Implemented lsb/2 and msb/2
2020-04-25 12:58:03 -03:00
notoria
1873b655a8
Implemented lsb/2 and msb/2
2020-04-24 23:52:32 +02:00
Mark Thom
e27c2b59c8
Merge pull request #380 from notoria/char_type
...
Implementation of the predicate char_type for a subset
2020-04-23 21:57:03 -03:00
notoria
4b50608642
Implementation of the predicate char_type for a subset
2020-04-23 16:09:06 +02:00
notoria
e3a7f9eb7a
Draft of an implementation of char_type
2020-04-22 12:57:18 +02:00
Markus Triska
20fb6d6669
ADDED: library(format) now provides a rudimentary version of listing/1
...
Example:
:- dynamic(a/1).
a(X) :- X = true, b(X).
Yielding:
?- listing(a/1).
%@ a(A) :-
%@ A=true,
%@ b(A).
%@ true.
listing/1 only works for predicates and DCGs that are declared dynamic/1.
2020-04-22 01:53:20 +02:00
Markus Triska
608d661355
portray_clause/1 now correctly tracks variable names ( #376 )
...
Example:
?- portray_clause((A :- B)).
%@ A :-
%@ B.
%@ true
%@ ; ...
Also, change the indentation from 8 to 3 at the express request of @UWN.
2020-04-20 22:53:15 +02:00
Mark Thom
31c868818b
Merge pull request #375 from notoria/sleep
...
Changed the error being thrown by sleep/1
2020-04-20 11:52:25 -03:00
Mark Thom
443c4b6cd0
speed unification of pairs of partial strings
2020-04-20 11:37:32 -06:00
Mark Thom
ee425bb7f0
change CPU_now to CpuNow
2020-04-20 10:37:00 -06:00
Mark Thom
9d1c026231
check for num in comparisons, bump num-rug-adapter to 0.1.3
2020-04-20 10:35:30 -06:00
notoria
6d7612ead6
Corrected the error being thrown by sleep/1
2020-04-20 16:36:57 +02:00
notoria
b3e31094ff
Changed the error being thrown by sleep/1
2020-04-20 11:27:28 +02:00
Mark Thom
c9750fab2c
Merge pull request #371 from notoria/sleep
...
Added the sleep predicate
2020-04-19 21:41:33 -03:00
Mark Thom
5a1348e4d1
do casts between different arithmetic types for comparison and equality ( #372 )
2020-04-19 21:34:59 -06:00
Mark Thom
b64d45a74e
speed comparisons of partial strings
2020-04-19 20:58:53 -06:00
Mark Thom
ba5a4c3945
use default machine policies in term expansions
2020-04-19 19:54:23 -06:00
Mark Thom
9ba37a932b
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-04-19 16:43:32 -06:00
Mark Thom
8ce377d033
update toplevel comments, add mutable stack to zipped acyclic iterators
2020-04-19 16:01:35 -06:00
notoria
a7f3dafd81
Undo a workaround
2020-04-19 23:26:16 +02:00
notoria
fb38b4b906
Corrected bound
2020-04-19 23:04:51 +02:00
notoria
f0a1a90b0e
Merge pull request #3 from triska/sleep
...
update comment
2020-04-19 22:44:48 +02:00
notoria
fb331d39a6
Thrown an error if T < 0 or T > 0xfffffffffffffbff in sleep(T)
2020-04-19 22:43:13 +02:00
Markus Triska
7a3e6e19b1
update comment
2020-04-19 22:36:27 +02:00
notoria
5a063c541d
Added the sleep predicate
2020-04-19 21:35:49 +02:00
Markus Triska
7141fb18c1
ENHANCED: time(Goal) now also reports the time if Goal fails
2020-04-19 21:13:15 +02:00
Markus Triska
4693c23a49
ADDED: library(time), providing time/1 for benchmarking
...
sleep/1 and predicates for reasoning about time stamps should also
be added to this library.
2020-04-19 19:18:47 +02:00
Mark Thom
cae0733149
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-04-19 12:58:54 -06:00
Mark Thom
5d6ca7a88e
throw '' whenever an interrupt is made ( #365 , #366 )
2020-04-19 12:58:44 -06:00
Markus Triska
60f1f1cb3d
Restore the type_error, which was implemented correctly by @notoria.
...
This corrects f28e87b240 :
in_character is a valid type by 7.12.2 Error classification!
2020-04-19 02:15:59 +02:00
Markus Triska
ab3c520006
document ~| format modifier to place a tab stop at this position
...
This works best when used in tandem with ~N+, since it is currently
equivalent to ~0| and does not take the actual text position into account.
However, when using relative positions, this works as intended.
2020-04-19 01:59:16 +02:00
Markus Triska
45ed9405b0
use the most recent improvements
2020-04-19 01:34:13 +02:00
Markus Triska
075ca78dd2
ENHANCED: Delay toplevel output until after the goal succeeds.
...
This is to accommodate goals that are used for their side-effects,
when we are interested in their output.
Examples:
?- portray_clause((a :- a)).
a :-
a.
true
; false.
?- format("hello~w~n", [!]).
hello!
true
; false.
2020-04-19 01:34:03 +02:00