Mark Thom
cfd15f4e02
allow paths in use_module(library(..)) ( #604 )
2020-06-19 00:57:56 -06:00
Mark Thom
1f9ff2dd88
clarify meaning of AssertItems and QueryItems in BiMetaTrans source-level documentation
2020-06-18 23:47:54 -06:00
Mark Thom
7740a39a4d
Merge pull request #602 from triska/put_char
...
put_char/[1,2]: throw type errors for atoms that are not characters
2020-06-18 12:16:47 -03:00
Markus Triska
5eda2dfe0e
put_char/[1,2]: throw type errors for atoms that are not characters
...
Example:
?- put_char(hello).
%@ caught: error(type_error(character,hello),put_char/2)
2020-06-18 00:15:00 +02:00
Mark Thom
1509c6a471
Merge pull request #597 from triska/faster_format
...
ENHANCED: much faster format/3 for text streams
2020-06-17 18:48:49 -03:00
Markus Triska
19acd608a5
ADDED: library(http/http_open), opening HTTP and HTTPS streams for reading
...
Example:
?- http_open("https://github.com/mthom/scryer-prolog ", Stream, []),
length(Ls, 10),
maplist(get_char(Stream), Ls).
Yielding:
%@ Stream = '$stream'(0x7fba4c59ef10), Ls = "\n\n\n\n\n<!DOC"
%@ ; false.
2020-06-17 20:10:22 +02:00
Mark Thom
bc81ff28d8
cover Addr::Fixnum when not referenced as an Addr::Con, undefine dynamic predicate definitions from within modules too ( #588 )
2020-06-16 19:03:07 -06:00
Mark Thom
ba867e95c3
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-06-16 18:47:53 -06:00
Mark Thom
53f99ca434
fix copy_partial_string bug ( #572 )
2020-06-16 18:47:39 -06:00
Markus Triska
8958ea036e
ENHANCED: much faster format/3 for text streams
...
This is now also used by format/2 to emit output on the terminal,
and significantly speeds up toplevel output of long strings.
2020-06-16 21:13:03 +02:00
Mark Thom
d3563c30e7
Merge pull request #590 from triska/read_line_to_chars
...
ADDED: read_line_to_chars/3, reading up to and including "\n" from a stream
2020-06-16 00:06:01 -03:00
Mark Thom
0f017339b7
change the plurality of AssertItem(s), QueryItem(s) in bimetatrans.pl
2020-06-15 16:38:27 -06:00
Mark Thom
4d3a3d806f
Merge pull request #595 from triska/faster_format
...
ENHANCED: faster format/3 when writing to binary streams
2020-06-14 12:37:06 -03:00
Markus Triska
10a0f708b9
use format/3 to benefit from efficiency improvements
2020-06-14 10:51:24 +02:00
Markus Triska
409d3c168d
ENHANCED: faster format/3 when writing to binary streams
...
This is also more secure, since it does not change the atom table
and therefore leaves little trace of what was processed.
2020-06-14 10:43:25 +02:00
Mark Thom
005220b6d4
Merge pull request #589 from triska/lazy_pio
...
ENHANCED: Read more characters at once, significantly speeding up library(pio)
2020-06-13 21:09:19 -03:00
Mark Thom
8462b039d3
Merge pull request #593 from triska/portray_clause
...
ADDED: portray_clause/2, writing to a specified stream.
2020-06-13 21:08:54 -03:00
Mark Thom
2e3cabce6b
Merge pull request #594 from triska/scryerrc
...
explain .scryerrc configuration file
2020-06-13 17:55:32 -03:00
Mark Thom
2c6b615b8c
fix broken links in README ( #591 )
2020-06-13 10:46:53 -06:00
Markus Triska
f910e013a6
use take() for extra fast processing of binary files
...
Suggested by @notoria in #589 . Many thanks!
2020-06-13 16:47:46 +02:00
Markus Triska
5f1b03261c
better naming: str --> string
...
Suggested by @notoria in #589 . Many thanks!
2020-06-13 16:47:46 +02:00
Markus Triska
862197fc96
explain .scryerrc configuration file
2020-06-13 16:47:02 +02:00
Markus Triska
44ebd894d5
ADDED: portray_clause/2, writing to a specified stream.
2020-06-13 16:45:47 +02:00
Markus Triska
b85ff7db36
ENHANCED: Read more characters at once, significantly speeding up library(pio).
2020-06-13 16:25:41 +02:00
Markus Triska
22fd216de5
ADDED: read_line_to_chars/3, reading up to and including "\n" from a stream, yielding a list difference.
...
This works for both binary and text streams.
2020-06-13 09:14:44 +02:00
Mark Thom
2f02c428cc
rename bimetatrans example files and directory
2020-06-12 18:32:48 -06:00
Mark Thom
1732413ee1
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-06-12 18:28:07 -06:00
Mark Thom
33325f1574
remove vestigial prolog/ directory ( #444 )
2020-06-12 18:26:38 -06:00
Mark Thom
4f288c6fd9
Merge pull request #587 from triska/lazy_pio
...
ENHANCED: phrase_from_file/[2,3] now read the file lazily.
2020-06-12 11:24:52 -03:00
Mark Thom
5ffb4597b3
add missing ! in int_pow ( #580 )
2020-06-11 22:28:05 -06:00
Mark Thom
d9de38b935
adjust the tail created by CreatePartialString to point to the last cell it pushed to the heap ( #586 )
2020-06-11 21:25:20 -06:00
Mark Thom
ad459b83c0
credit Ulrich Neumerkel for partial strings in README
2020-06-11 21:24:20 -06:00
Markus Triska
d96ea6b815
include library(pio) and library(charsio) in the itemization
2020-06-12 00:02:41 +02:00
Markus Triska
40c3e31955
ENHANCED: phrase_from_file/[2,3] now read the file lazily.
...
This allows processing extremely large files. In addition, the
efficient string representation helps to reduce memory usage.
These features unleash the full power of Prolog for text processing,
the exact use case Prolog was designed for.
2020-06-12 00:02:41 +02:00
Mark Thom
f84c831cda
remove most cuts from bimetatrans_ruleml.pl
2020-06-11 12:22:35 -06:00
Mark Thom
904cf97f7d
fix printing of atoms like '.x' ( #585 )
2020-06-11 11:11:04 -06:00
Mark Thom
791e22dc24
eliminate unnecessary find_min_time_ predicate in least_time.pl example
2020-06-10 22:25:23 -06:00
Mark Thom
c82a0b3d2d
Merge pull request #582 from triska/format_time
...
ADDED: format_time//2 for describing strings involving dates and times
2020-06-10 20:21:44 -03:00
Markus Triska
2fc887724b
ADDED: format_time//2 for describing strings involving dates and times
...
current_time/1 yields the current system time as an opaque time stamp.
2020-06-11 00:55:38 +02:00
Mark Thom
e16762a137
scryer and prolog_parser version bump ( #581 )
2020-06-10 14:29:22 -06:00
Mark Thom
4a07ffac69
prolog_parser version bump, scryer version bump
2020-06-09 22:15:11 -06:00
Mark Thom
9331c4ce9e
Merge pull request #579 from triska/master
...
ENHANCED: throw Prolog exception on expired certificates
2020-06-09 18:56:29 -03:00
Markus Triska
184ef94e7e
ENHANCED: throw Prolog exception on expired certificates
...
Example:
?- socket_client_open('expired.badssl.com':443, S, [tls(true)]).
caught: error(permission_error(open,source_sink,'expired.badssl.com'),socket_client_open/3)
2020-06-09 23:01:28 +02:00
Mark Thom
d67740d44d
Merge pull request #577 from triska/tls
...
ADDED: Encrypted client connections in library(sockets) via new option tls/1.
2020-06-09 10:56:17 -03:00
Markus Triska
7b30daf88d
ADDED: Encrypted client connections in library(sockets) via new option tls/1.
...
Use tls(true) to negotiate an encrypted network connection via TLS.
2020-06-09 07:43:29 +02:00
Markus Triska
d5e76da475
ADDED: type checks for type boolean
2020-06-08 00:41:47 +02:00
Mark Thom
5d91c1af81
Merge pull request #578 from triska/format_improvements
...
Various improvements for format_//2
2020-06-07 19:36:16 -03:00
Mark Thom
bb013e78d2
Merge pull request #576 from triska/crypto_curve_scalar_mult
...
ENHANCED: Faster Rust-based crypto_curve_scalar_mult/4 using OpenSSL.
2020-06-07 19:34:12 -03:00
Markus Triska
c22816de08
type check for ~d and ~D specifiers
2020-06-08 00:09:55 +02:00
Markus Triska
9bb851d437
ENHANCED: format_//2 now evaluates arithmetic expressions for ~d, ~D, ~f, ~r and ~R
...
Example:
?- phrase(format_("~d", [1+2]), Cs).
Cs = "3"
; false.
2020-06-08 00:09:55 +02:00