Markus Triska
c8a9f8dcf5
better domain error in format_//2
...
Example:
?- format("", [hello]).
caught: error(domain_error(empty_list,[hello]),format_//2)
2020-06-07 23:59:37 +02:00
Mark Thom
3b5730be54
s/prolog-implementation/prolog-system (cargo does not allow keywords to exceed 20 characters)
2020-06-04 23:29:48 -06:00
Mark Thom
961c4a1b9c
bump version number
2020-06-04 23:25:21 -06:00
Mark Thom
72c5908f09
update prolog_parser version, correct atom_chars/2 ( #379 )
2020-06-04 23:23:49 -06:00
Mark Thom
2a588ff943
remove double_quotes checks from unnecessary places in system_calls.rs and elsewhere ( #513 , #542 )
2020-06-04 21:03:41 -06:00
Mark Thom
24f11b5ae9
remove unreachable branch in increment_s_ptr ( #575 )
2020-06-03 22:05:46 -06:00
Mark Thom
1d44d99875
correct unexpected bad variables while ensuring better names are generated in order ( #571 )
2020-05-30 00:17:34 -06:00
Mark Thom
eebcdfb24f
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-05-27 11:11:37 -06:00
Mark Thom
526b56a650
order generation of variable names in attributed goals after toplevel variables ( #465 )
2020-05-27 11:11:26 -06:00
Mark Thom
20675f56e6
plug missing variables in equations ( #488 ), exclude/3 regression ( #452 ), incorrect answer substitution ( #326 )
2020-05-26 23:46:09 -06:00
Mark Thom
e5fbdeb3a9
Merge pull request #568 from triska/logo
...
How about an actual raven for a logo?
2020-05-27 00:19:41 -03: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
Mark Thom
fe0bf6f2ef
Merge pull request #524 from matt2xu/decode_utf8
...
Add decoding of UTF-8 sequences
2020-05-26 13:42:42 -03:00
Mark Thom
828c19d478
Merge pull request #563 from triska/master
...
ADDED: halt/1, halting with specified exit code
2020-05-23 16:02:05 -03:00
Mark Thom
15db77558c
throw evaluable type error for unrecognized atoms in arith_eval_by_metacall
2020-05-23 13:33:05 -06:00
Mark Thom
18cf4a3bd3
Add type errors where appropriate in arith_eval_by_metacall ( #392 )
2020-05-23 13:07:40 -06:00
Mark Thom
e0378acfc2
throw type_error(number, E) in arith_eval_by_metacall ( #392 )
2020-05-23 12:39:29 -06:00
Mark Thom
53cb2af202
(**)/2 should always evaluate to floating point ( #558 )
2020-05-23 12:24:00 -06:00
Mark Thom
f74005a166
update (^)/2 in light of Draft Technical Corrigendum 3 ( #559 )
2020-05-23 12:13:48 -06:00
Markus Triska
b0df981b01
ADDED: halt/1, halting with specified exit code
2020-05-23 19:28:17 +02:00
Mark Thom
888d844ec5
address arity discrepancies in builtins.n and call/N ( #525 )
v0.8.123
2020-05-22 23:57:32 -06:00
Mark Thom
3a7eb9fc0c
Merge pull request #560 from notoria/cargo
...
Added some informations in Cargo.toml
2020-05-22 23:43:06 -03:00
Mark Thom
46276aacd9
Merge pull request #557 from mthom/docker
...
Merge Master with Docker branch
2020-05-22 23:42:55 -03:00
notoria
3a7a29868f
Added some informations in Cargo.toml
2020-05-23 02:03:24 +02:00
Mark Thom
0060c8988a
use -1 as eof_code for binary streams ( #555 )
2020-05-22 15:58:07 -06:00
Mark Thom
458f482c2a
Merge pull request #556 from panasenco/docker
...
Valid Dockerfile and README
2020-05-22 18:54:10 -03:00
Matthieu Wipliez
cc9d6587a3
Implementation of UTF-8 bytes to chars
2020-05-22 23:33:12 +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
Mark Thom
f9aad34d28
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-05-22 14:50:51 -06:00
Mark Thom
b2d720b853
correct get_byte/1 not emitted -1 upon discovery of end_of_stream position ( #555 )
2020-05-22 14:50:40 -06:00
Mark Thom
c10c05e924
Merge pull request #552 from mthom/master
...
Scryer Dockerfile
2020-05-22 16:04:03 -03:00
Mark Thom
8909246725
Merge pull request #554 from triska/format3
...
ADDED: format/3, writing formatted output to a stream
2020-05-22 14:32:44 -03:00
Markus Triska
48c0b0ab3c
ENHANCED: Faster format/3 for binary streams.
...
This speeds up web servers considerably when sending binary files.
2020-05-22 17:30:29 +02: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
Mark Thom
9e9c3b6342
modify int_pow so that a power of -1 is valid ( #548 )
2020-05-21 22:33:22 -06:00
Mark Thom
fefd262c2e
Merge pull request #545 from triska/ed25519
...
ADDED: Public key signatures and signature verification with Ed25519
2020-05-21 11:30:47 -03:00
Markus Triska
1108c99688
document that lists of integers can be specified if encoding(octet) is used
...
This seems to be a good compromise: The API now strongly encourages
lists of characters, which are ideally suited to represent text, and
also allows lists of bytes if the encoding(octet) option is used.
2020-05-21 13:41:57 +02:00
Markus Triska
93da831ef0
correct mode indication for ed25519_verify/4
...
Noted by @notoria in #545 . Many thanks!
2020-05-21 01:27:06 +02:00
Markus Triska
72bf45912e
"PrivateKey" --> "KeyPair"
2020-05-21 00:14:15 +02:00
Markus Triska
5d94276c4f
remove several mentions of list of bytes in predicate descriptions
...
This is to focus more on the intended core representation of text: In
Prolog, text is ideally represented as a list of characters, and this
is what we want to encourage, especially given Scryer's compact
representation for strings.
For the time being, library(crypto) still also supports lists of bytes in
several predicates. This will likely be removed at some point in the
future. Please use lists of characters to make your code future-proof.
2020-05-21 00:07:42 +02:00
Markus Triska
b43f27030e
require PKCS#8 v2 format for better security
...
Notably, this format requires that the public key also be present.
This format is what ed25519_new_keypair/1 generates, and it is
strongly encouraged for higher security.
2020-05-20 23:55:21 +02:00
Markus Triska
2845f55157
ADDED: ed25519_keypair_public_key/2, relating a key pair to its public key
2020-05-20 23:43:28 +02:00
Markus Triska
e254d84710
clarify format of public key
2020-05-20 23:17:42 +02:00
Markus Triska
0ef7b5488d
ADDED: ed25519_new_keypair/1 to dynamically create a new Ed25519 key pair
2020-05-20 23:11:56 +02:00
Markus Triska
56b04f8df8
use LessSafeKey to simplify the implementation of authenticated encryption
...
The nonce is explicitly specified, and the application programmer
must (and always had to) ensure that it is unique for a given key.
2020-05-20 22:32:39 +02:00
Markus Triska
2d036c6b25
"codes" --> "bytes"
...
Support for lists of bytes may be dropped from library(crypto). Use
lists of characters to make your code future-proof. Lists of
characters will always be supported due to their compactness,
and because Prolog applications should move towards characters.
2020-05-20 22:32:39 +02:00
Markus Triska
ad3be5c848
ADDED: Public key signatures and signature verification with Ed25519
2020-05-20 22:32:39 +02:00
Mark Thom
a0544cc345
revert printing of characters
2020-05-19 17:34:55 -06:00