Commit Graph

80 Commits

Author SHA1 Message Date
Mark Thom
ebd62a2c91 add slightly more descriptive syntax errors 2018-08-30 00:35:42 -06:00
Mark Thom
92e338861d add clean errors for read, re: #45 2018-08-26 20:34:43 -06:00
Mark Thom
7884a20042 support strings as char lists in term comparisons 2018-08-23 01:24:26 -06:00
Mark Thom
f861b7a80e update to handle strings as lists. 2018-08-22 00:26:48 -06:00
Mark Thom
013eb29e2b add string table, StringList representation 2018-08-21 00:22:16 -06:00
Mark Thom
d19ece6df8 add some prolog flags, tabled strings 2018-08-18 18:03:28 -06:00
Mark Thom
f9e6b7fec5 get rid of dynamic lookup for
$call_with_default_policy.
2018-08-12 23:17:34 -06:00
Mark Thom
0cc4aa77ed complete call_with_inference_limit/3 2018-08-09 00:31:41 -06:00
Mark Thom
3fef717677 set CWILCallPolicy count field back to private 2018-08-08 00:47:48 -06:00
Mark Thom
7016d378d6 add call_with_inference_limit/3 2018-08-08 00:42:57 -06:00
Mark Thom
707e5fcf8b restore setup_call_cleanup/3 2018-08-04 16:12:37 -06:00
Mark Thom
38dcd6113e preliminary read support 2018-07-25 17:12:07 -06:00
Mark Thom
82ff377585 add numbered vars to writeq 2018-07-16 20:12:50 -06:00
Mark Thom
f5e254dd64 add support for quoted atoms to writeq 2018-07-15 17:54:37 -06:00
Mark Thom
cd03b7795f finalize the module resolution operator. 2018-07-08 15:21:09 -06:00
Mark Thom
4608c4fe58 fix offsetting of heap in existence errors 2018-05-20 16:26:52 -06:00
Mark Thom
06d896277c major refactor 2018-05-15 22:47:36 -06:00
Mark Thom
8f1d721477 move SGC and call inference instructions over to SystemClauseType 2018-05-15 00:23:42 -06:00
Mark Thom
9a88d179d1 remove IsClause 2018-05-14 16:43:49 -06:00
Mark Thom
81d0538a5c switch to machine implemented arg 2018-05-13 14:55:44 -06:00
Mark Thom
5690409534 correct faulty bind (two tests now fail: conjunctive_queries and lists) 2018-05-12 15:51:20 -06:00
Mark Thom
0951bcff58 add arg 2018-05-12 01:21:31 -06:00
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
5a631c17c7 make system calls exempt from call policy. 2018-05-10 22:24:15 -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
885d7c04e3 simplify detection of cycles in printer 2018-05-05 13:20:06 -06:00
Mark Thom
d6495c8195 add support for printing cyclic terms. 2018-05-05 01:53:05 -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
3c72441f68 add proper error messages for keysort and sort, (re: issues #30, #32) 2018-05-02 21:33:03 -06:00
Mark Thom
e38bf58e6c move existence_error function in machine_st_impl.rs 2018-05-01 20:36:19 -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
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
56318b09d0 add predicate existence errors for failed metacalls. 2018-04-17 09:26:13 -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
a7445e856a properly handle cuts in conditionals 2018-04-08 00:33:54 -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
a937eb4d8c clean up call clause stuff. 2018-03-26 18:16:39 -06:00
Mark Thom
f160761cf9 eliminating double counting for call_with_inference_limit. 2018-03-22 14:15:40 -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