Commit Graph
100 Commits
Author SHA1 Message Date
Mark Thom 9f398b2552 perform term and goal expansion on asserted dynamic predicates inside modules 2019-03-09 13:41:33 -07:00
Mark Thom 870aa7651e propagate dynamic database changes to toplevel 2019-03-09 03:19:32 -07:00
Mark Thom adf9629333 stop module dynamic predicate modifications from taking on the user module index. 2019-03-09 00:37:58 -07:00
Mark Thom 92c36aa0d9 properly update dynamically updated predicates in module indices 2019-03-08 23:11:06 -07:00
Mark Thom da0e1b9436 add assoc.pl, add max evaluable functor 2019-03-08 22:31:12 -07:00
Mark Thom 089428b8c4 split dynamic database keys across modules 2019-03-08 21:22:15 -07:00
Mark Thom 267d1a9f5f improve Rust-generated permissions errors 2019-03-07 23:46:01 -07:00
Mark Thom 3cb1996e61 make clause/2 global in scope 2019-03-07 23:32:41 -07:00
Mark Thom 933c19c317 correct clause/2 to work only on properly scoped terms 2019-03-07 22:55:54 -07:00
Mark Thom b1e47cc465 further cross-module dynamic database fixes 2019-03-07 22:01:03 -07:00
Mark Thom 72f759da40 correct mismanagement of dynamic database across modules 2019-03-07 20:27:55 -07:00
Mark Thom 72c8807ff1 update toplevel exports when updated dynamically 2019-03-06 23:35:50 -07:00
Mark Thom d4de3c2003 update toplevel exports when updated dynamically 2019-03-06 22:33:16 -07:00
Mark Thom 2467df232d Merge branch 'master' of https://github.com/mthom/rusty-wam 2019-03-06 21:53:17 -07:00
Mark Thom b69bf71ff4 support module modification using dynamic database predicates 2019-03-06 21:53:08 -07:00
Mark Thom 07fe30c970 correct abolish/1 2019-03-06 09:54:27 -07:00
Mark Thom d49917c88f give module bounds a better respect for dynamic predicates 2019-03-06 09:17:24 -07:00
Mark Thom c8ea788720 give dynamic predicates a better respect for module bounds 2019-03-06 00:51:21 -07:00
Mark Thom 6439d09733 give dynamic predicates a better respect for module bounds 2019-03-06 00:09:55 -07:00
Mark Thom 20e9042350 refactor compile_work 2019-03-05 00:47:12 -07:00
Mark Thom 14f05a67e3 separate constraint checks and code addition into separate phases in machine::compile 2019-03-05 00:17:56 -07:00
Mark Thom e51e816178 current_predicate skips undefined predicates 2019-03-04 22:44:43 -07:00
Mark Thom e4cc54104e add another test, add unwind_protect! 2019-03-04 22:34:17 -07:00
Mark Thom 11026e2741 remove extraneous slashes in builtins.pl 2019-03-04 22:03:04 -07:00
Mark Thom 3d8c0a43a6 refactor to actual modules 2019-03-03 23:29:02 -07:00
Mark Thom f458d12676 remove unification from dif/2 2019-03-03 18:14:05 -07:00
Mark Thom f35008cbd6 condense reverse even further 2019-03-03 17:36:20 -07:00
Mark Thom 3fc0a230fa tighten reverse/2 2019-03-03 10:37:34 -07:00
Mark Thom 74521a93d3 improve reverse/2 2019-03-03 02:50:49 -07:00
Mark Thom 8ca1bb5688 eliminate redundant set_p function 2019-03-02 23:13:54 -07:00
Mark Thom 586375ce4c do not hard code arity in builtins.pl 2019-03-02 22:58:37 -07:00
Mark Thom 77652d4458 correct inlining calling in last call context 2019-03-02 22:57:07 -07:00
Mark Thom e4cb904470 correct inlined calling bug in last call, add dynamic database manipulation predicates 2019-03-02 16:57:45 -07:00
Mark Thom 2fb5408ab5 add assertz/1 and asserta/1 2019-03-02 00:27:40 -07:00
Mark Thom 818a971833 start enabling the dynamic database 2019-02-28 21:49:07 -07:00
Mark Thom 9db7172bfe remove defunct dependency from reif.pl 2019-02-25 17:40:37 -07:00
Mark Thom 7f8c6eb3f5 make better use of can_be in between library 2019-02-24 15:15:00 -07:00
Mark Thom dc89ed57f2 evacuate when allocating anon vars 2019-02-24 13:40:58 -07:00
Mark Thom 8f9c620a89 remove redundancy positivity check in repeat/1 2019-02-24 13:12:46 -07:00
Mark Thom 7edbb540bd use can_be and must_be in library(between) 2019-02-24 13:10:31 -07:00
Mark Thom 767f98eaa3 begin work on between library 2019-02-24 03:45:41 -07:00
Mark Thom a9a0343815 add numlist/3 2019-02-24 03:38:07 -07:00
Mark Thom 67ae47a01a begin work on between library 2019-02-23 19:59:13 -07:00
Mark Thom 20b66e283f add correct error sources to bagof/3, setof/3, findall/4 2019-02-22 23:37:19 -07:00
Mark Thom 5155d4667f add examples from the power of prolog 2019-02-22 23:25:19 -07:00
Mark Thom 1d331757e2 add findall/4, bagof/3, setof/3 2019-02-22 23:22:25 -07:00
Mark Thom 0f01d37618 properly report deterministically successful queries 2019-02-22 19:38:49 -07:00
Mark Thom 6ba47b6b08 use acyclic iteration when projecting onto query vars 2019-02-22 17:48:49 -07:00
Mark Thom f41b5f465e add findall/3 2019-02-22 00:56:04 -07:00
Mark Thom 0453435bcd change project_attributes to use attribute vars queue 2019-02-20 19:34:31 -07:00
Mark Thom e66928725a remove clone from unwind_trail in copier.rs 2019-02-19 22:32:25 -07:00
Mark Thom bf62fd7f78 refactor parts of machine_state_impl.rs that consume copier.rs 2019-02-19 22:01:50 -07:00
Mark Thom b710112df2 refactor copier.rs 2019-02-19 22:00:13 -07:00
Mark Thom 2467f6c711 add call_residue_vars/2 2019-02-18 21:13:56 -07:00
Mark Thom a460e84c57 sort attribute goals before deduplicating them linearly 2019-02-17 12:23:25 -07:00
Mark Thom 896914b8e9 do not count calls to $reify_switch as inferences 2019-02-17 11:51:24 -07:00
Mark Thom a898824b65 ensure stdin is not being locked more than once 2019-02-17 01:33:35 -07:00
Mark Thom 023fec0d9d fix term expansion bug 2019-02-17 00:55:22 -07:00
Mark Thom b7dd76bf37 add library(reif) 2019-02-16 16:34:38 -07:00
Mark Thom d2afd2dd19 cleanup accessors, various other things 2019-02-16 14:40:56 -07:00
Mark Thom 10d5c00f4b polish freeze.pl and dif.pl 2019-02-15 21:04:20 -07:00
Mark Thom 818eeb6c57 correct attribute_goals/2 bug, add freeze/2, update README 2019-02-15 20:44:31 -07:00
Mark Thom 74a0f8b899 correct attribute_goals/2 bug, add freeze/2, update README 2019-02-15 20:44:15 -07:00
Mark Thom 3fb91fe0c8 update README 2019-02-14 22:05:47 -07:00
Mark Thom 9abe70113a correct project_attributes, correct compare_term_test and eq_test, polish attribute_goals/2 2019-02-14 21:59:24 -07:00
Mark Thom 6b879467f3 fix needless check in dif/2 implementation 2019-02-14 16:12:24 -04:00
Mark Thom 8958a563de fix bug in dif/2 implementation 2019-02-14 01:19:11 -07:00
Mark Thom 2af6a00ff2 remove extraneous [ from dif.pl 2019-02-14 01:13:55 -07:00
Mark Thom cd5549ee5b fix attribute_goals/2 display bugs, cycle detection bug 2019-02-14 01:12:52 -07:00
Mark Thom f616b4ddfd prepare to add project_attributes/2 and attribute_goals/2 2019-02-13 14:18:41 -07:00
Mark Thom 7edc2567a8 call verify_attributes/3 once per module 2019-02-12 18:12:18 -07:00
Mark Thom 06021e2373 fix attributed variables dealing with NeckCut on return 2019-02-12 08:38:46 -07:00
Mark Thom e36485533d bracket verify_attributes/3 interrupts with allocation and deallocation of stack frames. 2019-02-11 21:21:13 -07:00
Mark Thom c3a5f25239 correct and update README 2019-02-10 12:56:13 -07:00
Mark Thom 1a76786112 correct and update README 2019-02-10 12:55:18 -07:00
Mark Thom 3a340ed01c cut when finished verify_attributes/3 calls 2019-02-10 11:14:06 -07:00
Mark Thom 938ec60379 correct error catching in call_verify_attributes/4 2019-02-09 14:21:58 -07:00
Mark Thom 197d079281 call goals in one batch after rebinding variables, add minatotask.pl, update README 2019-02-09 13:57:03 -07:00
Mark Thom 33dbe3bb45 correct bugs in verify_attributes handling 2019-02-09 00:16:57 -07:00
Mark Thom 661f9b7414 add preliminary support for verify_attributes/3 2019-02-07 23:33:55 -07:00
Mark Thom 7c2f626d56 add verify_attributes driver code 2019-02-06 22:26:22 -07:00
Mark Thom 046569b6a9 flatten CompiledQuery and CompiledFact in Code, remove CompiledQuery 2019-02-06 22:25:41 -07:00
Mark Thom 9f8dd56c3c correct misspelled AttrVar in copier.rs 2019-02-05 19:43:16 -07:00
Mark Thom 3f5ff2eae1 properly copy already-copied attributed variables as shallow members of lists 2019-02-04 23:04:31 -07:00
Mark Thom 3d5489496e add support for copying attributed variables in copy_term 2019-02-04 22:56:23 -07:00
Mark Thom 8e22dda747 add support for copying attributed variables in copy_term 2019-02-04 22:32:31 -07:00
Mark Thom 50dd3afaa8 add support for copying attributed variables in copy_term 2019-02-04 21:24:26 -07:00
Mark Thom 2267b080ce use bind to write constants to variables 2019-02-03 20:08:34 -07:00
Mark Thom 8a3a79de3c copy attribute list in get_atts 2019-02-03 16:10:12 -07:00
Mark Thom 3cfbbb23a3 introduce a better binding scheme for attributed variables 2019-02-03 15:16:30 -07:00
Mark Thom f51405bc04 fix bug in DeleteAttribute 2019-02-02 19:25:12 -07:00
Mark Thom a28c8934f3 record perm vars only while resident stack frame is still up 2019-02-02 12:45:50 -07:00
Mark Thom 8f771792b3 add Addr::AttVar to address ordering 2019-02-02 12:20:39 -07:00
Mark Thom c5fbff505b expand goals in queries and queues 2019-02-01 23:36:51 -07:00
Mark Thom b6922e2a0d fix Cargo.toml 2019-01-30 21:52:01 -07:00
Mark Thom fcffb90549 add atts.pl, various fixes 2019-01-30 21:31:48 -07:00
Mark Thom 4f87fb8535 add AttrVar variant to Addr 2019-01-26 20:46:37 -07:00
Mark Thom 6e735bc2d4 add TrailRef type for trail 2019-01-26 20:06:27 -07:00
Mark Thom 91b85db90c flatten bracketed commas in dcgs 2019-01-26 14:38:54 -07:00
Mark Thom ef3d3aa01a fix unsafe variable handling 2019-01-24 23:38:53 -07:00