Commit Graph

124 Commits

Author SHA1 Message Date
Mark Thom
7455c2e9db add support for callable if-then and disjunct 2018-05-12 00:30:34 -06:00
Mark Thom
ba7e7ac895 throw exception when call-ing a system instruction. 2018-05-10 23:08:56 -06:00
Mark Thom
910bafef61 port remaining builtins to SystemClauseType 2018-05-10 22:40:01 -06:00
Mark Thom
5a631c17c7 make system calls exempt from call policy. 2018-05-10 22:24:15 -06:00
Mark Thom
0f980e204d add more tests that pass. 2018-05-10 19:47:53 -06:00
Mark Thom
954c29b103 add catch/throw support, make exceptions and arithmetic tests pass. 2018-05-10 01:43:36 -06:00
Mark Thom
bae107f8cd eliminate need for embedded, handwritten WAM code. 2018-05-09 22:58:23 -06:00
Mark Thom
b09c20670b shift to builtins 2018-05-08 22:38:49 -06:00
Mark Thom
1a0f50200f system calls preliminary 2018-05-07 22:27:58 -06:00
Mark Thom
d6495c8195 add support for printing cyclic terms. 2018-05-05 01:53:05 -06:00
Mark Thom
0dec988337 add error handling appartus 2018-05-02 21:24:43 -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
b87d599b14 change modules when updating code index (re: issue #27) 2018-04-20 14:03:04 -06:00
Mark Thom
989d44d702 make module code entries immutable (re: issue #27) 2018-04-18 19:24:32 -06:00
Mark Thom
35694e7622 print characters correctly 2018-04-16 23:25:37 -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
fe481fedce throw exceptions when calling non-existent predicates. broken. 2018-04-08 15:17:58 -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
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
80b59bae83 add acyclic term 2018-03-28 21:17:46 -06:00
Mark Thom
b7f926bade clean up call clause stuff. 2018-03-26 18:16:23 -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
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
b1c41f211b add qualified imports 2018-03-05 21:13:07 -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
8a63623516 add provisional module support. 2018-03-02 22:28:12 -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
cf9db43d5b major refactor. 2018-02-25 12:13:07 -07:00
Mark Thom
8d182b3f02 fix bugs in call_with_inference_limit 2018-02-23 00:16:40 -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
61bc5a2a29 fix compile_seq, variable printing on standalone inlines. 2018-02-16 22:18:17 -07:00
Mark Thom
f1ac75f21d add (\=)/2. 2018-02-14 23:21:56 -07:00
Mark Thom
ae323a0cdf add term comparison operators. 2018-02-13 23:34:44 -07:00
Mark Thom
a1fb4f529b move several builtins to control. 2018-02-12 18:30:44 -07:00