]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
5 years agoENHANCED: library(crypto): Retain the compact representation of strings.
Markus Triska [Sun, 12 Jul 2020 08:07:56 +0000 (10:07 +0200)]
ENHANCED: library(crypto): Retain the compact representation of strings.

This avoids the costly (in terms of space requirements!) conversion of
compact lists of characters to lists of integers, making hashing, HKDF,
encryption, decryption, signing and signature verification an order of
magnitude more efficient (primarily in terms of space, also in time).

This makes library(crypto) suitable to process also very large files.

5 years agoMerge pull request #625 from triska/os
Mark Thom [Sun, 12 Jul 2020 02:50:01 +0000 (23:50 -0300)]
Merge pull request #625 from triska/os

ADDED: library(os), reasoning about environment variables.

5 years agouse newly available character type in must_be/2
Markus Triska [Sat, 11 Jul 2020 17:52:01 +0000 (19:52 +0200)]
use newly available character type in must_be/2

5 years agoADDED: library(os), reasoning about environment variables.
Markus Triska [Sat, 11 Jul 2020 16:41:18 +0000 (18:41 +0200)]
ADDED: library(os), reasoning about environment variables.

Together with library(files), this addresses #511.

5 years agoslight update to the BiMetaTrans README
Mark Thom [Fri, 10 Jul 2020 21:22:15 +0000 (15:22 -0600)]
slight update to the BiMetaTrans README

5 years agoupdate bimetatrans tests
Mark Thom [Fri, 10 Jul 2020 16:26:48 +0000 (10:26 -0600)]
update bimetatrans tests

5 years agoadd bimetatrans README
Mark Thom [Fri, 10 Jul 2020 02:53:13 +0000 (20:53 -0600)]
add bimetatrans README

5 years agoMerge pull request #621 from notoria/tabling
Mark Thom [Fri, 3 Jul 2020 17:40:52 +0000 (14:40 -0300)]
Merge pull request #621 from notoria/tabling

Tabling

5 years agoEnhanced the implementation
notoria [Wed, 1 Jul 2020 11:14:12 +0000 (13:14 +0200)]
Enhanced the implementation

The restriction has been removed by using read_library_path from
cfd15f4e027b4df216e723bbd35facac28a09a1c.

