Commit Graph

57 Commits

Author SHA1 Message Date
Mark Thom
6e4b76a3b4 compile special instructions for partial strings when recognized 2020-04-11 21:53:28 -06:00
Mark Thom
d76ae413c4 use fixnums in place of bignums where possible 2020-04-05 20:32:16 -06:00
Mark Thom
141f3bcec3 harmonize partial strings with complete strings (#276), make Addr a copyable type 2020-04-03 10:22:46 -06:00
Mark Thom
194e5dc94e initial commit for merge 2020-03-26 22:01:23 -06:00
Mark Thom
b1d8eff019 remove Addr::PStrTail (#276) 2020-03-17 02:03:29 -06:00
Mark Thom
25babff827 add streams.rs, consume them in place of the old PrologStream 2020-03-09 11:56:16 -06:00
Mark Thom
0457b38e41 add redone partial strings (#24, #95) 2020-02-19 21:34:09 -07:00
Mark Thom
740bd528c4 add multifile and module scoped predicates 2020-02-02 22:13:14 -07:00
Mark Thom
196784bd09 change goal and term expansions, change call/N to use goal expansions 2019-12-10 21:36:02 -07:00
Mark Thom
ed985c3cfe move more of the toplevel from rust into prolog 2019-11-16 00:26:15 -07:00
Mark Thom
e656e7fbae add sign/1 (#216) and gcd/2 (#217) as evaluable functors, update the README 2019-10-27 13:05:05 -06:00
Mark Thom
a358431d30 reload files properly (re: #213) 2019-10-26 01:34:41 -06:00
Yu Ding
adb469f627 Upgrade to edition. Bump up edition in Cargo.toml 2019-10-14 00:23:32 -07:00
Mark Thom
1d41489381 correct off by 1 error in verify_attrs_interrupt, revert to previous lists.pl 2019-10-12 19:14:33 -06:00
Mark Thom
516c66a47d properly handle undefined predicates declared dynamic 2019-10-02 22:01:32 -06:00
Mark Thom
9df14cf890 add use_module/{1,2} as full fledged predicates 2019-09-30 10:26:29 -06:00
Atul Bhosale
1273e2d52d Format code using 'cargo fmt' 2019-09-23 19:35:37 +07:00
Mark Thom
9d2ac9e235 address issue #153 2019-09-05 22:43:50 -06:00
Mark Thom
2c880b2bc0 address issues #143, #150, #155 2019-09-02 16:53:31 -04:00
Mark Thom
f344150322 revamp evaluable functors, add missing evaluable functors 2019-05-12 20:14:00 -04:00
Mark Thom
3fd274c583 add remaining atomic term processing builtins, rename (=@=)/2 to variant/2, address issue #133 2019-04-30 20:55:53 -06:00
Mark Thom
fb023c99c1 respect ambiguity with ., add ... to indicate more answers 2019-04-29 22:44:53 -06:00
Mark Thom
ae90554378 read from streams. 2019-04-13 18:40:17 -06:00
Mark Thom
272b4f6d8d add current_op/3 2019-04-05 21:25:49 -06:00
Mark Thom
3912a4772d fix conformity errors 2019-04-04 22:51:00 -06:00
Mark Thom
e3e0473b69 fix term_variables, add (^)/2 as an actual evaluable functor 2019-04-01 09:04:50 -06:00
Mark Thom
0aefcf7eae add op/3 to builtin predicates 2019-03-30 18:14:47 -06:00
Mark Thom
f55968b1b8 properly demarcate ops in dbrefs 2019-03-30 13:38:03 -06:00
Mark Thom
381ad12104 add db refs 2019-03-27 23:00:59 -06:00
Mark Thom
155c54c99d fix toplevel heap view 2019-03-24 10:10:43 -06:00
Mark Thom
ca5138ccea fix toplevel heap view 2019-03-24 09:55:20 -06:00
Mark Thom
11198fdb31 print attribute goals alongside variable bindings as a single, unified goals 2019-03-24 00:26:29 -06:00
Mark Thom
0b79ae0524 do not print unbound vars at toplevel 2019-03-23 09:43:05 -06:00
Mark Thom
380375228b allow toplevel answers to be passed back as queries 2019-03-22 10:00:07 -06: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
6439d09733 give dynamic predicates a better respect for module bounds 2019-03-06 00:09:55 -07:00
Mark Thom
3d8c0a43a6 refactor to actual modules 2019-03-03 23:29:02 -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
818a971833 start enabling the dynamic database 2019-02-28 21:49:07 -07:00
Mark Thom
7edbb540bd use can_be and must_be in library(between) 2019-02-24 13:10:31 -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
a898824b65 ensure stdin is not being locked more than once 2019-02-17 01:33:35 -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
e36485533d bracket verify_attributes/3 interrupts with allocation and deallocation of stack frames. 2019-02-11 21:21:13 -07:00
Mark Thom
3cfbbb23a3 introduce a better binding scheme for attributed variables 2019-02-03 15:16:30 -07:00
Mark Thom
c5fbff505b expand goals in queries and queues 2019-02-01 23:36:51 -07:00
Mark Thom
fcffb90549 add atts.pl, various fixes 2019-01-30 21:31:48 -07:00