Commit Graph
316 Commits
Author SHA1 Message Date
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
Adrián Arroyo Calle 391cda919f Implement shell/1 and shell/2 2021-10-11 22:35:05 +02:00
Adrián Arroyo Calle 47d811c250 use shutdown error values to throw exceptions in close stream 2021-09-30 00:10:03 +02:00
Adrián Arroyo Calle 4d0998ef72 launch exception if closing a closed TCP stream #1046 2021-09-28 22:48:51 +02:00