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
Stephan Renatus
9e907e36e2
main: fix version reporting without git
...
Fixes #339 .
At least I hope so. I didn't come up with an idea how to test this with
little effort.
Signed-off-by: Stephan Renatus <srenatus@chef.io >
2020-04-13 15:50:33 +02:00
Markus Triska
ab9b604d02
the workaround is no longer necessary, since #336 is now corrected
2020-04-13 11:32:06 +02:00
Stephan Renatus
155645307a
use partial strings for passing argv to toplevel.pl
...
In run_top_level: rename variables, make them partial strings
The rename is mostly cosmetic: all of argv is passed, and if argv
contains flags, goals, etc, it's more than filenames.
Using partial strings instead of atom came from discussions about how to
pass goals in the CLI, and can thus be considered preliminary work for
that.
In toplevel.pl: convert partial string to atom before passing it to
`use_module`.
Signed-off-by: Stephan Renatus <srenatus@chef.io >
2020-04-13 10:10:10 +02:00
Mark Thom
02eb24cd57
correct partial string copying by resetting threshold to redirected partial string stubs to 0
2020-04-12 23:33:07 -06:00
Mark Thom
787fbe1bb6
use partial_string/1 in place of the removed string/1 in bimetatrans_ruleml.pl
2020-04-12 22:27:53 -06:00
Markus Triska
f52c9772a7
also include a newline in portray_clause/1
2020-04-13 01:24:15 +02:00
Markus Triska
208927544d
ADDED: provide a rudimentary version of portray_clause/1
...
At the moment, library(format) seems to be a fitting place.
In the eventual library organization, portray_clause/1 and
related predicates may be moved to their own dedicated library.
2020-04-13 01:04:52 +02:00
Mark Thom
0fad2f9953
make write_term_to_chars work with variable terms ( #335 )
2020-04-12 18:10:45 -06:00
Mark Thom
d3a9392421
provide read_term_from_chars/2 ( #334 )
2020-04-12 17:26:11 -06:00
Mark Thom
7621155a89
change wording of QueryCannotBePostedAsFact to QueryCannotBeDefinedAsFact, remove old commented code in read.rs
2020-04-12 16:01:53 -06:00
Markus Triska
c9f1a95343
ENHANCED: ~w now supports compound terms, and ~q is now also available
2020-04-12 19:56:01 +02:00
Mark Thom
f2cf0ec459
move write_term_to_chars/3 to src/prolog/lib/charsio.pl
2020-04-12 14:42:39 -06:00
Mark Thom
0380d70a46
add write_term_to_chars/3 to iso_ext.pl ( #288 )
2020-04-12 14:29:28 -06:00
Mark Thom
28099b9812
correct misleading error for modules ( #300 )
2020-04-12 12:51:59 -06:00