Adrián Arroyo Calle
07bc97fb31
fix socket_client_open/3
2022-01-08 23:31:32 +01:00
Mark Thom
a54e42961c
unify current time as a complete string, not an atom ( #1175 )
2022-01-08 11:47:35 -07:00
Mark Thom
06313cac64
update README.md
2022-01-07 00:17:17 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
3db86f1e25
relocate most instruction routines from MachineState to Machine
2022-01-06 21:46:23 -07:00
Mark Thom
6f9b6a29c4
remove LocalCodePtr::IndexingBuf
2022-01-06 21:44:41 -07:00
Mark Thom
708c3bc3ce
dereference first argument of (is)/2
2022-01-06 21:44:41 -07:00
Mark Thom
4211151fe6
fix unify_float
2022-01-06 21:44:41 -07:00
Mark Thom
b24df6e195
properly iterate over read terms in MachineState::read_term
2022-01-06 21:44:41 -07:00
Mark Thom
bcd33dc8e3
get test suite working
2022-01-06 21:44:41 -07:00
Mark Thom
520121b2b2
remove skeletons from replaced modules
2022-01-06 21:44:41 -07:00
Mark Thom
48c1d05151
use heap_loc to refer to 0-arity atom instead of str_loc
2022-01-06 21:44:41 -07:00
Mark Thom
8ba61a1da1
defer installation of inference counter for call_with_inference_limit til after goals expanded
2022-01-06 21:44:41 -07:00
Mark Thom
cd129e32a7
fix bugs revealed by src/tests/builtins.pl
2022-01-06 21:44:41 -07:00
Mark Thom
2b3e43f160
start to retune testing infrastructure
2022-01-06 21:44:41 -07:00
Mark Thom
d7bf04d2c0
fix off by one bug in system_calls
2022-01-06 21:44:41 -07:00
Mark Thom
4cde8cd501
fix bug in error_form
2022-01-06 21:44:41 -07:00
Mark Thom
fb4e627e62
fix various partial string bugs (copying using them in arg/3)
2022-01-06 21:44:41 -07:00
Mark Thom
ef3a97cedd
detect attributed variables by properly detecting them in copy_term/2
2022-01-06 21:44:41 -07:00
Mark Thom
1a86ad5cec
upgrade rustyline
2022-01-06 21:44:41 -07:00
Mark Thom
529c401eee
don't allow [] as a stream alias, restore domain error on source sink for open/{3,4}
2022-01-06 21:44:41 -07:00
Mark Thom
a87236fea2
keep cursor position after writing to byte stream
2022-01-06 21:44:41 -07:00
Mark Thom
975c1ca62c
fix stream errors
2022-01-06 21:44:41 -07:00
Mark Thom
d02b9d848c
break from loop upon successful peek in peek_char/1 and peek_code/1
2022-01-06 21:44:41 -07:00
Mark Thom
f340f9ac94
break from loop in get_code upon successful character read
2022-01-06 21:44:41 -07:00
Mark Thom
10bb6ab3bb
restore old thread_goals to fix top-level solutions printing bug
2022-01-06 21:44:41 -07:00
Mark Thom
4af57b0dd3
fix HeapPStrIter bug not recognizing nil focus if PStrLoc points to PStrOffset to CStr
2022-01-06 21:44:41 -07:00
Mark Thom
bc613eeff9
fix number not recognizing floats
2022-01-06 21:44:41 -07:00
Mark Thom
073f281f1e
fix arg/3 bug
2022-01-06 21:44:41 -07:00
Mark Thom
3355b49724
add bounds check for attributed variables slice
2022-01-06 21:44:41 -07:00
Mark Thom
0e2db4a23e
tag DCG constructs with module names for proper resolution
2022-01-06 21:44:41 -07:00
Mark Thom
addc817cca
break from get_char loop after successful char unification
2022-01-06 21:44:41 -07:00
Mark Thom
a0a86d0f62
unmark cell bits in occurs check
2022-01-06 21:44:41 -07:00
Mark Thom
b24e7cce38
support comparison and unification of cyclic partial strings
2022-01-06 21:44:41 -07:00
Mark Thom
ffd1b7069f
greatly reduce the number of goal expansions done in callable if/then/else
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Mark Thom
9d06229cba
create read_term/3 variable lists in order of variable occurrence within terms
2021-12-23 13:31:49 -07:00
Markus Triska
7e8a635e7e
implement tls_client_negotiate/3 for explicit negotiation
2021-12-05 17:39:22 +01:00
Markus Triska
77c04c3a14
ADDED: Support for creating TLS servers.
...
The new predicates tls_server_context/2 and tls_server_negotiate/3 can
be used to negotiate TLS connections with clients for encrypted and
authenticated communication.
2021-12-03 16:45:27 +01:00
Adrián Arroyo Calle
86161ccf2a
Allow all kinds of string to be processed in open/4
2021-11-28 12:37:16 +01:00
Skgland
49e024bdd8
remove unused fields instead, prompting more dead_code removal
2021-11-11 19:32:35 +01:00
Skgland
7bc4876071
fix failing lint warnings in beta build
2021-11-11 18:53:08 +01:00
Mark Thom
1d2a838717
Merge pull request #1077 from pmoura/fix_get_code_predicates_at_end_of_file
...
Fix the get_code/1-2 predicates to return -1 at the end of stream as per standard
2021-11-07 09:40:29 -05:00
Mark Thom
0b2638b201
Merge pull request #1070 from triska/open_stream
...
ENHANCED: open/4 to allow opening a stream by specifying stream(S).
2021-11-07 09:39:41 -05:00
Paulo Moura
658b835a70
Fix the get_code/1-2 predicates to return -1 at the end of stream
2021-11-06 19:41:25 +00:00
Markus Triska
f668640e3d
move error handling to Prolog by using the new '$first_non_octet'/2
2021-11-04 18:35:22 +01:00
Markus Triska
afcd44deaa
ENHANCED: open/4 to allow opening a stream by specifying stream(S).
...
This allows switching standard output to binary, using for example:
?- current_output(S0), open(stream(S0), write, S, [type(binary)]).
format/3 can then be used to write binary data to S. This is needed
for example when piping binary data to other programs.
This addresses #614 , please read the discussion for more information.
The current implementation is very preliminary: Specifically, it works
by destructively modifiying the parameters of the underlying stream,
making it no longer usable in its original mode. Currently, if the
type of standard output is set to binary, then the toplevel no longer
works. Therefore, after writing binary output to standard output,
the program should either halt, or set the stream type back to text.
2021-11-04 18:33:40 +01:00
Markus Triska
494bd7b79c
ADDED: '$first_non_octet'/2, for much more efficient domain checks in library(crypto).
...
'$first_non_octet'(Cs, C) <=> C is the leftmost character in the
string Cs whose character code is not in 0..255.
2021-11-04 00:12:00 +01:00
Paulo Moura
495025dafb
Add support for the float_integer_part/1 and float_fractional_part/1 standard arithmetic functions
2021-10-24 09:10:38 +01:00
Adrián Arroyo Calle
391cda919f
Implement shell/1 and shell/2
2021-10-11 22:35:05 +02:00