Commit Graph

75 Commits

Author SHA1 Message Date
Mark Thom
e0e52a3090 fix 'drain lower bound was too large', store user-level expansions to modules (#416) 2020-04-30 00:01:00 -06:00
notoria
c98e869564 Implemented the Debug trait for all data structures 2020-04-26 02:20:24 +02:00
Mark Thom
082c6a9e64 copy operator exports to impromptu modules (#307) 2020-04-14 01:03:49 -06:00
Mark Thom
28099b9812 correct misleading error for modules (#300) 2020-04-12 12:51:59 -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
c7591045af represent the current_dir as an absolute path, not a relative one. (#262) 2020-03-07 16:00:10 -07:00
Mark Thom
aa5f186a96 allow set_prolog_flag in declarations 2020-02-28 21:42:22 -07:00
Mark Thom
969bd8f82c remove partial strings, but represent strings as lists when warranted by double_quotes 2020-02-12 22:12:42 -07:00
Mark Thom
740bd528c4 add multifile and module scoped predicates 2020-02-02 22:13:14 -07:00
Mark Thom
dcf2eadcf2 add preliminary multifile declaration support 2020-01-26 20:17:52 -07:00
Mark Thom
9a80d398e8 add listing sources to modules 2020-01-13 20:17:22 -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
d6e75110a5 reconcile latest changes against stack changes 2019-12-07 18:59:03 -07:00
Mark Thom
018b076835 binding attributed variables more eagerly after each implementation of verify_attributes/3 has been called (#248) 2019-12-05 00:33:46 -07:00
Mark Thom
f998d6a99f merge latest commit 2019-11-28 21:22:59 -04:00
Mark Thom
834c57466f add operator exports to module declarations, treat them separately from predicate exports (#230)" 2019-11-25 23:09:49 -07: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
7bf6a230f3 record module-level term_expansion and goal_expansion as inner predicates (#228) 2019-11-24 12:50:53 -07:00
Mark Thom
f82c6f3fed avoid overwriting IndexPtr's for clauses already declared dynamic (#227) 2019-11-20 10:50:33 -04: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
4ad62e4606 add warnings when initialization goals fail (#168) 2019-10-30 00:25:17 -06:00
Mark Thom
d34811aa36 handle asserts in modules a little better (#223, #224) 2019-10-30 00:14:36 -06:00
Mark Thom
b90d69a45b install asserted predicates into modules from initialization directives (#222) 2019-10-29 00:06:51 -06:00
Mark Thom
e594ade84d finish #214, add needed ambiguity checks if 0 is the final character 2019-10-27 19:23:35 -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
f898b98b06 copy terms to global variable blackboard, fix attribute_goals//1 2019-10-09 14:11:31 -06:00
Mark Thom
3409db010f fix several issues with goal expansion, crashing after attribute_goals is called 2019-10-08 12:28:23 -06:00
Mark Thom
d4f9d18149 print errors with line numbers in GNU style 2019-10-04 15:32:26 -06:00
Mark Thom
caeff99f69 perform singleton variable scans on top level terms only 2019-10-04 10:38:45 -06:00
Mark Thom
b61ed65208 fix goal expansion in disjunctions, add warnings for singleton variables 2019-10-03 22:13:34 -06:00
Mark Thom
02d1ed237f don't add default index for dynamic predicates unless defined at toplevel 2019-10-02 22:30:00 -06:00
Mark Thom
516c66a47d properly handle undefined predicates declared dynamic 2019-10-02 22:01:32 -06:00
Mark Thom
a623061a1a correct handling of ! in phrase/{2,3}, get rid of extraneous choice points in put_atts/2 and get_atts/2, allow loading of non-module files from the command line and use_module/{2,3} 2019-10-02 15:51:48 -06:00
Mark Thom
abc7498a42 add the initialization directive 2019-10-01 16:51: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
376b39a4ef support loading of modules from files specified at the command line 2019-09-29 10:16:27 -06:00
Mark Thom
5ec4dfedb0 target out_dir in build script 2019-09-27 00:05:19 -06:00
Mark Thom
9a83ccbdbc make *.pl files in src/prolog/lib available from libraries.rs 2019-09-26 23:10:04 -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
cefcf916c3 slight formatting changes 2019-09-03 10:10:51 -04:00
Mark Thom
2c880b2bc0 address issues #143, #150, #155 2019-09-02 16:53:31 -04:00
Anton Kochkov
580dc761d5 Remove unnecessary mutability 2019-05-08 14:09:33 +08:00
Mark Thom
b05cff3044 improve matching on partial strings as lists 2019-04-30 21:30:28 -06:00
Mark Thom
a5dc7f2387 various fixes 2019-04-22 21:28:33 -06:00
Mark Thom
f9448e894e use binary_pow for (^)/2 2019-04-22 19:48:09 -06:00