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
Mark Thom
5d2b0377d8
reset attributed variables queue when backtracking ( #678 , etc.)
2021-09-27 19:12:24 -06:00
Mark Thom
f6d69b6051
reset attributed variables queue after successful verify_attributes interrupt ( #669 , etc)
2021-09-26 18:58:00 -06:00
Regan-Koopmans
72a7765b58
981 Reimplement as library system call
2021-06-17 12:10:25 +02:00
Mark Thom
87ef3519d9
Merge pull request #972 from pmoura/add_pid_predicate
...
Add pid/1 predicate to the os library
2021-05-19 14:09:21 -06:00
Paulo Moura
b9ad6f4fd2
Add pid/1 predicate to the os library
2021-05-18 20:05:30 +01:00
Paulo Moura
58555d598b
Add rename_file/2 predicate to the files library
2021-05-18 18:08:30 +01:00
Mark Thom
0eeae24049
Merge pull request #968 from pmoura/add_make_directory_path_predicate
...
Add make_directory_path/1 predicate to the files library
2021-05-18 10:26:06 -06:00
Paulo Moura
eeac3bc436
Add delete_directory/1 predicate to the files library
2021-05-18 08:41:19 +01:00
Paulo Moura
bdebc7f32e
Add make_directory_path/1 predicate to the files library
2021-05-18 00:21:11 +01:00
Paulo Moura
7a576ee36e
Fix bitwise shift functions type error in the second argument
2021-05-09 19:58:35 +01:00
Paulo Moura
3f4bbe9b9e
Add epsilon/0 arithmetic constant
2021-05-08 21:23:54 +01:00
Mark Thom
b968b2c438
add missing default RevJmpBy arm to thread_choice_instr_at_to (prompted by #922 )
2021-05-05 11:16:39 -06:00
Mark Thom
533d1ea9ab
set self.dynamic_mode to FirstOrNext::Next independently of succeed or failure in dynamic indexing instructions (prompted by #922 )
2021-05-04 20:56:25 -06:00
Mark Thom
c9e32c449a
correct assertz/1 bugs ( #922 )
2021-05-04 17:53:02 -06:00
Mark Thom
d9e42bfcba
fix incremental compilation and multifile bugs
2021-05-03 16:59:12 -06:00
Mark Thom
f552564fc1
import builtins to dynamically generated modules unless builtins is being defined
2021-05-02 11:01:17 -06:00
Mark Thom
b21a096516
add read/2 and nl/1 ( #896 )
2021-05-01 16:12:00 -06:00
Mark Thom
d0b25de554
add user_error stream ( #917 )
2021-04-30 21:58:03 -06:00
Mark Thom
bba836dc31
fail on undefined multifile/discontiguous/dynamic predicates ( #915 )
2021-04-30 21:46:50 -06:00
panasenco
0198fe90b6
Added ABNF grammar to library(charsio) as well as octet character type that it depends on. Modified library(json) to use the new ABNF grammar.
2021-04-27 22:48:03 -07:00
panasenco
061221b073
Alphabetized character logic in macros.rs and system_calls.rs
2021-04-27 14:01:49 -07:00
Mark Thom
7e4cfede7d
fix use of local skeletons to reload predicates ( #919 )
2021-04-27 02:01:00 -06:00
Mark Thom
290cb1b517
make retract_local_clauses safe, remove warning about overwriting warning in do_not_duplicate_path_components test
2021-03-23 12:37:43 -06:00
Mark Thom
7520fe7000
use occurs check when enabled in UnifyValue ( #885 )
2021-03-22 22:05:03 -06:00
Mark Thom
fffb87d013
flush loader term queue before compiling declarations, declare '/1' as dynamic before asserting
2021-03-22 16:53:23 -06:00
Mark Thom
0cb731c584
remove redundant retraction records for incremental compilation
2021-03-22 15:27:45 -06:00
Mark Thom
233faea200
compare the tails of partial string prefixes in compare_pstr_prefixes ( #883 )
2021-03-22 12:44:58 -06:00
Mark Thom
111de1462c
remove vestigial attribute goals struct field and related predicates
2021-03-21 12:06:53 -06:00
Mark Thom
665b1ad58a
Merge pull request #872 from notoria/charsio
...
Extend alnum, add forgotten graphic_token
2021-03-18 14:51:36 -06:00
Mark Thom
4623e9d7fc
fix findall/4 ( #873 )
2021-03-18 12:50:12 -06:00
Mark Thom
10af206024
make chars callable ( #713 )
2021-03-17 19:50:41 -06:00
Mark Thom
7937ccee30
check that a load context path is a filename before potentially returning it as a string
2021-03-17 18:58:33 -06:00
notoria
f4be0cf4b3
Extend alnum, add forgotten graphic_token
2021-03-17 20:47:09 +01:00
Mark Thom
5f7abda22d
remove operators declared at user-level from files when reloading
2021-03-16 18:30:34 -06:00
Mark Thom
51424aed32
clear user-level definitions when reloading a file ( #455 )
2021-03-16 02:30:09 -06:00
Mark Thom
914fb09ed0
don't warn about overwriting a clause asserted to a dynamic predicate whose clauses have all been retracted ( #870 )
2021-03-15 14:22:54 -06:00
Mark Thom
7ea7e5c951
remove intra-module predicates from module code directory when module is being re-defined ( #848 )
2021-03-13 23:22:24 -07:00
Skgland
d437609365
improve comment
2021-03-11 01:52:21 +01:00
Mark Thom
d4d47182b4
fix is_cyclic_term ( #864 )
2021-03-10 16:11:48 -07:00
Mark Thom
0a71e40030
qualify '$print_project_attributes_exception' call ( #857 )
2021-03-05 01:14:56 -07:00
Mark Thom
1b9db035ba
call project_attributes from top-level ( #846 )
2021-03-04 16:05:06 -07:00