]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
6 years agoADDED: phrase_from_file/3 in library(pio)
Markus Triska [Tue, 19 May 2020 16:44:28 +0000 (18:44 +0200)]
ADDED: phrase_from_file/3 in library(pio)

This allows us to specify type(binary), and read from binary files
with DCGs.

6 years agoMerge pull request #517 from panasenco/docker
Mark Thom [Tue, 19 May 2020 14:30:08 +0000 (11:30 -0300)]
Merge pull request #517 from panasenco/docker

Created and Tested Dockerfile

6 years agocorrect fixnum overflow on negation (#528)
Mark Thom [Tue, 19 May 2020 16:45:54 +0000 (10:45 -0600)]
correct fixnum overflow on negation (#528)

6 years agoaccomodate \0\ in partial strings, print null as \0\ (#267, #526), update prolog...
Mark Thom [Tue, 19 May 2020 05:45:21 +0000 (23:45 -0600)]
accomodate \0\ in partial strings, print null as \0\ (#267, #526), update prolog parser, version bump

6 years agoadd Addr::Lis as case in PartialStringTail (#530)
Mark Thom [Mon, 18 May 2020 18:27:26 +0000 (12:27 -0600)]
add Addr::Lis as case in PartialStringTail (#530)

6 years agoMerge pull request #527 from triska/master
Mark Thom [Mon, 18 May 2020 14:18:58 +0000 (11:18 -0300)]
Merge pull request #527 from triska/master

Add type checks to increase robustness of library(crypto)

6 years agofix partial_string_tail panic (#530)
Mark Thom [Mon, 18 May 2020 17:14:27 +0000 (11:14 -0600)]
fix partial_string_tail panic (#530)

6 years agostronger validation of input lists for cryptographic routines
Markus Triska [Mon, 18 May 2020 11:28:52 +0000 (13:28 +0200)]
stronger validation of input lists for cryptographic routines

Example:

    ?- crypto_data_hkdf(Var, 32, Bs, []).
    caught: error(instantiation_error,must_be/2)

Reported by @notoria in #527. Many thanks!

6 years agocrypto_data_hkdf/4: Fail if the length is too long.
Markus Triska [Mon, 18 May 2020 11:21:20 +0000 (13:21 +0200)]
crypto_data_hkdf/4: Fail if the length is too long.

Due to the way the counter is constructed in the HKDF specification,
the requested output length can be at most 255 times the size of the
digest algorithm's output.

Reported by @notoria in #527. Many thanks!

6 years agocrypto_password_hash/3: fail if the number of iterations is too high
Markus Triska [Mon, 18 May 2020 11:11:39 +0000 (13:11 +0200)]
crypto_password_hash/3: fail if the number of iterations is too high

Discussed in #527.

6 years agocentralize reasoning about encoding
Markus Triska [Mon, 18 May 2020 09:29:35 +0000 (11:29 +0200)]
centralize reasoning about encoding

6 years agoraise instantiation errors for variable encoding
Markus Triska [Mon, 18 May 2020 09:21:38 +0000 (11:21 +0200)]
raise instantiation errors for variable encoding

Reported by notoria in #527.

Note that from a declarative perspective, it would indeed be valid to
give answers for both available encodings.

6 years agotype check for length argument in crypto_data_hkdf/4
Markus Triska [Mon, 18 May 2020 09:12:59 +0000 (11:12 +0200)]
type check for length argument in crypto_data_hkdf/4

Reported by @notoria in #527.

6 years agothrow instantiation error if the list of options contains a variable (#523)
Markus Triska [Mon, 18 May 2020 07:58:09 +0000 (09:58 +0200)]
throw instantiation error if the list of options contains a variable (#523)

Many thanks to @notoria for the test case!

6 years agoUpdated README with Docker install instructions
panasenco [Mon, 18 May 2020 03:49:44 +0000 (20:49 -0700)]
Updated README with Docker install instructions

6 years agoManaged to create a 77MB scryer-prolog Docker image
panasenco [Sun, 17 May 2020 04:04:45 +0000 (21:04 -0700)]
Managed to create a 77MB scryer-prolog Docker image

6 years agoNew Dockerfile based on Fredrik Park's blog post - compilation fails with linker...
panasenco [Sat, 16 May 2020 23:30:47 +0000 (16:30 -0700)]
New Dockerfile based on Fredrik Park's blog post - compilation fails with linker error

6 years agoCreated initial working Docker deployment
panasenco [Sat, 16 May 2020 22:57:50 +0000 (15:57 -0700)]
Created initial working Docker deployment

6 years agofix atom_codes (#521)
Mark Thom [Sun, 17 May 2020 22:34:52 +0000 (16:34 -0600)]
fix atom_codes (#521)

6 years agoadd Cargo.lock
Mark Thom [Sun, 17 May 2020 21:20:02 +0000 (15:20 -0600)]
add Cargo.lock

6 years agoeliminate Addr::CharCode (#519), fix atom_code panic (#521), fix failure involving...
Mark Thom [Sun, 17 May 2020 21:19:27 +0000 (15:19 -0600)]
eliminate Addr::CharCode (#519), fix atom_code panic (#521), fix failure involving lists of character codes (#520), bump version number

6 years agotype test for salt in crypto_password_hash/3
Markus Triska [Sun, 17 May 2020 20:01:22 +0000 (22:01 +0200)]
type test for salt in crypto_password_hash/3

6 years agosolve overflow of left arithmetic shift (#518)
Mark Thom [Sun, 17 May 2020 18:20:22 +0000 (12:20 -0600)]
solve overflow of left arithmetic shift (#518)

6 years agoupdate Cargo.lock
Mark Thom [Sun, 17 May 2020 05:13:57 +0000 (23:13 -0600)]
update Cargo.lock

6 years agoscryer version bump
Mark Thom [Sun, 17 May 2020 05:12:43 +0000 (23:12 -0600)]
scryer version bump

6 years agopropagate syntax errors from read_term when they're not UnexpectedEOF (#507)
Mark Thom [Sun, 17 May 2020 05:10:38 +0000 (23:10 -0600)]
propagate syntax errors from read_term when they're not UnexpectedEOF (#507)

6 years agofix sign error in shl on fixnum with n >= 63 (#499)
Mark Thom [Sun, 17 May 2020 05:00:37 +0000 (23:00 -0600)]
fix sign error in shl on fixnum with n >= 63 (#499)

6 years agocorrect for second argument when (is)/2 is a tail call
Mark Thom [Sun, 17 May 2020 02:22:17 +0000 (20:22 -0600)]
correct for second argument when (is)/2 is a tail call

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sat, 16 May 2020 20:51:19 +0000 (14:51 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agorestore old clpz.pl
Mark Thom [Sat, 16 May 2020 20:51:04 +0000 (14:51 -0600)]
restore old clpz.pl

6 years agoEnhanced Travis-CI (#512)
notoria [Sat, 16 May 2020 17:51:53 +0000 (19:51 +0200)]
Enhanced Travis-CI (#512)

6 years agoAuthenticated encryption in library(crypto), new encoding/1 option for hashes (#515)
Markus Triska [Sat, 16 May 2020 17:51:41 +0000 (19:51 +0200)]
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

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sat, 16 May 2020 04:51:24 +0000 (22:51 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agocorrect mishandled Addr::CharCode case in eq_test (#505)
Mark Thom [Sat, 16 May 2020 04:51:18 +0000 (22:51 -0600)]
correct mishandled Addr::CharCode case in eq_test (#505)

6 years agoADDED: Password-based key derivation (PBKDF2) (#509)
Markus Triska [Fri, 15 May 2020 16:49:23 +0000 (18:49 +0200)]
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.

6 years agoWork in progress: add char_utf8bytes (#493)
Matthieu Wipliez [Fri, 15 May 2020 16:05:04 +0000 (18:05 +0200)]
Work in progress: add char_utf8bytes (#493)

* Add char_utf8bytes to library

* Improved implementation

* Improve code + add chars predicate

* Update example

* Renamed string_utf8bytes to char_utf8bytes

6 years agofix existence_error in atom_chars/2, atom_codes/2 (#504, #506)
Mark Thom [Fri, 15 May 2020 04:33:28 +0000 (22:33 -0600)]
fix existence_error in atom_chars/2, atom_codes/2 (#504, #506)

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Fri, 15 May 2020 04:25:50 +0000 (22:25 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agoimplement (div)/2 properly (#435)
Mark Thom [Fri, 15 May 2020 04:25:39 +0000 (22:25 -0600)]
implement (div)/2 properly (#435)

6 years agoMerge pull request #502 from triska/hkdf
Mark Thom [Thu, 14 May 2020 18:13:32 +0000 (15:13 -0300)]
Merge pull request #502 from triska/hkdf

ADDED: HMAC-based key derivation (HKDF) via crypto_data_hkdf/4

6 years agoADDED: HMAC-based key derivation (HKDF) via crypto_data_hkdf/4
Markus Triska [Thu, 14 May 2020 18:07:59 +0000 (20:07 +0200)]
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.

6 years agoMerge pull request #501 from triska/elliptic_curves
Mark Thom [Wed, 13 May 2020 23:58:39 +0000 (20:58 -0300)]
Merge pull request #501 from triska/elliptic_curves

ADDED: Reasoning about elliptic curves in library(crypto).

6 years agoADDED: Reasoning about elliptic curves in library(crypto).
Markus Triska [Wed, 13 May 2020 18:50:54 +0000 (20:50 +0200)]
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.

6 years agoMerge pull request #500 from triska/master
Mark Thom [Wed, 13 May 2020 20:39:24 +0000 (17:39 -0300)]
Merge pull request #500 from triska/master

ADDED: ripemd160 digest algorithm

6 years agoADDED: ripemd160 digest algorithm
Markus Triska [Wed, 13 May 2020 18:36:25 +0000 (20:36 +0200)]
ADDED: ripemd160 digest algorithm

This is used for example for Bitcoin address generation.

6 years agoMerge pull request #496 from triska/master
Mark Thom [Wed, 13 May 2020 20:32:46 +0000 (17:32 -0300)]
Merge pull request #496 from triska/master

ADDED: crypto_data_hash/3, computing cryptographically secure digests

6 years agoMerge pull request #498 from notoria/between
Mark Thom [Wed, 13 May 2020 20:32:31 +0000 (17:32 -0300)]
Merge pull request #498 from notoria/between

Enhanced between/3

6 years agoEnhanced between/3
notoria [Wed, 13 May 2020 19:19:47 +0000 (21:19 +0200)]
Enhanced between/3

6 years agoADDED: crypto_data_hash/3, computing cryptographically secure digests
Markus Triska [Wed, 13 May 2020 17:13:20 +0000 (19:13 +0200)]
ADDED: crypto_data_hash/3, computing cryptographically secure digests

6 years agoresolve warning messages (#495)
Mark Thom [Wed, 13 May 2020 02:36:21 +0000 (20:36 -0600)]
resolve warning messages (#495)

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Wed, 13 May 2020 02:28:42 +0000 (20:28 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agothrow existence_error on failed put_byte write (#492)
Mark Thom [Wed, 13 May 2020 02:28:39 +0000 (20:28 -0600)]
throw existence_error on failed put_byte write (#492)

6 years agodo not unwrap stream write, TcpStream::shutdown results (#492)
Mark Thom [Wed, 13 May 2020 00:51:34 +0000 (18:51 -0600)]
do not unwrap stream write, TcpStream::shutdown results (#492)

6 years agoreturn true on unmatching partial strings in eq_test to indicate failure (#491)
Mark Thom [Wed, 13 May 2020 00:22:41 +0000 (18:22 -0600)]
return true on unmatching partial strings in eq_test to indicate failure (#491)

6 years agoMerge pull request #494 from triska/master
Mark Thom [Tue, 12 May 2020 22:44:07 +0000 (19:44 -0300)]
Merge pull request #494 from triska/master

ADDED: crypto_n_random_bytes/2, creating cryptographically secure random bytes

6 years agoADDED: crypto_n_random_bytes/2, creating cryptographically secure random bytes
Markus Triska [Tue, 12 May 2020 22:22:17 +0000 (00:22 +0200)]
ADDED: crypto_n_random_bytes/2, creating cryptographically secure random bytes

The ring crate is used since it will be needed also for future
predicates in library(crypto).

6 years agoreset current input in ReadQueryTerm
Mark Thom [Mon, 11 May 2020 21:29:28 +0000 (15:29 -0600)]
reset current input in ReadQueryTerm

6 years agorecord names of variables at root in write_term_to_heap (#487)
Mark Thom [Mon, 11 May 2020 03:48:38 +0000 (21:48 -0600)]
record names of variables at root in write_term_to_heap (#487)

6 years agofix at_end_of_stream/1 (#479)
Mark Thom [Sun, 10 May 2020 22:06:15 +0000 (16:06 -0600)]
fix at_end_of_stream/1 (#479)

6 years agochange VarNames to VNNames (#476)
Mark Thom [Sun, 10 May 2020 21:54:53 +0000 (15:54 -0600)]
change VarNames to VNNames (#476)

6 years agouse heap_pstr_iter in AtomChars (#482)
Mark Thom [Sun, 10 May 2020 21:46:51 +0000 (15:46 -0600)]
use heap_pstr_iter in AtomChars (#482)

6 years agoset past end of stream, set Byte to -1, Char and Code to end_of_file, at end of strea...
Mark Thom [Sun, 10 May 2020 20:50:17 +0000 (14:50 -0600)]
set past end of stream, set Byte to -1, Char and Code to end_of_file, at end of stream (#479)

6 years agoderef addr's in list of atom_codes (#484)
Mark Thom [Sun, 10 May 2020 20:33:56 +0000 (14:33 -0600)]
deref addr's in list of atom_codes (#484)

6 years agocorrect failed partial string matching (#483)
Mark Thom [Sun, 10 May 2020 20:00:49 +0000 (14:00 -0600)]
correct failed partial string matching (#483)

6 years agoeliminate duplicates in term_variables/2, term_attributed_variables/2 (#481)
Mark Thom [Sun, 10 May 2020 19:43:39 +0000 (13:43 -0600)]
eliminate duplicates in term_variables/2, term_attributed_variables/2 (#481)

6 years agofix position property in stream_property/2 (#477)
Mark Thom [Sun, 10 May 2020 19:35:48 +0000 (13:35 -0600)]
fix position property in stream_property/2 (#477)

6 years agoplace cut after infinitely expanding VarList in write_term_to_chars/3 (#476)
Mark Thom [Sun, 10 May 2020 19:30:30 +0000 (13:30 -0600)]
place cut after infinitely expanding VarList in write_term_to_chars/3 (#476)

6 years agochange wrong at_end_of_stream value 'end' to 'at' (#479)
Mark Thom [Sun, 10 May 2020 19:24:45 +0000 (13:24 -0600)]
change wrong at_end_of_stream value 'end' to 'at' (#479)

6 years agodetect source_sink domain error in open/4 (#480)
Mark Thom [Sun, 10 May 2020 19:19:14 +0000 (13:19 -0600)]
detect source_sink domain error in open/4 (#480)

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sun, 10 May 2020 02:08:09 +0000 (20:08 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agoincrease prolog_parser version
Mark Thom [Sun, 10 May 2020 02:07:57 +0000 (20:07 -0600)]
increase prolog_parser version

6 years agoMerge pull request #475 from notoria/debug
Mark Thom [Sat, 9 May 2020 21:35:16 +0000 (18:35 -0300)]
Merge pull request #475 from notoria/debug

Debug & warnings

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sat, 9 May 2020 21:05:09 +0000 (15:05 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agohalt on Ctrl-D in toplevel (#473)
Mark Thom [Sat, 9 May 2020 21:04:30 +0000 (15:04 -0600)]
halt on Ctrl-D in toplevel (#473)

6 years agoRemoved the warnings
notoria [Sat, 9 May 2020 20:30:39 +0000 (22:30 +0200)]
Removed the warnings

6 years agoImplemented Debug for the new data structures
notoria [Sat, 9 May 2020 20:28:32 +0000 (22:28 +0200)]
Implemented Debug for the new data structures

6 years agoMerge branch 'sockets-develop'
Mark Thom [Sat, 9 May 2020 20:26:29 +0000 (14:26 -0600)]
Merge branch 'sockets-develop'

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sat, 9 May 2020 20:26:22 +0000 (14:26 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agoupdate README.md
Mark Thom [Sat, 9 May 2020 20:26:08 +0000 (14:26 -0600)]
update README.md

6 years agoadd set_stream_position/2
Mark Thom [Sat, 9 May 2020 20:20:32 +0000 (14:20 -0600)]
add set_stream_position/2

6 years agoMerge pull request #474 from triska/radix
Mark Thom [Sat, 9 May 2020 18:09:14 +0000 (15:09 -0300)]
Merge pull request #474 from triska/radix

ADDED: ~Nr and ~NR are now available for radix conversions

6 years agoMerge pull request #471 from triska/master
Mark Thom [Sat, 9 May 2020 17:33:58 +0000 (14:33 -0300)]
Merge pull request #471 from triska/master

ADDED: Initial version of library(crypto).

6 years agoADDED: ~Nr and ~NR are now available for radix conversions
Markus Triska [Sat, 9 May 2020 17:19:03 +0000 (19:19 +0200)]
ADDED: ~Nr and ~NR are now available for radix conversions

6 years agoadd at_end_of_stream/{0,1}
Mark Thom [Sat, 9 May 2020 07:38:23 +0000 (01:38 -0600)]
add at_end_of_stream/{0,1}

6 years agocarry past_end_of_stream in WrappedStreamInstance
Mark Thom [Sat, 9 May 2020 07:34:56 +0000 (01:34 -0600)]
carry past_end_of_stream in WrappedStreamInstance

6 years agoadd stream_property/2
Mark Thom [Sat, 9 May 2020 06:56:17 +0000 (00:56 -0600)]
add stream_property/2

6 years agoADDED: Initial version of library(crypto).
Markus Triska [Fri, 8 May 2020 19:58:56 +0000 (21:58 +0200)]
ADDED: Initial version of library(crypto).

6 years agoMerge pull request #468 from notoria/cont
Mark Thom [Thu, 7 May 2020 17:26:34 +0000 (14:26 -0300)]
Merge pull request #468 from notoria/cont

Enhanced shift/1

6 years agoEnhanced shift/1
notoria [Thu, 7 May 2020 16:51:49 +0000 (18:51 +0200)]
Enhanced shift/1

6 years agoadd peek_char/{1,2}, peek_byte/{1,2}, peek_code/{1,2}
Mark Thom [Wed, 6 May 2020 07:05:03 +0000 (01:05 -0600)]
add peek_char/{1,2}, peek_byte/{1,2}, peek_code/{1,2}

6 years agoadd sockets library, use new type_error function from sockets system calls
Mark Thom [Wed, 6 May 2020 04:57:06 +0000 (22:57 -0600)]
add sockets library, use new type_error function from sockets system calls

6 years agoadd put_code/{1,2}, get_code/{1,2}, improve get_* predicates
Mark Thom [Wed, 6 May 2020 04:42:35 +0000 (22:42 -0600)]
add put_code/{1,2}, get_code/{1,2}, improve get_* predicates

6 years agoadd put_byte/{1,2}, put_char/{1,2}
Mark Thom [Tue, 5 May 2020 23:42:18 +0000 (17:42 -0600)]
add put_byte/{1,2}, put_char/{1,2}

6 years agocleanup on reading predicates, add get_char/{1,2}
Mark Thom [Tue, 5 May 2020 22:54:40 +0000 (16:54 -0600)]
cleanup on reading predicates, add get_char/{1,2}

6 years agoclean up stream error handling, add get_byte/{1,2}
Mark Thom [Tue, 5 May 2020 22:09:17 +0000 (16:09 -0600)]
clean up stream error handling, add get_byte/{1,2}

6 years agochange EOFCode eof_action from end_of_stream to end_of_file, add echo_server.pl example
Mark Thom [Tue, 5 May 2020 20:15:16 +0000 (14:15 -0600)]
change EOFCode eof_action from end_of_stream to end_of_file, add echo_server.pl example

6 years agoadd flush_output/{0,1}, past_end_of_stream
Mark Thom [Tue, 5 May 2020 20:10:49 +0000 (14:10 -0600)]
add flush_output/{0,1}, past_end_of_stream

6 years agoMerge pull request #460 from notoria/get_single_char
Mark Thom [Tue, 5 May 2020 17:10:24 +0000 (14:10 -0300)]
Merge pull request #460 from notoria/get_single_char

Fixed ctrl-c issue with get_single_char/1

6 years agoFixed ctrl-c issue with get_single_char/1
notoria [Tue, 5 May 2020 16:30:42 +0000 (18:30 +0200)]
Fixed ctrl-c issue with get_single_char/1

6 years agoadd close/{1,2}, better EOF action handling in read_term
Mark Thom [Tue, 5 May 2020 06:38:21 +0000 (00:38 -0600)]
add close/{1,2}, better EOF action handling in read_term