Commit Graph

204 Commits

Author SHA1 Message Date
Mark Thom
3bf1cbbe6c push of preliminary delimited continuations library cont.pl (#136) 2019-12-20 22:27:49 -07:00
Mark Thom
02d8b1441d expand goals inside (\+)/1 2019-12-11 21:42:15 -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
2be7070e1a revert arithmetic code 2019-12-08 00:17:55 -07:00
Mark Thom
d6e75110a5 reconcile latest changes against stack changes 2019-12-07 18:59:03 -07:00
Mark Thom
3d2c4f0801 add backtracking of attributed variable data 2019-12-06 20:52:40 -04:00
Mark Thom
9ae029b04d pop AND stack frames after unwinding the trail (#250) 2019-12-03 23:11:57 -07:00
Mark Thom
e48f87fcf0 clear ball before setting it (#246) 2019-12-01 03:04:01 -07:00
Mark Thom
0eb20a5d8e pop AND frames when safe to do so, suspend resizing of AND frames until a proper GC is implemented (#244) 2019-11-30 14:08:02 -07:00
Mark Thom
3e49db1a29 backtrack attributed variable bindings after failure (#242) 2019-11-29 13:47:22 -04:00
Mark Thom
9c9c484ee4 add copy_term/3 (#232) 2019-11-29 00:44:23 -07:00
Mark Thom
f998d6a99f merge latest commit 2019-11-28 21:22:59 -04:00
Mark Thom
5723edd765 unsafe stack transition 2019-11-28 21:22:03 -04:00
Mark Thom
9ae901bd0d terms containing attributed variables are not ground (#239) 2019-11-27 14:13:18 -04:00
Mark Thom
4e887e3a87 generate module-level expansion code along with rest of module code 2019-11-24 15:47:34 -07:00
Mark Thom
c219d9ad5f Merge branch 'master' of https://github.com/mthom/scryer-prolog 2019-11-16 19:53:29 -04:00
Mark Thom
15927d7054 transition to unsafe and/or stack 2019-11-16 19:51:53 -04:00
Mark Thom
ed985c3cfe move more of the toplevel from rust into prolog 2019-11-16 00:26:15 -07:00
Mark Thom
0dcd9e5805 correct sign/1 (#216) 2019-10-27 14:18:32 -06: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
1b1879a6fa fix attributed variables bug causing weighted_maximum/3 example to omit a variable binding 2019-10-20 14:50:46 -06:00
Mark Thom
24e5e39c28 add order preserving tidy_trail, fix random_labeling/2 2019-10-19 00:29:50 -06:00
Mark Thom
ab9a14cc6a add randomness predicates, small but consequential changes to TrailRef 2019-10-17 00:21:21 -06:00
Mark Thom
ca27234275 deallocate old stack frames (#201), start using tags, fix a panic! associated with partial strings 2019-10-15 22:54:12 -06:00
Mark Thom
c4269b87c2 re: issues #200, #201 2019-10-15 00:42:55 -06:00
Yu Ding
adb469f627 Upgrade to edition. Bump up edition in Cargo.toml 2019-10-14 00:23:32 -07:00
Yu Ding
9b789629c9 Fix some old Rust codes
Done by cargo fix using nightly-2019-10-04 toolchain. Fixed ... to ..=, trait object to dyn trait object
2019-10-09 14:56:50 -07:00
Mark Thom
f898b98b06 copy terms to global variable blackboard, fix attribute_goals//1 2019-10-09 14:11:31 -06:00
Mark Thom
673fb31ae2 update prolog_parser to v0.8.33 2019-10-06 12:02:47 -06:00
Mark Thom
3fa168d35b fixes for issues #185 and #181 2019-10-04 20:03:03 -06:00
Mark Thom
1ec831b2e2 limit scope of raw mode on stdout to allow interrupts to work 2019-09-30 14:09:02 -06:00
Mark Thom
b26c5c213e return to toplevel from a long running query after receiving Ctrl-C 2019-09-30 13:27:22 -06:00
Mark Thom
9df14cf890 add use_module/{1,2} as full fledged predicates 2019-09-30 10:26:29 -06:00
Mark Thom
737acb7cde ignore single line comments after end token read 2019-09-25 22:40:31 -06:00
Atul Bhosale
1273e2d52d Format code using 'cargo fmt' 2019-09-23 19:35:37 +07:00
Mark Thom
8207fdea40 replace HashMap with IndexMap and HashSet with IndexSet 2019-09-22 17:31:25 -06:00
Mark Thom
380aae85bd add wam_instructions/2 to render predicate instructions as lists of functors 2019-09-22 16:06:50 -06:00
Mark Thom
1baf772b1c pass Number's by reference when possible 2019-05-22 19:48:34 -04:00
Mark Thom
d5223b9bbd fix min/1, max/1 2019-05-13 18:11:27 -04:00
Mark Thom
59ab4cd67c process float/1 and pi/0 2019-05-12 22:21:29 -04:00
Mark Thom
f344150322 revamp evaluable functors, add missing evaluable functors 2019-05-12 20:14:00 -04:00
Mark Thom
bf8a2ab6a6 add variable_names as a write option 2019-05-05 00:58:56 -04:00
Mark Thom
b05cff3044 improve matching on partial strings as lists 2019-04-30 21:30:28 -06: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
14d629492d add unify_with_occurs_check/2 2019-04-28 22:23:34 -06:00
Mark Thom
9dbadac14f correct various bugs 2019-04-28 21:09:56 -06:00
Mark Thom
e135063325 speed up unification 2019-04-27 23:39:19 -06:00
Mark Thom
531d8b3352 re: issue #120 2019-04-27 00:40:00 -06:00
Mark Thom
b07a19fc47 address issues #114, #115 2019-04-25 09:10:52 -06:00