Commit Graph
100 Commits
Author SHA1 Message Date
Mark Thom 2a70ca375c restore support for tabling and delimited continuations (#779) 2021-02-17 16:18:49 -07:00
Mark Thom 396c589743 add second term expansion to capture the addition of hook predicates to the expansion process in loader.pl, loader.rs 2021-02-17 15:39:52 -07:00
Mark Thom 7670b81633 remove VNs variable from loader.pl 2021-02-17 13:31:58 -07:00
Mark Thom f9b98f97b6 remove unnecessary cause of failure in parser, qualify call to op_/3 in builtins.pl 2021-02-17 11:56:58 -07:00
Mark Thom 00bf39204d add missing variable checks in various places 2021-02-17 11:12:19 -07:00
Mark Thom e9ba3ad223 handle user:goal_expansion, but not Target:goal_expansion, explicitly in loader.pl 2021-02-17 01:19:51 -07:00
Mark Thom 6b6666be47 support discontiguous and multifile declarations 2021-02-16 22:08:32 -07:00
Mark Thom e2a413df78 compile scoped clauses from loader.pl 2021-02-13 19:41:04 -07:00
Mark Thom b24f68eee7 remove vestigial uses of constant_eq 2021-02-11 19:22:03 -07:00
Mark Thom 72c1a0222c Box LoadStatePayload when storing it in the heap 2021-02-11 19:21:20 -07:00
Mark Thom bd97083268 remove unused is_internal function from indexing.rs 2021-02-11 18:51:21 -07:00
Mark Thom e7cf5d4f3d use machine-generated PartialEq instance for hashing Constant (#817) 2021-02-11 18:40:23 -07:00
Mark Thom 2429971bcd update call/N indices in user-level code_dir in addition to those of pre-loaded modules 2021-02-11 15:38:30 -07:00
Mark Thom 170a71bd02 offset SwitchOnTerm's Internal indices only if the proper instructions were emitted 2021-02-11 15:38:16 -07:00
Mark Thom 14efbb1356 roll back extent of heap when loads are complete in loader.pl 2021-02-11 15:37:43 -07:00
Mark Thom 20cd0dd77a use IndexMap over HashMap in prolog_parser 2021-02-11 15:35:14 -07:00
Mark Thom 2db1fac1eb break out of the first inner loop if constants contains no key in remove_constant_indices (#816) 2021-02-10 14:13:37 -07:00
Mark Thom ce8490ed41 Merge pull request #813 from triska/rebis-dev
~| now incorporates the number of characters described so far
2021-02-09 17:57:08 -07:00
Mark Thom 7e208984de reset merging_ptr offset before insertion of each overlapping constant (#816) 2021-02-09 17:18:00 -07:00
Mark Thom 4d29a3ae3c check for control functors (,/;/->) before jumping to internal interpretation (#815) 2021-02-09 16:40:25 -07:00
Mark Thom 195273f01d throw exceptions when modules do not contain claimed exports 2021-02-09 12:17:34 -07:00
Mark Thom cc7e21170f correct faulty removal of clauses in abolish/1 2021-02-08 19:02:26 -07:00
Mark Thom 30602c0849 clean up implementation of (->)/2, (;)/2, and (,)/2 2021-02-07 21:13:27 -07:00
Mark Thom 1dabe95899 remove tidy_trail 2021-02-07 15:39:48 -07:00
Mark Thom 4995c0ed94 append .pl to names of files that do not exist in loader.pl 2021-02-07 15:38:03 -07:00
Mark Thom df82dbe5f5 use parent() instead of ancestors().next() in load_context_directory() 2021-02-07 13:51:01 -07:00
Mark Thom de9c74e1d9 Merge branch 'Skgland-clean_up' into rebis-dev 2021-02-07 00:34:57 -07:00
Mark Thom 3f950490f9 set rustyline to check the cursor position (#802), don't add .pl extension to files in loader.pl (#800) 2021-02-06 13:47:26 -07:00
Mark Thom 49b1c1368e remove dynamic clause declaration for clause internal 2021-02-05 23:16:42 -07:00
Mark Thom bdb5df104a shed module names from arguments of the (->)/2, (,)/2, (;)/2 predicates 2021-02-05 22:50:57 -07:00
Mark Thom 700778e574 collate paths as atoms in loader.pl (#778) 2021-02-05 20:18:56 -07:00
Mark Thom a104b35cea gather initialization goals and call them once load succeeds (#792) 2021-02-05 18:42:30 -07:00
Mark Thom bbbf95705b implement abolish/1 2021-02-05 18:35:06 -07:00
Mark Thom 927871d73d Merge branch 'rebis-dev' of https://github.com/mthom/scryer-prolog into rebis-dev 2021-02-05 17:17:14 -07:00
Mark Thom 62419e975f bootstrap the top-level by calling ''/1 as in master (#790) 2021-02-05 17:16:42 -07:00
Mark Thom 3fc2c4223b delay premature set_switch_var_offset_* calls in retract_clause, add module resolution for asserta/assertz/retract/clause 2021-02-05 17:12:25 -07:00
Mark Thom 84da884211 Merge pull request #798 from triska/rebis-dev
CLP(ℤ) enhancements for Rebis
2021-02-05 13:24:53 -07:00
Mark Thom 1bc8e9aebf make load_context_path/2 handle .pl file extensions, remove commented out code 2021-02-05 13:13:54 -07:00
Mark Thom 2d7f31a60d implement dynamic, multifile, and discontiguous properties and callable type checking for predicate_property/2 2021-02-05 02:16:14 -07:00
Mark Thom 804858d736 remove defunct reset function (#782) 2021-02-04 21:02:37 -07:00
Mark Thom 222be9cf6c modify rightmost_power/2 to ignore module qualification on (^)/2 (#794) 2021-02-04 20:51:55 -07:00
Mark Thom 75a52f032b perform goal expansion in call/N (#788, #797) 2021-02-04 20:40:48 -07:00
Mark Thom a9e0a51059 Merge pull request #793 from triska/rebis-dev
preliminary workaround for #788
2021-02-04 12:51:09 -07:00
Mark Thom e17eb01f76 respect module context in expand_module_names (#788) 2021-02-03 16:47:22 -07:00
Mark Thom 2fe55e4715 resolve calls to tranpose_ and same_length in lists.pl (#790) 2021-02-03 16:38:46 -07:00
Mark Thom a8a82e45a0 introduce cuts over indexed (:)/2 of dcgs:phrase_/3 (#786) 2021-02-03 16:03:15 -07:00
Mark Thom fcba140ffe Merge pull request #787 from triska/rebis-dev
add meta_predicate declaration for with_local_attributes/3
2021-02-03 15:51:15 -07:00
Mark Thom 94392f248c enable phrase_ rules for module resolved grammars (#785) 2021-02-03 15:48:12 -07:00
Mark Thom cab0e4395a manually expand module names in higher-order predicates of lists.pl and give call_residue_vars/2 a meta-predicate definition 2021-02-03 15:37:16 -07:00
Mark Thom 88ad2ee103 restore cut after dcg_constr check (#784) 2021-02-03 15:21:20 -07:00
Mark Thom 48f3f4ca37 add meta-predicate declarations to reif library 2021-02-03 12:46:33 -07:00
Mark Thom f3ab17a3c0 Merge branch 'master' into rebis-dev 2021-02-03 12:00:00 -07:00
Mark Thom 5749d43fb6 restore prolog_parser test files (#782) 2021-02-03 11:20:55 -07:00
Mark Thom f5d808e68f do not traverse data structures when binding to local variables in unify_with_occurs_check (#781) 2021-02-03 11:11:22 -07:00
Mark Thom 88f1160e2b use find_inner_choice_instr when appending an indexed clause to an indexed subsequence 2021-02-03 01:22:13 -07:00
Mark Thom e928a0aaea expand attributed variable goals 2021-02-02 21:47:59 -07:00
Mark Thom a2447ecaa3 replace Char '!' with QueryTerm::BlockedCut 2021-02-02 21:03:26 -07:00
Mark Thom 09a089d5f1 set target_pos' clause_start correctly in append_compiled_clause 2021-02-02 21:02:08 -07:00
Mark Thom 137b0cd837 Merge pull request #774 from brightly-salty/re-add-prolog_parser
Add prolog_parser to scryer_prolog
2021-02-02 17:56:26 -07:00
Mark Thom 4e29099ed9 export loader's public predicates from builtins, handle module resolution from DCGs 2021-02-02 15:43:52 -07:00
Mark Thom 8900df6f13 add built_in to predicate_property 2021-02-02 15:03:14 -07:00
Mark Thom 814c034683 add meta-predicate declarations before their definitions 2021-02-01 19:26:50 -07:00
Mark Thom e1ec4bee75 move term expansion logic entirely into loader.pl 2021-02-01 16:50:05 -07:00
Mark Thom 6ed7767512 add module scoping to predicate_property, expand subgoals in module resolved predicates 2021-02-01 16:09:19 -07:00
Mark Thom 08b18af8a0 call attribute variable goals with module resolution 2021-02-01 14:48:13 -07:00
Mark Thom 75908ab88f replace (:) with 0 in meta-predicate declarations, remove support for (:) in meta-predicate declarations 2021-01-31 18:00:10 -07:00
Mark Thom fcba33997f Merge branch 'master' into rebis-dev 2021-01-31 12:41:18 -07:00
Mark Thom 134be307d3 Merge pull request #771 from notoria/args
Handled the empty case (#770)
2021-01-31 12:11:57 -07:00
Mark Thom 61b14d1cd9 fix bug in append_compiled_clause, generalize merging indexed subsequences of clauses 2021-01-31 01:18:45 -07:00
Mark Thom c2e3b47d29 properly thread functors whose first subterm is a variable in thread_goals/4 2021-01-30 23:37:23 -07:00
Mark Thom a239007db0 target prolog_parser_rebis on crates.io 2021-01-30 22:03:07 -07:00
Mark Thom c5e5eb8b86 explain motive for Rebis development branch in README.md 2021-01-30 21:29:41 -07:00
Mark Thom a4d15bfb88 move to a predicate-based module system, move to loader.[rs|pl]-based compilation, add support for incremental clause compilation 2021-01-30 21:07:51 -07:00
Mark Thom b33158b92e Merge pull request #766 from aarroyoc/http-form
HTTP Server: urlencoded forms and some syntax improvements
2021-01-30 13:55:40 -07:00
Mark Thom 3b30c4d487 Merge pull request #769 from notoria/between
Removed redundant choicepoint from between/3
2021-01-30 13:55:05 -07:00
Mark Thom 70aa4934c5 Merge pull request #762 from aarroyoc/gh-action
GitHub Actions
2021-01-23 13:31:02 -07:00
Mark Thom d362ca3a6d Merge pull request #747 from triska/determinism
reflect better determinism thanks to #732
2020-12-29 14:43:30 -07:00
Mark Thom b8020db029 Merge pull request #726 from aarroyoc/http-server
HTTP Server
2020-12-29 13:07:59 -07:00
Mark Thom 01f73b11d8 fix bug in code walker causing entire clauses to be skipped (#736) 2020-12-26 22:35:28 -07:00
Mark Thom dd07226ab4 Merge pull request #743 from triska/determinism
reflect determinism improvement thanks to the latest changes
2020-12-23 13:22:02 -07:00
Mark Thom 6ad1e57123 Merge pull request #741 from triska/determinism
reflect improved determinism thanks to the improvements by @notoria
2020-12-22 19:18:46 -07:00
Mark Thom d290596c1d Merge pull request #740 from triska/indexing
small documentation improvements related to the new indexing strategy
2020-12-22 15:39:17 -07:00
Mark Thom 342b4a3b52 Merge pull request #734 from triska/deterministic_format
ENHANCED: format_//2, format/[2,3], portray_clause/1 are now deterministic
2020-12-22 14:51:56 -07:00
Mark Thom 19652e6367 Merge pull request #732 from notoria/indexing
Implemented a different way to index clauses
2020-12-22 14:51:10 -07:00
Mark Thom 22ffb1f53f Merge pull request #729 from brightly-salty/replace-dirs
Replace dirs with dirs-next
2020-12-15 10:04:46 -07:00
Mark Thom 7bde174b40 Merge pull request #722 from aarroyoc/history-file
History file support (Rustyline 7.0) (#152)
2020-12-06 15:50:52 -07:00
Mark Thom cf8014582b Merge pull request #720 from aarroyoc/max-min-list
Add list_max & list_min to lists module
2020-12-06 15:39:42 -07:00
Mark Thom c55de17ca8 Merge pull request #710 from triska/clpz-reif
ADDED: Provisional support for (#=)/3 and (#<)/3.
2020-11-08 14:40:32 -07:00
Mark Thom b9a53e441e support number/1 2020-11-03 23:38:55 -07:00
Mark Thom add62c2093 Merge branch 'master' of https://github.com/mthom/rusty-wam into master 2020-10-22 00:24:30 -06:00
Mark Thom de01ac233c Merge pull request #706 from malbarbo/fix-num
Fix build with num features
2020-10-20 21:43:03 -06:00
Mark Thom c9e926f451 Merge branch 'master' of https://github.com/mthom/rusty-wam into master 2020-10-20 15:25:38 -06:00
Mark Thom 5fbdb1af9f Merge pull request #702 from triska/showterm
Add showterm.el and showterm.pl to the distribution
2020-10-03 12:20:02 -06:00
Mark Thom ed7a4514de Merge pull request #700 from triska/development_environment
DOC: Development environment recommendations.
2020-10-01 13:41:52 -06:00
Mark Thom d71d9cc8ef Merge branch 'master' of https://github.com/mthom/rusty-wam into master 2020-09-14 10:46:11 -06:00
Mark Thom 108b62d839 Merge pull request #698 from triska/file_must_exist
ENHANCED: library(files): Error handling if requested files do not exist.
2020-09-13 10:30:50 -06:00
Mark Thom c39b239d78 Merge pull request #696 from triska/format_distinct_variables
FIXED: format_//2: Keep different variables distinct.
2020-09-05 08:50:07 -06:00
Mark Thom 03d1da4bf2 Merge pull request #694 from triska/write_all
FIXED: reliably write all characters when using format/3
2020-09-02 12:52:53 -06:00
Mark Thom 7e7aa7992a Merge pull request #689 from matteoredaelli/patch-1
Update README.md
2020-08-25 12:27:13 -03:00
Mark Thom 3ba2b8ade6 Merge pull request #686 from triska/call_nth
ADDED: Preliminary version of call_nth/2.
2020-08-24 16:07:40 -03:00