5 years agoAllowing paths in use_module(library(..)) (#604)
notoria [Wed, 1 Jul 2020 08:22:17 +0000 (10:22 +0200)]
Allowing paths in use_module(library(..)) (#604)

In a module, the path is restricted in being an atom.

5 years agoRevert "allow paths in use_module(library(..)) (#604)"
notoria [Wed, 1 Jul 2020 08:07:26 +0000 (10:07 +0200)]
Revert "allow paths in use_module(library(..)) (#604)"

This reverts commit cfd15f4e027b4df216e723bbd35facac28a09a1c.

5 years agoRevert "build.rs recursively delves into directories during library bake stage, corre...
notoria [Wed, 1 Jul 2020 08:06:20 +0000 (10:06 +0200)]
Revert "build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 (#617)"

This reverts commit c1b577f2c7a148b13c1692ab8ac741aa57b0ac43.

5 years agoMerge pull request #606 from triska/files
Mark Thom [Tue, 30 Jun 2020 16:34:39 +0000 (13:34 -0300)]
Merge pull request #606 from triska/files

ADDED: library(files), for reasoning about files and directories.

5 years agobuild.rs recursively delves into directories during library bake stage, correct misna...
Mark Thom [Mon, 29 Jun 2020 06:58:10 +0000 (00:58 -0600)]
build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 (#617)

5 years agoMerge pull request #613 from cduret/csv_lib
Mark Thom [Sat, 27 Jun 2020 19:28:10 +0000 (16:28 -0300)]
Merge pull request #613 from cduret/csv_lib

add csv library

5 years agoadd csv library
Cyrille Duret [Thu, 25 Jun 2020 19:13:29 +0000 (21:13 +0200)]
add csv library

5 years agodirectory_files/2: throw representation error if into_string() fails
Markus Triska [Sat, 20 Jun 2020 08:12:14 +0000 (10:12 +0200)]
directory_files/2: throw representation error if into_string() fails

Suggested by @notoria in #606. Many thanks!

5 years agocomment on indexing, addressing a comment by @pmoura in #606
Markus Triska [Wed, 24 Jun 2020 20:29:22 +0000 (22:29 +0200)]
comment on indexing, addressing a comment by @pmoura in #606

If indexing is needed for lists of characters, it should be added to
the engine.

5 years agoADDED: library(files), for reasoning about files and directories.
Markus Triska [Fri, 19 Jun 2020 16:20:31 +0000 (18:20 +0200)]
ADDED: library(files), for reasoning about files and directories.

5 years agoMerge pull request #608 from triska/xml
Mark Thom [Mon, 22 Jun 2020 15:21:35 +0000 (12:21 -0300)]
Merge pull request #608 from triska/xml

ADDED: load_xml/3 to load XML files from streams, files and strings.

5 years agolibrary(format) is not used in this example
Markus Triska [Sun, 21 Jun 2020 07:44:57 +0000 (09:44 +0200)]
library(format) is not used in this example

5 years agoADDED: load_xml/3 to load XML files from streams, files and strings.
Markus Triska [Sun, 21 Jun 2020 06:35:08 +0000 (08:35 +0200)]
ADDED: load_xml/3 to load XML files from streams, files and strings.

5 years agoMerge pull request #607 from triska/xpath
Mark Thom [Sat, 20 Jun 2020 17:46:52 +0000 (14:46 -0300)]
Merge pull request #607 from triska/xpath

ADDED: library(xpath) for convenient analysis of HTML and XML documents.

5 years agoimport member/2 from library(lists)
Markus Triska [Sat, 20 Jun 2020 17:07:43 +0000 (19:07 +0200)]
import member/2 from library(lists)

This is needed when processing redirects.

5 years agoADDED: library(xpath) for convenient analysis of HTML and XML documents.
Markus Triska [Sat, 20 Jun 2020 10:25:13 +0000 (12:25 +0200)]
ADDED: library(xpath) for convenient analysis of HTML and XML documents.

5 years agoMerge pull request #596 from triska/sgml
Mark Thom [Fri, 19 Jun 2020 15:59:06 +0000 (12:59 -0300)]
Merge pull request #596 from triska/sgml

ADDED: library(sgml), providing load_html/3 to parse HTML documents

5 years agoMerge pull request #605 from notoria/debug
Mark Thom [Fri, 19 Jun 2020 15:58:26 +0000 (12:58 -0300)]
Merge pull request #605 from notoria/debug

Added library(debug)

5 years agoAdded an entry in README
notoria [Fri, 19 Jun 2020 15:48:55 +0000 (17:48 +0200)]
Added an entry in README

5 years agoAdded library(debug)
notoria [Fri, 19 Jun 2020 15:18:59 +0000 (17:18 +0200)]
Added library(debug)

5 years agoADDED: library(sgml), providing load_html/3 to parse HTML documents
Markus Triska [Sun, 14 Jun 2020 14:52:46 +0000 (16:52 +0200)]
ADDED: library(sgml), providing load_html/3 to parse HTML documents

5 years agoMerge pull request #592 from triska/http_open
Mark Thom [Fri, 19 Jun 2020 14:30:23 +0000 (11:30 -0300)]
Merge pull request #592 from triska/http_open

ADDED: library(http/http_open), opening HTTP and HTTPS streams for reading

5 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Fri, 19 Jun 2020 06:58:43 +0000 (00:58 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

5 years agoallow paths in use_module(library(..)) (#604)
Mark Thom [Fri, 19 Jun 2020 06:57:56 +0000 (00:57 -0600)]
allow paths in use_module(library(..)) (#604)

5 years agoclarify meaning of AssertItems and QueryItems in BiMetaTrans source-level documentation
Mark Thom [Fri, 19 Jun 2020 05:47:54 +0000 (23:47 -0600)]
clarify meaning of AssertItems and QueryItems in BiMetaTrans source-level documentation

5 years agoMerge pull request #602 from triska/put_char
Mark Thom [Thu, 18 Jun 2020 15:16:47 +0000 (12:16 -0300)]
Merge pull request #602 from triska/put_char

put_char/[1,2]: throw type errors for atoms that are not characters

5 years agoput_char/[1,2]: throw type errors for atoms that are not characters
Markus Triska [Wed, 17 Jun 2020 22:09:33 +0000 (00:09 +0200)]
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)

5 years agoMerge pull request #597 from triska/faster_format
Mark Thom [Wed, 17 Jun 2020 21:48:49 +0000 (18:48 -0300)]
Merge pull request #597 from triska/faster_format

ENHANCED: much faster format/3 for text streams

5 years agoADDED: library(http/http_open), opening HTTP and HTTPS streams for reading
Markus Triska [Sat, 13 Jun 2020 07:32:08 +0000 (09:32 +0200)]
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.

5 years agocover Addr::Fixnum when not referenced as an Addr::Con, undefine dynamic predicate...
Mark Thom [Wed, 17 Jun 2020 01:03:07 +0000 (19:03 -0600)]
cover Addr::Fixnum when not referenced as an Addr::Con, undefine dynamic predicate definitions from within modules too (#588)

5 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Wed, 17 Jun 2020 00:47:53 +0000 (18:47 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

5 years agofix copy_partial_string bug (#572)
Mark Thom [Wed, 17 Jun 2020 00:47:39 +0000 (18:47 -0600)]
fix copy_partial_string bug (#572)

5 years agoENHANCED: much faster format/3 for text streams
Markus Triska [Tue, 16 Jun 2020 19:13:03 +0000 (21:13 +0200)]
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.

5 years agoMerge pull request #590 from triska/read_line_to_chars
Mark Thom [Tue, 16 Jun 2020 03:06:01 +0000 (00:06 -0300)]
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

5 years agochange the plurality of AssertItem(s), QueryItem(s) in bimetatrans.pl
Mark Thom [Mon, 15 Jun 2020 22:38:27 +0000 (16:38 -0600)]
change the plurality of AssertItem(s), QueryItem(s) in bimetatrans.pl

5 years agoMerge pull request #595 from triska/faster_format
Mark Thom [Sun, 14 Jun 2020 15:37:06 +0000 (12:37 -0300)]
Merge pull request #595 from triska/faster_format

ENHANCED: faster format/3 when writing to binary streams

5 years agouse format/3 to benefit from efficiency improvements
Markus Triska [Sun, 14 Jun 2020 08:50:21 +0000 (10:50 +0200)]
use format/3 to benefit from efficiency improvements

5 years agoENHANCED: faster format/3 when writing to binary streams
Markus Triska [Sun, 14 Jun 2020 08:06:27 +0000 (10:06 +0200)]
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.

5 years agoMerge pull request #589 from triska/lazy_pio
Mark Thom [Sun, 14 Jun 2020 00:09:19 +0000 (21:09 -0300)]
Merge pull request #589 from triska/lazy_pio

ENHANCED: Read more characters at once, significantly speeding up library(pio)

5 years agoMerge pull request #593 from triska/portray_clause
Mark Thom [Sun, 14 Jun 2020 00:08:54 +0000 (21:08 -0300)]
Merge pull request #593 from triska/portray_clause

ADDED: portray_clause/2, writing to a specified stream.

5 years agoMerge pull request #594 from triska/scryerrc
Mark Thom [Sat, 13 Jun 2020 20:55:32 +0000 (17:55 -0300)]
Merge pull request #594 from triska/scryerrc

explain .scryerrc configuration file

5 years agofix broken links in README (#591)
Mark Thom [Sat, 13 Jun 2020 16:46:53 +0000 (10:46 -0600)]
fix broken links in README (#591)

5 years agouse take() for extra fast processing of binary files
Markus Triska [Fri, 12 Jun 2020 19:07:18 +0000 (21:07 +0200)]
use take() for extra fast processing of binary files

Suggested by @notoria in #589. Many thanks!

5 years agobetter naming: str --> string
Markus Triska [Fri, 12 Jun 2020 18:54:30 +0000 (20:54 +0200)]
better naming: str --> string

Suggested by @notoria in #589. Many thanks!

5 years agoexplain .scryerrc configuration file
Markus Triska [Sat, 13 Jun 2020 14:47:02 +0000 (16:47 +0200)]
explain .scryerrc configuration file

5 years agoADDED: portray_clause/2, writing to a specified stream.
Markus Triska [Sat, 13 Jun 2020 14:45:47 +0000 (16:45 +0200)]
ADDED: portray_clause/2, writing to a specified stream.

5 years agoENHANCED: Read more characters at once, significantly speeding up library(pio).
Markus Triska [Fri, 12 Jun 2020 15:29:18 +0000 (17:29 +0200)]
ENHANCED: Read more characters at once, significantly speeding up library(pio).

6 years agoADDED: read_line_to_chars/3, reading up to and including "\n" from a stream, yielding...
Markus Triska [Sat, 13 Jun 2020 07:06:57 +0000 (09:06 +0200)]
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.

6 years agorename bimetatrans example files and directory
Mark Thom [Sat, 13 Jun 2020 00:32:48 +0000 (18:32 -0600)]
rename bimetatrans example files and directory

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Sat, 13 Jun 2020 00:28:07 +0000 (18:28 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agoremove vestigial prolog/ directory (#444)
Mark Thom [Sat, 13 Jun 2020 00:26:38 +0000 (18:26 -0600)]
remove vestigial prolog/ directory (#444)

6 years agoMerge pull request #587 from triska/lazy_pio
Mark Thom [Fri, 12 Jun 2020 14:24:52 +0000 (11:24 -0300)]
Merge pull request #587 from triska/lazy_pio

ENHANCED: phrase_from_file/[2,3] now read the file lazily.

6 years agoadd missing ! in int_pow (#580)
Mark Thom [Fri, 12 Jun 2020 04:28:05 +0000 (22:28 -0600)]
add missing ! in int_pow (#580)

6 years agoadjust the tail created by CreatePartialString to point to the last cell it pushed...
Mark Thom [Fri, 12 Jun 2020 03:25:20 +0000 (21:25 -0600)]
adjust the tail created by CreatePartialString to point to the last cell it pushed to the heap (#586)

6 years agocredit Ulrich Neumerkel for partial strings in README
Mark Thom [Fri, 12 Jun 2020 03:24:20 +0000 (21:24 -0600)]
credit Ulrich Neumerkel for partial strings in README

6 years agoinclude library(pio) and library(charsio) in the itemization
Markus Triska [Thu, 11 Jun 2020 14:44:23 +0000 (16:44 +0200)]
include library(pio) and library(charsio) in the itemization

6 years agoENHANCED: phrase_from_file/[2,3] now read the file lazily.
Markus Triska [Thu, 11 Jun 2020 13:29:06 +0000 (15:29 +0200)]
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.

6 years agoremove most cuts from bimetatrans_ruleml.pl
Mark Thom [Thu, 11 Jun 2020 18:22:35 +0000 (12:22 -0600)]
remove most cuts from bimetatrans_ruleml.pl

6 years agofix printing of atoms like '.x' (#585)
Mark Thom [Thu, 11 Jun 2020 17:11:04 +0000 (11:11 -0600)]
fix printing of atoms like '.x' (#585)

6 years agoeliminate unnecessary find_min_time_ predicate in least_time.pl example
Mark Thom [Thu, 11 Jun 2020 04:25:23 +0000 (22:25 -0600)]
eliminate unnecessary find_min_time_ predicate in least_time.pl example

6 years agoMerge pull request #582 from triska/format_time
Mark Thom [Wed, 10 Jun 2020 23:21:44 +0000 (20:21 -0300)]
Merge pull request #582 from triska/format_time

ADDED: format_time//2 for describing strings involving dates and times

6 years agoADDED: format_time//2 for describing strings involving dates and times
Markus Triska [Wed, 10 Jun 2020 21:13:14 +0000 (23:13 +0200)]
ADDED: format_time//2 for describing strings involving dates and times

current_time/1 yields the current system time as an opaque time stamp.

6 years agoscryer and prolog_parser version bump (#581)
Mark Thom [Wed, 10 Jun 2020 20:29:13 +0000 (14:29 -0600)]
scryer and prolog_parser version bump (#581)

6 years agoprolog_parser version bump, scryer version bump
Mark Thom [Wed, 10 Jun 2020 04:15:11 +0000 (22:15 -0600)]
prolog_parser version bump, scryer version bump

6 years agoMerge pull request #579 from triska/master
Mark Thom [Tue, 9 Jun 2020 21:56:29 +0000 (18:56 -0300)]
Merge pull request #579 from triska/master

ENHANCED: throw Prolog exception on expired certificates

6 years agoENHANCED: throw Prolog exception on expired certificates
Markus Triska [Tue, 9 Jun 2020 21:01:28 +0000 (23:01 +0200)]
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)

6 years agoMerge pull request #577 from triska/tls
Mark Thom [Tue, 9 Jun 2020 13:56:17 +0000 (10:56 -0300)]
Merge pull request #577 from triska/tls

ADDED: Encrypted client connections in library(sockets) via new option tls/1.

6 years agoADDED: Encrypted client connections in library(sockets) via new option tls/1.
Markus Triska [Sun, 7 Jun 2020 16:12:29 +0000 (18:12 +0200)]
ADDED: Encrypted client connections in library(sockets) via new option tls/1.

Use tls(true) to negotiate an encrypted network connection via TLS.

6 years agoADDED: type checks for type boolean
Markus Triska [Sun, 7 Jun 2020 17:24:51 +0000 (19:24 +0200)]
ADDED: type checks for type boolean

6 years agoMerge pull request #578 from triska/format_improvements
Mark Thom [Sun, 7 Jun 2020 22:36:16 +0000 (19:36 -0300)]
Merge pull request #578 from triska/format_improvements

Various improvements for format_//2

6 years agoMerge pull request #576 from triska/crypto_curve_scalar_mult
Mark Thom [Sun, 7 Jun 2020 22:34:12 +0000 (19:34 -0300)]
Merge pull request #576 from triska/crypto_curve_scalar_mult

ENHANCED: Faster Rust-based crypto_curve_scalar_mult/4 using OpenSSL.

6 years agotype check for ~d and ~D specifiers
Markus Triska [Sun, 7 Jun 2020 22:07:24 +0000 (00:07 +0200)]
type check for ~d and ~D specifiers

6 years agoENHANCED: format_//2 now evaluates arithmetic expressions for ~d, ~D, ~f, ~r and ~R
Markus Triska [Sun, 7 Jun 2020 21:14:23 +0000 (23:14 +0200)]
ENHANCED: format_//2 now evaluates arithmetic expressions for ~d, ~D, ~f, ~r and ~R

Example:

    ?- phrase(format_("~d", [1+2]), Cs).
       Cs = "3"
    ;  false.

6 years agobetter domain error in format_//2
Markus Triska [Sun, 7 Jun 2020 21:04:42 +0000 (23:04 +0200)]
better domain error in format_//2

Example:

    ?- format("", [hello]).
    caught: error(domain_error(empty_list,[hello]),format_//2)

6 years agoadd type check for scalar argument in crypto_curve_scalar_mult/4
Markus Triska [Sun, 7 Jun 2020 16:50:36 +0000 (18:50 +0200)]
add type check for scalar argument in crypto_curve_scalar_mult/4

Suggested by @notoria in #576. Many thanks!

6 years agouse secp256k1 in the example
Markus Triska [Sun, 7 Jun 2020 09:02:18 +0000 (11:02 +0200)]
use secp256k1 in the example

6 years agoENHANCED: Faster Rust-based crypto_curve_scalar_mult/4 using OpenSSL.
Markus Triska [Sun, 7 Jun 2020 08:58:40 +0000 (10:58 +0200)]
ENHANCED: Faster Rust-based crypto_curve_scalar_mult/4 using OpenSSL.

6 years agos/prolog-implementation/prolog-system (cargo does not allow keywords to exceed 20...
Mark Thom [Fri, 5 Jun 2020 05:29:48 +0000 (23:29 -0600)]
s/prolog-implementation/prolog-system (cargo does not allow keywords to exceed 20 characters)

6 years agobump version number
Mark Thom [Fri, 5 Jun 2020 05:25:21 +0000 (23:25 -0600)]
bump version number

6 years agoupdate prolog_parser version, correct atom_chars/2 (#379)
Mark Thom [Fri, 5 Jun 2020 05:23:49 +0000 (23:23 -0600)]
update prolog_parser version, correct atom_chars/2 (#379)

6 years agoremove double_quotes checks from unnecessary places in system_calls.rs and elsewhere...
Mark Thom [Fri, 5 Jun 2020 03:03:16 +0000 (21:03 -0600)]
remove double_quotes checks from unnecessary places in system_calls.rs and elsewhere (#513, #542)

6 years agoremove unreachable branch in increment_s_ptr (#575)
Mark Thom [Thu, 4 Jun 2020 04:05:46 +0000 (22:05 -0600)]
remove unreachable branch in increment_s_ptr (#575)

6 years agocorrect unexpected bad variables while ensuring better names are generated in order...
Mark Thom [Sat, 30 May 2020 06:17:34 +0000 (00:17 -0600)]
correct unexpected bad variables while ensuring better names are generated in order (#571)

6 years agoMerge branch 'master' of https://github.com/mthom/rusty-wam
Mark Thom [Wed, 27 May 2020 17:11:37 +0000 (11:11 -0600)]
Merge branch 'master' of https://github.com/mthom/rusty-wam

6 years agoorder generation of variable names in attributed goals after toplevel variables ...
Mark Thom [Wed, 27 May 2020 17:11:26 +0000 (11:11 -0600)]
order generation of variable names in attributed goals after toplevel variables (#465)

6 years agoplug missing variables in equations (#488), exclude/3 regression (#452), incorrect...
Mark Thom [Wed, 27 May 2020 05:46:09 +0000 (23:46 -0600)]
plug missing variables in equations (#488), exclude/3 regression (#452), incorrect answer substitution (#326)

6 years agoMerge pull request #568 from triska/logo
Mark Thom [Wed, 27 May 2020 03:19:41 +0000 (00:19 -0300)]
Merge pull request #568 from triska/logo

How about an actual raven for a logo?

6 years agoADDED: Logo.
Markus Triska [Tue, 26 May 2020 17:23:33 +0000 (19:23 +0200)]
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.

6 years agoMerge pull request #524 from matt2xu/decode_utf8
Mark Thom [Tue, 26 May 2020 16:42:42 +0000 (13:42 -0300)]
Merge pull request #524 from matt2xu/decode_utf8

Add decoding of UTF-8 sequences

6 years agoMerge pull request #563 from triska/master
Mark Thom [Sat, 23 May 2020 19:02:05 +0000 (16:02 -0300)]
Merge pull request #563 from triska/master

ADDED: halt/1, halting with specified exit code

6 years agothrow evaluable type error for unrecognized atoms in arith_eval_by_metacall
Mark Thom [Sat, 23 May 2020 19:33:05 +0000 (13:33 -0600)]
throw evaluable type error for unrecognized atoms in arith_eval_by_metacall