Commit Graph
100 Commits
Author SHA1 Message Date
Mark Thom 8974035fed correct the copier's mishandling of cyclic lists 2018-05-04 15:44:11 -06:00
Mark Thom 11800532c9 fix errors emitted by sort and keysort, add tests, add support for Max = -1 to '$skip_max_list' 2018-05-03 20:15:45 -06:00
Mark Thom 29356fbc3b Merge branch 'master' of http://github.com/mthom/rusty-wam 2018-05-03 17:37:12 -06:00
Mark Thom e7c2c2cedd correct sort/keysort refusing [] 2018-05-03 17:36:59 -06:00
Mark Thom 76bae21ff6 correct keysort type error (re: #34) 2018-05-03 11:52:33 -06:00
Mark Thom df1421dae8 remove unnecessary store/deref in keysort error checking 2018-05-02 21:54:09 -06:00
Mark Thom d69bc4ed10 fix keysort error detection bugs 2018-05-02 21:52:34 -06:00
Mark Thom 3c72441f68 add proper error messages for keysort and sort, (re: issues #30, #32) 2018-05-02 21:33:03 -06:00
Mark Thom 0dec988337 add error handling appartus 2018-05-02 21:24:43 -06:00
Mark Thom b23f17678c Merge branch 'master' of http://github.com/mthom/rusty-wam into develop 2018-05-01 20:36:27 -06:00
Mark Thom e38bf58e6c move existence_error function in machine_st_impl.rs 2018-05-01 20:36:19 -06:00
Mark Thom d51c950b77 clean up detect_cycles 2018-05-01 10:52:57 -06:00
Mark Thom 0458a70527 handle non-list cases in '', add '' as a built-in (re: issue #31) 2018-05-01 10:11:27 -06:00
Mark Thom 516b67460d add '', type checking for incomplete lists in sort, keysort (re: #17) 2018-04-29 21:53:20 -06:00
Mark Thom 13280abbb2 Merge branch 'master' of http://github.com/mthom/rusty-wam into develop 2018-04-25 18:59:59 -06:00
Mark Thom 58515d071c skip_max_list preliminaries 2018-04-25 18:59:52 -06:00
Mark Thom ed9689368d properly support module imports from within modules. 2018-04-25 17:11:46 -06:00
Mark Thom 1415a5c98c add other declarations properly 2018-04-25 12:02:38 -06:00
Mark Thom a891b9327c protect imported predicates from being overwritten (re: issue #28) 2018-04-23 15:55:53 -06:00
Mark Thom b87d599b14 change modules when updating code index (re: issue #27) 2018-04-20 14:03:04 -06:00
Mark Thom 09bd087ba5 metacall always hashes in user (re: issue #27) 2018-04-18 19:32:58 -06:00
Mark Thom 989d44d702 make module code entries immutable (re: issue #27) 2018-04-18 19:24:32 -06:00
Mark Thom a4789a73ef correct-ish definition of reverse. 2018-04-18 15:34:09 -06:00
Mark Thom 167d8a7590 correct-ish definition of reverse. 2018-04-18 15:31:36 -06:00
Mark Thom 56318b09d0 add predicate existence errors for failed metacalls. 2018-04-17 09:26:13 -06:00
Mark Thom 35694e7622 print characters correctly 2018-04-16 23:25:37 -06:00
Mark Thom c02c88b6f0 add functional notation for operators. 2018-04-16 22:00:30 -06:00
Mark Thom 54b17a6782 update to lexer error handling. 2018-04-14 15:38:06 -06:00
Mark Thom fcb468b844 fix lexer bugs. 2018-04-14 11:59:57 -06:00
Mark Thom ff6e58e987 update/extension to lexer, bug fixes to module importing 2018-04-13 18:44:23 -06:00
Mark Thom ed9cca0750 throw exception when predicate not found 2018-04-09 21:27:50 -06:00
Mark Thom fe481fedce throw exceptions when calling non-existent predicates. broken. 2018-04-08 15:17:58 -06:00
Mark Thom 32ebe1a47f correct mishandled blocking of cuts 2018-04-08 11:29:30 -06:00
Mark Thom a7445e856a properly handle cuts in conditionals 2018-04-08 00:33:54 -06:00
Mark Thom 273e0a0b94 fix cut expansions, clean up code. 2018-04-07 17:08:01 -06:00
Mark Thom d6c148d5e9 fix cut expansions. 2018-04-07 16:44:51 -06:00
Mark Thom 5d0674a667 incomplete cut corrections. 2018-04-07 00:15:34 -06:00
Mark Thom 2e65f7243c rename fabricate_predicate to fabricate_disjunct 2018-04-05 16:00:50 -06:00
Mark Thom 7c4af6f311 add the notion of unbound variables to register allocators. 2018-04-05 14:02:20 -06:00
Mark Thom 31e07420e7 inline (,)/2 properly 2018-04-03 21:48:19 -06:00
Mark Thom cf741f365c limit hash lookups to metacall 2018-04-02 13:50:01 -06:00
Mark Thom 7b160199fd add cyclic_term 2018-03-28 23:41:19 -06:00
Mark Thom ef65c996ec update README 2018-03-28 21:23:11 -06:00
Mark Thom 94939e793b add call support for acyclic_term 2018-03-28 21:20:50 -06:00
Mark Thom 80b59bae83 add acyclic term 2018-03-28 21:17:46 -06:00
Mark Thom eb694cbba7 remove flatten 2018-03-26 19:05:23 -06:00
Mark Thom 933b94ef82 add repeat 2018-03-26 18:59:58 -06:00
Mark Thom 2691382771 add flatten. 2018-03-26 18:49:43 -06:00
Mark Thom a937eb4d8c clean up call clause stuff. 2018-03-26 18:16:39 -06:00
Mark Thom b7f926bade clean up call clause stuff. 2018-03-26 18:16:23 -06:00
Mark Thom 261bb15bdf update README 2018-03-24 11:42:26 -06:00
Mark Thom f160761cf9 eliminating double counting for call_with_inference_limit. 2018-03-22 14:15:40 -06:00
Mark Thom e206c8b7fb remove extraneous code. 2018-03-19 20:01:32 -06:00
Mark Thom 612835500c remove redundant code from arith_eval_by_metacall 2018-03-18 19:25:45 -06:00
Mark Thom 9430bee825 correct delayed evaluation for negation, rational decls 2018-03-17 19:04:13 -06:00
Mark Thom 23afcdd6d4 remove extraneous comments. 2018-03-17 15:46:12 -06:00
Mark Thom a66049a321 refactor BuiltInInstruction 2018-03-17 15:45:17 -06:00
Mark Thom 64ab9a0337 remove DynamicIs 2018-03-17 15:01:31 -06:00
Mark Thom d8bcf47462 refactor ControlInstruction 2018-03-17 01:26:50 -06:00
Mark Thom faabe85e75 minor tweak to printer code 2018-03-16 16:23:27 -06:00
Mark Thom ea1414e738 correct sort, keysort 2018-03-11 19:51:25 -06:00
Mark Thom acdb3f2c45 add sort, keysort. 2018-03-11 17:37:29 -06:00
Mark Thom 7500465b38 add atom predicate. 2018-03-10 15:26:35 -07:00
Mark Thom 2cc5367c52 add is_list 2018-03-09 19:27:22 -07:00
Mark Thom b5b44fe5a2 remove b0 slot from AND stack frames. 2018-03-09 19:13:06 -07:00
Mark Thom 2bdf95e62d further debray fix. 2018-03-08 22:54:36 -07:00
Mark Thom 279233f73b reformat io.rs 2018-03-08 21:15:18 -07:00
Mark Thom f8389e889e further allocation fixes. 2018-03-08 12:51:06 -07:00
Mark Thom cb9aafbccf further allocation fixes. 2018-03-08 12:38:38 -07:00
Mark Thom 179e425fb6 add queues, fix debray allocator bug. 2018-03-08 00:29:56 -07:00
Mark Thom 10db0f58dd fix README 2018-03-07 17:25:33 -07:00
Mark Thom ab182b6e3b add error messages on failed batch entry 2018-03-07 17:19:28 -07:00
Mark Thom beeb246632 cleanup README 2018-03-05 21:18:55 -07:00
Mark Thom b1c41f211b add qualified imports 2018-03-05 21:13:07 -07:00
Mark Thom dbab7a8667 fix README 2018-03-04 21:38:55 -07:00
Mark Thom 6d3bde1144 correct module bugs 2018-03-04 21:37:29 -07:00
Mark Thom 0c66743db5 correct module bugs 2018-03-04 21:35:30 -07:00
Mark Thom ba6d753a56 remove module decls from toplevel when they are redeclared. 2018-03-03 22:31:10 -07:00
Mark Thom 7edf924c05 update README with build instructions 2018-03-03 16:48:00 -07:00
Mark Thom c4a206da02 simplify heap_iter.rs 2018-03-02 22:31:34 -07:00
Mark Thom 8a63623516 add provisional module support. 2018-03-02 22:28:12 -07:00
Mark Thom 33834609c3 add ; key. 2018-02-27 17:21:43 -07:00
Mark Thom 92cd018bc7 . 2018-02-26 19:28:19 -07:00
Mark Thom 7906982d4d clean up compile_seq. 2018-02-26 17:12:06 -07:00
Mark Thom 07675b3675 fix exception handling when thrown by throw_exception, and within setup_call_cleanup and call_with_inference_limit. 2018-02-25 23:43:37 -07:00
Mark Thom c133931134 add fixes, further test cases. 2018-02-25 22:38:28 -07:00
Mark Thom 82f0f7c7fe updated blurbs 2018-02-25 12:48:54 -07:00
Mark Thom cf9db43d5b major refactor. 2018-02-25 12:13:07 -07:00
Mark Thom 05c1275acf switch internal counts to use BigUint. 2018-02-24 09:41:25 -07:00
Mark Thom ec276a7766 add more tests. 2018-02-23 16:43:12 -07:00
Mark Thom 8d182b3f02 fix bugs in call_with_inference_limit 2018-02-23 00:16:40 -07:00
Mark Thom 5c5257bdbd add more tests 2018-02-22 18:33:00 -07:00
Mark Thom bdd4fe6eb3 add more tests 2018-02-22 17:00:03 -07:00
Mark Thom 9aac3cb086 add compare predicate. 2018-02-21 23:21:18 -07:00
Mark Thom 5de03444eb fix bugs in call_with_inference_limit 2018-02-21 19:46:15 -07:00
Mark Thom 7313472a70 add call_with_inference_limit 2018-02-19 22:34:56 -07:00
Mark Thom 8b566ab4e5 set compound to succeed on non-empty lists. 2018-02-16 22:34:27 -07:00
Mark Thom 61bc5a2a29 fix compile_seq, variable printing on standalone inlines. 2018-02-16 22:18:17 -07:00
Mark Thom 280dbe9539 clear unintended whitespace 2018-02-16 16:21:37 -07:00
Mark Thom cf67b938c0 add structural equality and inequality predicates. 2018-02-15 18:31:03 -07:00