]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
5 years agomake chars callable (#713)
Mark Thom [Thu, 18 Mar 2021 01:50:41 +0000 (19:50 -0600)]
make chars callable (#713)

5 years agoalways print variable bindings before names (#865)
Mark Thom [Thu, 18 Mar 2021 01:27:53 +0000 (19:27 -0600)]
always print variable bindings before names (#865)

5 years agocheck that a load context path is a filename before potentially returning it as a...
Mark Thom [Thu, 18 Mar 2021 00:58:33 +0000 (18:58 -0600)]
check that a load context path is a filename before potentially returning it as a string

5 years agofindall/4 should be declared as a meta-predicate (#873)
Mark Thom [Thu, 18 Mar 2021 00:13:06 +0000 (18:13 -0600)]
findall/4 should be declared as a meta-predicate (#873)

5 years agoissue an imcomplete reduction error if stream ends with tokens remaining to be parsed...
Mark Thom [Wed, 17 Mar 2021 20:23:34 +0000 (14:23 -0600)]
issue an imcomplete reduction error if stream ends with tokens remaining to be parsed (#871)

5 years agoremove operators declared at user-level from files when reloading
Mark Thom [Tue, 16 Mar 2021 19:47:30 +0000 (13:47 -0600)]
remove operators declared at user-level from files when reloading

5 years agoclear user-level definitions when reloading a file (#455)
Mark Thom [Tue, 16 Mar 2021 08:30:09 +0000 (02:30 -0600)]
clear user-level definitions when reloading a file (#455)

5 years agodon't warn about overwriting a clause asserted to a dynamic predicate whose clauses...
Mark Thom [Mon, 15 Mar 2021 20:22:54 +0000 (14:22 -0600)]
don't warn about overwriting a clause asserted to a dynamic predicate whose clauses have all been retracted (#870)

5 years agoremove intra-module predicates from module code directory when module is being re...
Mark Thom [Sun, 14 Mar 2021 06:22:24 +0000 (23:22 -0700)]
remove intra-module predicates from module code directory when module is being re-defined (#848)

5 years agoMerge pull request #866 from Skgland/add_tests
Mark Thom [Sat, 13 Mar 2021 07:39:01 +0000 (00:39 -0700)]
Merge pull request #866 from Skgland/add_tests

Add tests for some recently closed Issues

5 years agofix expected output for syntax_error test
Skgland [Thu, 11 Mar 2021 16:01:26 +0000 (17:01 +0100)]
fix expected output for syntax_error test

5 years agoaddress problems brought up in review
Skgland [Thu, 11 Mar 2021 15:16:31 +0000 (16:16 +0100)]
address problems brought up in review

5 years agoadd more tests
Skgland [Thu, 11 Mar 2021 00:19:17 +0000 (01:19 +0100)]
add more tests

for some of the recently closed issues

5 years agoimprove comment
Skgland [Thu, 11 Mar 2021 00:18:11 +0000 (01:18 +0100)]
improve comment

5 years agoclean up tests/
Skgland [Thu, 11 Mar 2021 00:21:20 +0000 (01:21 +0100)]
clean up tests/

give helper function a more descriptive name

5 years agofix is_cyclic_term (#864)
Mark Thom [Wed, 10 Mar 2021 23:11:43 +0000 (16:11 -0700)]
fix is_cyclic_term (#864)

5 years agoMerge pull request #861 from notoria/mod
Mark Thom [Wed, 10 Mar 2021 20:52:48 +0000 (13:52 -0700)]
Merge pull request #861 from notoria/mod

Small improvement for mod in CLP(Z)

5 years agoAdded a test for mod in CLP(Z)
notoria [Wed, 10 Mar 2021 20:19:47 +0000 (21:19 +0100)]
Added a test for mod in CLP(Z)

5 years agoMerge pull request #862 from notoria/xor
Mark Thom [Tue, 9 Mar 2021 19:33:06 +0000 (12:33 -0700)]
Merge pull request #862 from notoria/xor

Implemented a propagator for xor in CLP(Z)

5 years agoUse functional notation in CLP(Z) for compatibility
notoria [Sun, 7 Mar 2021 19:59:25 +0000 (20:59 +0100)]
Use functional notation in CLP(Z) for compatibility

5 years agoImplemented a propagator for xor in CLP(Z)
notoria [Sun, 7 Mar 2021 17:46:47 +0000 (18:46 +0100)]
Implemented a propagator for xor in CLP(Z)

5 years agoSmall improvement for mod in CLP(Z)
notoria [Sun, 7 Mar 2021 17:38:04 +0000 (18:38 +0100)]
Small improvement for mod in CLP(Z)

5 years agoMerge pull request #858 from triska/master
Mark Thom [Fri, 5 Mar 2021 19:57:20 +0000 (12:57 -0700)]
Merge pull request #858 from triska/master

CLP(B) correction

5 years agois is --> is
Markus Triska [Fri, 5 Mar 2021 17:36:00 +0000 (18:36 +0100)]
is is --> is

5 years agoFIXED: CLP(B): weighted_maximum/3 with repeated variables
Markus Triska [Fri, 5 Mar 2021 17:35:19 +0000 (18:35 +0100)]
FIXED: CLP(B): weighted_maximum/3 with repeated variables

Many thanks to @jburse for reporting this issue:

    https://github.com/triska/clpz/issues/15

Example:

    ?- sat(~(Y*X)), sat(Z=:=Y), weighted_maximum([7,2,5],[X,Y,Z],W).
       W = 7, Y = 0, X = 1, Z = 0
    ;  W = 7, Y = 1, X = 0, Z = 1
    ;  false.

5 years agoadapt comment to Scryer Prolog
Markus Triska [Fri, 5 Mar 2021 17:16:38 +0000 (18:16 +0100)]
adapt comment to Scryer Prolog

5 years agoqualify '$print_project_attributes_exception' call (#857)
Mark Thom [Fri, 5 Mar 2021 08:14:51 +0000 (01:14 -0700)]
qualify '$print_project_attributes_exception' call (#857)

5 years agocall project_attributes from top-level (#846)
Mark Thom [Thu, 4 Mar 2021 23:05:01 +0000 (16:05 -0700)]
call project_attributes from top-level (#846)

5 years agoMerge pull request #856 from triska/master
Mark Thom [Thu, 4 Mar 2021 20:53:25 +0000 (13:53 -0700)]
Merge pull request #856 from triska/master

Improvements for library(format)

5 years agoENHANCED: more readable indentation of nested disjunctions
Markus Triska [Thu, 4 Mar 2021 20:38:39 +0000 (21:38 +0100)]
ENHANCED: more readable indentation of nested disjunctions

Example:

    ?- portray_clause((h :- a ; b ; c)).
    h :-
       (  a
       ;  b
       ;  c
       ).
       true.

5 years agoremove unnecessary argument
Markus Triska [Thu, 4 Mar 2021 20:33:29 +0000 (21:33 +0100)]
remove unnecessary argument

5 years agoMerge pull request #854 from triska/master
Mark Thom [Wed, 3 Mar 2021 23:11:03 +0000 (16:11 -0700)]
Merge pull request #854 from triska/master

Better indentation for nested ( If -> Then ; Else ) constructs

5 years agouse the new portray_clause/1 output for generated definitions
Markus Triska [Wed, 3 Mar 2021 21:17:54 +0000 (22:17 +0100)]
use the new portray_clause/1 output for generated definitions

5 years agoseparate side-effects from declarative description to facilitate test cases etc.
Markus Triska [Wed, 3 Mar 2021 21:13:01 +0000 (22:13 +0100)]
separate side-effects from declarative description to facilitate test cases etc.

5 years agoENHANCED: more readable indentation of nested ( If -> Then ; Else ) constructs
Markus Triska [Wed, 3 Mar 2021 21:04:28 +0000 (22:04 +0100)]
ENHANCED: more readable indentation of nested ( If -> Then ; Else ) constructs

Example:

    ?- portray_clause((h :- ( a -> b ; c -> d ; e, f))).
    h :-
       (  a ->
          b
       ;  c ->
          d
       ;  e,
          f
       ).
       true.

5 years agocatch exceptions thrown from initialization goals (#852)
Mark Thom [Wed, 3 Mar 2021 20:56:13 +0000 (13:56 -0700)]
catch exceptions thrown from initialization goals (#852)

5 years agohas_tail must be false for use as a filename from open/{3,4}
Mark Thom [Wed, 3 Mar 2021 19:16:47 +0000 (12:16 -0700)]
has_tail must be false for use as a filename from open/{3,4}

5 years agoMerge pull request #851 from Skgland/fix_num_test2
Mark Thom [Wed, 3 Mar 2021 06:36:59 +0000 (23:36 -0700)]
Merge pull request #851 from Skgland/fix_num_test2

Workaround to make num tests work

5 years agoworkaround to make num tests work
Skgland [Wed, 3 Mar 2021 00:16:13 +0000 (01:16 +0100)]
workaround to make num tests work

5 years agoMerge pull request #849 from triska/master
Mark Thom [Tue, 2 Mar 2021 18:59:22 +0000 (11:59 -0700)]
Merge pull request #849 from triska/master

Remove duplicated definitions

5 years agoremove min_/3 and max_/3 which are also defined elsewhere
Markus Triska [Tue, 2 Mar 2021 18:59:57 +0000 (19:59 +0100)]
remove min_/3 and max_/3 which are also defined elsewhere

5 years agoremove group_pairs_by_key/2, which is now provided by library(pairs)
Markus Triska [Tue, 2 Mar 2021 18:58:20 +0000 (19:58 +0100)]
remove group_pairs_by_key/2, which is now provided by library(pairs)

5 years agowarn when overwriting a predicate (#848)
Mark Thom [Tue, 2 Mar 2021 18:43:47 +0000 (11:43 -0700)]
warn when overwriting a predicate (#848)

5 years agodo not check for non-unifiability in dif:attribute_goals, which is sure to succeed...
Mark Thom [Tue, 2 Mar 2021 16:50:25 +0000 (09:50 -0700)]
do not check for non-unifiability in dif:attribute_goals, which is sure to succeed, resulting in no goals being printed at top-level (#844)

5 years agoMerge pull request #845 from triska/master
Mark Thom [Mon, 1 Mar 2021 18:45:53 +0000 (11:45 -0700)]
Merge pull request #845 from triska/master

explain the new occurs_check flag

5 years agoexplain the new occurs_check flag
Markus Triska [Mon, 1 Mar 2021 18:42:16 +0000 (19:42 +0100)]
explain the new occurs_check flag

5 years agouse atom_chars to convert .scryerrc path string to atom
Mark Thom [Mon, 1 Mar 2021 06:26:22 +0000 (23:26 -0700)]
use atom_chars to convert .scryerrc path string to atom

5 years agouse plain ! while interpreting control functors in metacalls (#724)
Mark Thom [Mon, 1 Mar 2021 02:12:35 +0000 (19:12 -0700)]
use plain ! while interpreting control functors in metacalls (#724)

5 years agoapply expand_module_names to call(A) goals
Mark Thom [Mon, 1 Mar 2021 02:01:36 +0000 (19:01 -0700)]
apply expand_module_names to call(A) goals

5 years agosuppress tabled/2 existence errors in tabling library, do not print evaluation errors...
Mark Thom [Mon, 1 Mar 2021 01:56:24 +0000 (18:56 -0700)]
suppress tabled/2 existence errors in tabling library, do not print evaluation errors generated by term and goal expansion in loader.pl

5 years agoMerge pull request #843 from mthom/rebis-dev
Mark Thom [Mon, 1 Mar 2021 01:29:35 +0000 (18:29 -0700)]
Merge pull request #843 from mthom/rebis-dev

Merge rebis-dev into master

5 years agocheck that Module is an atom before calling Module:goal_expansion/2
Mark Thom [Mon, 1 Mar 2021 01:28:12 +0000 (18:28 -0700)]
check that Module is an atom before calling Module:goal_expansion/2

5 years agowrap variable goals in module-expanded call/1
Mark Thom [Mon, 1 Mar 2021 01:15:33 +0000 (18:15 -0700)]
wrap variable goals in module-expanded call/1

5 years agodo not print error messages if .scryerrc[.pl] does not exist (#842)
Mark Thom [Mon, 1 Mar 2021 00:57:35 +0000 (17:57 -0700)]
do not print error messages if .scryerrc[.pl] does not exist (#842)

5 years agoprint errors arising from term and goal expansion calls from loader.pl
Mark Thom [Sun, 28 Feb 2021 23:19:37 +0000 (16:19 -0700)]
print errors arising from term and goal expansion calls from loader.pl

5 years agointroduce bind_fn, use in applicable Fact/Query instructions (#841)
Mark Thom [Sun, 28 Feb 2021 23:19:06 +0000 (16:19 -0700)]
introduce bind_fn, use in applicable Fact/Query instructions (#841)

5 years agopop non-composite terms from iter stack in is_cyclic_term
Mark Thom [Sun, 28 Feb 2021 19:28:19 +0000 (12:28 -0700)]
pop non-composite terms from iter stack in is_cyclic_term

5 years agoadd error value to occurs_check prolog flag (#783)
Mark Thom [Sun, 28 Feb 2021 18:44:07 +0000 (11:44 -0700)]
add error value to occurs_check prolog flag (#783)

5 years agoMerge pull request #838 from Skgland/librarify
Mark Thom [Sun, 28 Feb 2021 18:39:24 +0000 (11:39 -0700)]
Merge pull request #838 from Skgland/librarify

Split main.rs into lib.rs and bin/scryer-prolog.rs

5 years agorevert removal of PartialEq
Skgland [Fri, 26 Feb 2021 18:58:55 +0000 (19:58 +0100)]
revert removal of PartialEq

5 years agomove the signal handler to the binary
Skgland [Fri, 26 Feb 2021 16:24:31 +0000 (17:24 +0100)]
move the signal handler to the binary

5 years agoremove #[allow(dead_code)]
Skgland [Fri, 26 Feb 2021 16:19:38 +0000 (17:19 +0100)]
remove #[allow(dead_code)]

only commenting out the unused variant as `OptArgIndexKeyType`
as it appears to mirror `OptArgIndexKey` and there List is not unused
so this appears to be not yet used rather than obsolete

5 years agofix CI lib build with beta compiler
Skgland [Fri, 26 Feb 2021 00:03:05 +0000 (01:03 +0100)]
fix CI lib build with beta compiler

5 years agoadjust ci
Skgland [Thu, 25 Feb 2021 22:42:41 +0000 (23:42 +0100)]
adjust ci

5 years agosplit into lib and bin
Skgland [Thu, 25 Feb 2021 22:24:20 +0000 (23:24 +0100)]
split into lib and bin

* makes most pub things in src/ pub(crate) as not to expose things accidentally
  * only those things needed by src/bin/scryer-prolog.rs and tests/scryer.rs
    should be pub
* split src/main.rs into src/lib.rs and src/bin/scryer-prolog.rs
* add tests folder and run most of the files in src/tests with cargo test
  added bytes method to Stream in src/machine/streams.rs to check if stdout is as expected

5 years agorestore .scryerrc loading
Mark Thom [Sun, 28 Feb 2021 18:03:55 +0000 (11:03 -0700)]
restore .scryerrc loading

5 years agoadd occurs_check flag (#309)
Mark Thom [Sun, 28 Feb 2021 17:41:32 +0000 (10:41 -0700)]
add occurs_check flag (#309)

5 years agoenable op declarations with lists of operands using term expansion (#839)
Mark Thom [Sun, 28 Feb 2021 16:15:03 +0000 (09:15 -0700)]
enable op declarations with lists of operands using term expansion (#839)

5 years agoadd lines read from devour_whitespace (#836)
Mark Thom [Sun, 28 Feb 2021 09:09:53 +0000 (02:09 -0700)]
add lines read from devour_whitespace (#836)

5 years agoset compilation_target of assert loader to match that of predicate qualifier
Mark Thom [Sun, 28 Feb 2021 07:27:50 +0000 (00:27 -0700)]
set compilation_target of assert loader to match that of predicate qualifier

5 years agoupdate the parser with the number of lines already read by the underlying stream...
Mark Thom [Sun, 28 Feb 2021 06:56:58 +0000 (23:56 -0700)]
update the parser with the number of lines already read by the underlying stream (#836)

5 years agoimplement logical update semantics for dynamic database predicates
Mark Thom [Sun, 28 Feb 2021 05:51:32 +0000 (22:51 -0700)]
implement logical update semantics for dynamic database predicates

5 years agoMerge pull request #837 from triska/rebis-dev
Mark Thom [Thu, 25 Feb 2021 22:17:16 +0000 (15:17 -0700)]
Merge pull request #837 from triska/rebis-dev

Small improvements for Rebis

5 years agoadd entry for library(lambda)
Markus Triska [Thu, 25 Feb 2021 21:40:31 +0000 (22:40 +0100)]
add entry for library(lambda)

5 years agoomit internal residual goals for global_cardinality/2
Markus Triska [Thu, 25 Feb 2021 20:45:06 +0000 (21:45 +0100)]
omit internal residual goals for global_cardinality/2

5 years agoremove unused attribute_goal/2
Markus Triska [Thu, 18 Feb 2021 19:33:27 +0000 (20:33 +0100)]
remove unused attribute_goal/2

5 years agoMerge pull request #835 from triska/lambda
Mark Thom [Thu, 25 Feb 2021 21:26:41 +0000 (14:26 -0700)]
Merge pull request #835 from triska/lambda

ADDED: library(lambda) by Ulrich Neumerkel

5 years agoadapt libraries and toplevel output to Scryer Prolog
Markus Triska [Thu, 25 Feb 2021 21:06:09 +0000 (22:06 +0100)]
adapt libraries and toplevel output to Scryer Prolog

5 years agouse individual meta_predicate/1 declarations
Markus Triska [Thu, 25 Feb 2021 21:02:51 +0000 (22:02 +0100)]
use individual meta_predicate/1 declarations

5 years agoADDED: library(lambda) by Ulrich Neumerkel.
Markus Triska [Thu, 25 Feb 2021 21:00:44 +0000 (22:00 +0100)]
ADDED: library(lambda) by Ulrich Neumerkel.

Source: http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/lambda.pl

More information:

    http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/ISO-Hiord

5 years agoadd copy_term_nat/2 (#795)
Mark Thom [Tue, 23 Feb 2021 05:39:34 +0000 (22:39 -0700)]
add copy_term_nat/2 (#795)

5 years agono longer delay verify_attributes for cut instructions (#807)
Mark Thom [Tue, 23 Feb 2021 01:33:35 +0000 (18:33 -0700)]
no longer delay verify_attributes for cut instructions (#807)

5 years agono longer generate a choice point in bb_b_put/2 (#742)
Mark Thom [Tue, 23 Feb 2021 01:27:30 +0000 (18:27 -0700)]
no longer generate a choice point in bb_b_put/2 (#742)

5 years agoconsume whitespace before reading a term in loader.pl, modify prolog_load_context...
Mark Thom [Mon, 22 Feb 2021 20:23:22 +0000 (13:23 -0700)]
consume whitespace before reading a term in loader.pl, modify prolog_load_context at file key to better reflect loading context, use it when reporting singleton variables (#812)

5 years agoextend existing local predicate skeletons in LoadState::compile
Mark Thom [Mon, 22 Feb 2021 09:00:25 +0000 (02:00 -0700)]
extend existing local predicate skeletons in LoadState::compile

5 years agoanonymize singleton variables in iso_ext.pl, charsio.pl
Mark Thom [Mon, 22 Feb 2021 02:19:43 +0000 (19:19 -0700)]
anonymize singleton variables in iso_ext.pl, charsio.pl

5 years agoissue singleton variable warnings from loader.pl (#812)
Mark Thom [Mon, 22 Feb 2021 02:18:06 +0000 (19:18 -0700)]
issue singleton variable warnings from loader.pl (#812)

5 years agowrap stream instances in one Rc<RefCell<..>>, use Ref/RefMut to access stream options
Mark Thom [Sun, 21 Feb 2021 23:28:30 +0000 (16:28 -0700)]
wrap stream instances in one Rc<RefCell<..>>, use Ref/RefMut to access stream options

5 years agoMerge pull request #834 from aarroyoc/rebis-http
Mark Thom [Sun, 21 Feb 2021 20:32:09 +0000 (13:32 -0700)]
Merge pull request #834 from aarroyoc/rebis-http

Fix HTTP server in rebis

5 years agoFix typo
Adrián Arroyo Calle [Sun, 21 Feb 2021 20:08:03 +0000 (21:08 +0100)]
Fix typo

5 years agoUse notoria's comment
Adrián Arroyo Calle [Sun, 21 Feb 2021 19:22:08 +0000 (20:22 +0100)]
Use notoria's comment

5 years agoMerge pull request #830 from aarroyoc/rebis-http
Mark Thom [Sun, 21 Feb 2021 19:10:09 +0000 (12:10 -0700)]
Merge pull request #830 from aarroyoc/rebis-http

Fix HTTP server on Rebis. Breaking change

5 years agotweak bimetatrans_tests.pl
Mark Thom [Sun, 21 Feb 2021 19:08:36 +0000 (12:08 -0700)]
tweak bimetatrans_tests.pl

5 years agoadd set_prolog_flag to declarations recognized by loader.pl
Mark Thom [Sun, 21 Feb 2021 19:08:14 +0000 (12:08 -0700)]
add set_prolog_flag to declarations recognized by loader.pl

5 years agocorrect comment before call meta_predicate declarations
Mark Thom [Sun, 21 Feb 2021 02:10:34 +0000 (19:10 -0700)]
correct comment before call meta_predicate declarations

5 years agoadd 'e' as evaluable functor for Euler's constant (#832)
Mark Thom [Sun, 21 Feb 2021 01:31:47 +0000 (18:31 -0700)]
add 'e' as evaluable functor for Euler's constant (#832)

5 years agouse env::current_dir in Machine::current_dir (#833)
Mark Thom [Sun, 21 Feb 2021 01:25:34 +0000 (18:25 -0700)]
use env::current_dir in Machine::current_dir (#833)

5 years agomove to a local num-rug-adapter crate addressing #822
Mark Thom [Sat, 20 Feb 2021 00:34:26 +0000 (17:34 -0700)]
move to a local num-rug-adapter crate addressing #822

5 years agoremove nl after top-level use_module (#818)
Mark Thom [Fri, 19 Feb 2021 21:36:30 +0000 (14:36 -0700)]
remove nl after top-level use_module (#818)

5 years agoqualify command-line specified goals with user: (#820)
Mark Thom [Fri, 19 Feb 2021 21:12:34 +0000 (14:12 -0700)]
qualify command-line specified goals with user: (#820)