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
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
Mark Thom
9daf290432
remove SCCCutPolicy panic, revise (;)/2 so that comma'ed cuts are handled properly ( #361 )
2020-04-18 20:10:53 -06:00
Mark Thom
3438f88c1e
drop $ naming convention inside '' when unnecessary
2020-04-18 20:06:52 -06:00
Mark Thom
2c8858ff2d
use correct signs in fixnum remainders
2020-04-18 17:37:54 -06:00
Mark Thom
1d964ef921
add domain and type errors for compare/3 ( #296 )
2020-04-18 14:37:14 -06:00
Markus Triska
1713f1222b
reintroduce "n" as a synonym for ";" and " "
2020-04-18 14:16:46 -06:00
Markus Triska
450591d5a9
ENHANCED: the toplevel interaction now supports RETURN as a synonym for "."
...
This is made possible due to the recent improvements by @notoria.
2020-04-18 14:16:46 -06:00
Markus Triska
5c4863dfb1
small simplifications
2020-04-18 14:16:46 -06:00
notoria
c6a82cbc07
Removed a check in get_single_char
2020-04-18 14:16:46 -06:00
notoria
cc8f074d33
Added Space for continuation
2020-04-18 14:16:46 -06:00
notoria
196d74c3a0
Fixed the predicate name when error is thrown
2020-04-18 14:16:46 -06:00
Markus Triska
f28e87b240
instead of a type error, use a domain error
...
The preceding use of atom_length/2 already ensures that C has the
correct type (i.e., atom). However, its domain may still be wrong,
if its length is greater than 1.
2020-04-18 14:16:46 -06:00
Markus Triska
2d77ef4245
use get_single_char/1
2020-04-18 14:16:46 -06:00
notoria
3f578e24b5
Removed $raw_input_read_char
2020-04-18 14:16:46 -06:00
notoria
fb5ee5e190
get_single_char reads Tab as \t
2020-04-18 14:16:46 -06:00
notoria
63e8378310
get_single_char reads Enter as \n
2020-04-18 14:16:46 -06:00
notoria
c24ebaf506
Moved get_single_char from builtins.pl to charsio.pl
2020-04-18 14:16:46 -06:00
notoria
d3a1f11dfe
Added predicate for reading a single character
2020-04-18 14:16:46 -06:00
Mark Thom
f96e694ff8
bracket graphic token chars in toplevel.pl ( #357 )
2020-04-18 14:16:40 -06:00
Mark Thom
d5d635e50f
slight tweaks to bimetatrans
2020-04-18 14:16:40 -06:00
Mark Thom
1ad4ce9822
index Constant::Usize ( #355 )
2020-04-18 14:16:40 -06:00
Mark Thom
3f971174e4
quote single dots only
2020-04-18 14:16:40 -06:00
Markus Triska
16e257ea32
ADDED: list_to_set/2, using the first occurrence of each element
...
Example:
?- list_to_set([B,a,b,a,B,A,b,A], Ls).
Ls = [B,a,b,A]
; false.
2020-04-18 14:16:40 -06:00
Mark Thom
37f1f8ac14
allow characters as atoms in Machine::use_module and Machine::use_qualified_module
2020-04-18 14:16:40 -06:00
Mark Thom
474fa9b3ec
remove underscores in printed variables produced by write_term_to_chars ( #340 )
2020-04-18 14:16:40 -06:00
Mark Thom
6d7b14ceb5
don't count the terminator in PStrIter len
2020-04-18 14:16:40 -06:00
Mark Thom
af14832b6c
quote dot when quoted(true) ( #349 )
2020-04-18 14:16:40 -06:00
Mark Thom
38bb44664c
interrupt running queries and return to toplevel ( #323 )
2020-04-18 14:16:40 -06:00
Mark Thom
124d924ff5
write [a,b,c] correctly with write_canonical ( #349 )
2020-04-18 14:16:40 -06:00
Mark Thom
c9074d8d96
properly iterate through UTF-8 strings ( #350 )
2020-04-14 23:14:47 -06:00
Mark Thom
f6c995157e
clean up print_list_like
2020-04-14 14:26:30 -06:00
Mark Thom
a059a9fbdc
print lists as strings when possible ( #295 )
2020-04-14 13:28:51 -06:00
Mark Thom
7799ed36f0
provide better variable names in write_term_to_chars/3 ( #340 )
2020-04-14 10:39:10 -06:00
Mark Thom
db5ed345bc
improve writeX performance ( #290 )
2020-04-14 10:25:05 -06:00
Mark Thom
082c6a9e64
copy operator exports to impromptu modules ( #307 )
2020-04-14 01:03:49 -06:00
Mark Thom
b74a4d5225
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-04-14 00:40:57 -06:00
Mark Thom
16a572c250
change from xsi to iso in bimetatrans, correct atomic/1 failure ( #343 )
2020-04-14 00:40:51 -06:00
Markus Triska
237c855f10
ADDED: group_pairs_by_key/2
...
Pairs must be keysorted and may also contain variables as keys.
Examples:
?- group_pairs_by_key([1-a,1-b,2-c], Ps).
Ps = [1-[a,b],2-[c]].
?- group_pairs_by_key([X-a,X-b,2-c], Ps).
Ps = [X-[a,b],2-[c]].
2020-04-14 00:10:33 +02:00
Mark Thom
378e9b5539
Merge pull request #327 from srenatus/sr/pass-argv-as-partial-strings
...
use partial strings for passing argv to toplevel.pl
2020-04-13 11:17:08 -03:00