Markus Triska
79829cb6d2
ADDED: library(sgml), providing load_html/3 to parse HTML documents
2020-06-19 16:40:01 +02: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
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
Markus Triska
862197fc96
explain .scryerrc configuration file
2020-06-13 16:47:02 +02:00
Mark Thom
2c6b615b8c
fix broken links in README ( #591 )
2020-06-13 10:46:53 -06:00
Markus Triska
44ebd894d5
ADDED: portray_clause/2, writing to a specified stream.
2020-06-13 16:45:47 +02: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
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
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
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
7cc92ec1c1
ADDED: Logo.
...
Motivation and considerations:
- A Scryer certainly needs a raven. Ravens are among the most
intelligent animals on earth.
- When writing Prolog programs, a few strokes are often enough.
- Purple is the colour most associated with magic and royalty,
indicating the almost surreal and pure features provided by Scryer,
in the lineage of Marseille Prolog.
- The shape of the silhouette looks a bit like an "S" for "Scryer".
- A square which surrounds the image is traditionally associated with
finishing a proof (square, Latin "quadratum", has the same starting
letters as "quod erat demonstrandum").
I call this raven: *Cryer*. Cryer is an archaic spelling for "crier",
an officer who makes public announcements in a court of justice.
The Prolog top-level likewise makes announcements about what is true.
2020-05-26 22:13:51 +02:00
panasenco
dadf1b6ff9
Phrasing
2020-05-22 14:01:10 -07:00
panasenco
db56bb92f0
Fixed link in Dockerfile documentation. Updated README with working Docker link. Made general improvements to the Docker section of the README now that I'm not in a sleep-deprived zombie state.
2020-05-22 13:57:48 -07:00
panasenco
e82e36f51e
Revert "Revert "Created and Tested Dockerfile""
...
This reverts commit e00d864199 .
2020-05-22 13:57:48 -07:00
Markus Triska
cbbed310c5
ADDED: format/3, writing formatted output to a stream
...
Both binary and text streams are supported.
2020-05-22 17:23:51 +02:00
Markus Triska
ad3be5c848
ADDED: Public key signatures and signature verification with Ed25519
2020-05-20 22:32:39 +02:00
Mark Thom
e00d864199
Revert "Created and Tested Dockerfile"
2020-05-19 11:59:06 -06:00
panasenco
a7fd3c50e5
Updated README with Docker install instructions
2020-05-17 20:50:34 -07:00
Markus Triska
862ae26631
Authenticated encryption in library(crypto), new encoding/1 option for hashes ( #515 )
...
* shorten n_newlines//1
* remove unneeded variable
* ADDED: authenticated encryption and decryption with ChaCha20-Poly1305
* ADDED: encoding/1 option for crypto_data_hash/3 and crypto_data_hkdf/4
2020-05-16 11:51:41 -06:00
Markus Triska
4e69301562
ADDED: Password-based key derivation (PBKDF2) ( #509 )
...
The new predicates crypto_password_hash/[2,3] let you store
passwords safely, and easily verify passwords later.
2020-05-15 10:49:23 -06:00
Markus Triska
50776748a7
ADDED: HMAC-based key derivation (HKDF) via crypto_data_hkdf/4
...
This is useful to generate keys and initialization vectors
from suitable input keying material, so that future predicates
for symmetric encryption can be used with appropriate parameters.
2020-05-14 20:07:59 +02:00
Markus Triska
4084005ee7
ADDED: Reasoning about elliptic curves in library(crypto).
...
This is useful to establish shared secrets, using ECDH key exchange.
Note that CLP(ℤ) goal expansion is currently disabled due to #445 ,
and this slows down the computations considerably for the time being.
2020-05-13 22:44:27 +02:00
Markus Triska
8cd7d08573
ADDED: crypto_data_hash/3, computing cryptographically secure digests
2020-05-13 19:23:09 +02:00
Mark Thom
22298ddb41
update README.md
2020-05-09 14:26:08 -06:00
Mark Thom
6f92480315
Merge pull request #418 from notoria/mediants
...
Documentation for arithmetic.pl
2020-04-29 18:53:00 -03:00
Mark Thom
dd4832e40b
add ordsets.pl to README
2020-04-29 18:42:17 -03:00
Markus Triska
b499c575bc
include library(arithmetic) in the overview
...
Many thanks to @notoria for these very useful predicates!
2020-04-29 22:06:49 +02:00
Markus Triska
20b76a703a
mention portray_clause/1 and listing/1
2020-04-28 18:27:46 +02:00
Markus Triska
dcc09b7bb5
mention backtrackable and non-backtrackable global variables
2020-04-28 18:22:18 +02:00
Markus Triska
5f35dffa34
if_ --> if_/3
2020-04-27 19:53:25 +02:00
Markus Triska
89a4b5a6ff
add more information about Constraint Logic Programming (CLP)
2020-04-27 19:48:46 +02:00
Markus Triska
ff41d6aef9
include the new library(random) in the overview
...
Many thanks to @notoria for this contribution!
2020-04-27 18:44:59 +02:00
Markus Triska
a167bcff5e
add library(cont) to the list
2020-04-26 21:57:37 +02:00
Markus Triska
fb812e6335
add more information about tabling
2020-04-26 21:57:37 +02:00
Markus Triska
b604177ca1
include library(pio) and library(charsio) in the description
2020-04-25 20:12:54 +02:00
Markus Triska
f27597cab5
update toplevel interaction
2020-04-25 20:12:54 +02:00
Markus Triska
23b8a4d364
add entry for time/1
2020-04-19 19:24:22 +02:00
Markus Triska
c0df8cb578
update answer to use the latest toplevel improvements
2020-04-19 19:18:47 +02: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
e8091d8add
update the toplevel description, incorporating the latest changes
2020-04-18 14:16:40 -06:00
Markus Triska
786f0b5ca2
incorporate the latest improvements in the description of partial strings
...
As of 6e4b76a3b4 , the use of
partial_string/3 can be replaced by (=)/2 in this example.
2020-04-12 20:46:22 +02:00
Markus Triska
fac6d54986
extend description of strings and partial strings
...
Also, explain in more detail what this feature means to Prolog
application programmers, and the strategic direction of Scryer.
2020-04-08 21:07:00 +02:00
Mark Thom
6299d41cda
mark clp(X) item as completed, restore clp(Z) library description
2020-04-05 21:26:27 -03:00
Markus Triska
8b1df2e9ca
ADDED: CLP(ℤ), Constraint Logic Programming over Integers
...
library(clpz) implements declarative integer arithmetic.
The most important predicates for reasoning about integers are:
(#=)/2 equality
(#\=)/2 disequality
(#<)/2 less than
(#>)/2 greater than
(#=<)/2 less than or equal to
(#>=)/2 greater than or equal to
In addition, the library provides several global constraints, such as
all_distinct/1 and global_cardinality/2, and reification predicates
that reflect the truth values of constraints into integer variables.
Enumeration predicates such label/1 and labeling/2 can be used to
search for solutions over finite domains.
Almost all Prolog programs also reason about integers. Therefore, I
recommend to add this library to your .scryerrc configuration file so
that declarative integer arithmetic is available in all your programs.
More information about CLP(ℤ):
https://www.metalevel.at/prolog/clpz
Enjoy!
2020-04-06 01:59:41 +02:00
Markus Triska
b9561ec8db
update toplevel interaction
2020-03-17 17:42:57 +01:00
Markus Triska
e2a4854bcf
include a short overview of notable libraries
2020-03-15 11:43:32 +01:00
Mark Thom
23e833c69e
update README.md
2020-03-08 18:02:06 -06:00
Mark Thom
b2cf6a6ea8
update README
2020-02-29 15:23:48 -07:00
Mark Thom
1d79e22468
mention rustup.rs in README ( #261 )
2020-02-23 13:22:56 -07:00