Mark Thom
ec9c763211
print index_ptr offset ( #1534 )
2022-10-26 23:36:07 -06:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Mark Thom
4b5c22864e
don't print superfluous round brackets in curly braces ( #1416 )
2022-05-31 23:34:55 -06:00
Mark Thom
5e1faeb5d2
fix broken quoting in writeq/1 ( #1498 )
2022-05-31 18:29:42 -06:00
Mark Thom
b9285f8de1
don't quote most characters in strings ( #1495 , #301 )
2022-05-30 23:09:20 -06:00
Mark Thom
2d5fe21b05
avoid writing chars to the atom table in several places
2022-04-17 12:20:00 -06:00
Mark Thom
064bfa5e0d
fix loop in stackful iterator ( #1405 , #1384 )
2022-04-07 20:48:40 -06:00
Mark Thom
f3167f6b5f
add forwarding bit to all heap cells ( #1384 )
2022-04-05 20:34:27 -06:00
Mark Thom
8c99d748e2
allocate floats in dedicated buffer
2022-04-05 20:34:27 -06:00
Mark Thom
48960f1beb
print closed stream handle as '$dropped_value' ( #1376 )
2022-03-28 19:03:33 -06:00
Mark Thom
cf65cbe2f1
dereference numbervars terms ( #1377 )
2022-03-28 18:58:38 -06:00
Mark Thom
046a2175ab
use ryu to print floats with a modification for compatible syntax ( #1368 , #1372 )
2022-03-27 11:28:10 -06:00
Mark Thom
1f21a5fe62
detect float rounding overflows ( #1365 )
2022-03-24 10:25:42 -06:00
Mark Thom
2173a8e3cb
recognize missing syntax errors ( #1354 , #1361 )
2022-03-22 22:48:51 -06:00
Mark Thom
75d719d204
print most characters directly (( #1355 )
2022-03-17 18:43:30 -06:00
Mark Thom
172e3e9f34
check self.ignore_ops and max_depth in print_rational ( #1359 )
2022-03-17 18:08:30 -06:00
Mark Thom
8e32bdd8db
remove pstr offsets unconditionally from printer iteration stack, deal with fallout after the fact ( #1357 )
2022-03-16 19:11:39 -06:00
Mark Thom
c55bfa2c6e
throw errors on cycles in sort/2 and keysort/2 ( #1350 and #1351 )
2022-03-13 11:03:52 -06:00
Mark Thom
eace0d9b37
print rationals that are integers as integers ( #663 )
2022-03-09 21:24:16 -07:00
Mark Thom
664c0ee77c
fix float formatting ( #1331 )
2022-03-07 19:44:39 -07:00
Mark Thom
26e4560429
pop pstr offsets from iterator stack in printer ( #1290 )
2022-02-25 23:36:26 -07:00
Mark Thom
e4ea547623
print bounded depth partial strings correctly
2022-02-07 14:09:22 -07:00
Mark Thom
9ba503cd6b
use printer cycle detection when printing partial strings ( #1263 ), refactor skip_max_list functions
2022-02-06 21:36:49 -07:00
Mark Thom
2f0718e885
fix write_canonical on strings ( #1233 )
2022-02-05 20:40:28 -07:00
Mark Thom
3c022e4332
fix float formatting ( #1233 , #1258 )
2022-02-05 18:33:27 -07:00
Mark Thom
37e34c5209
reset instruction pointers with calls, make HCPrinter::range_from safe ( #1233 )
2022-01-31 21:24:19 -07:00
Mark Thom
f6116510a1
print -0.0 as 0.0 ( #1164 )
2022-01-18 21:31:14 -07:00
Mark Thom
3b8afce7c7
fix syntax regressions ( #1198 , #1164 )
2022-01-13 23:54:55 -07:00
Mark Thom
ef0b239e70
correctly print [] functors ( #1189 )
2022-01-10 17:26:57 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
3db86f1e25
relocate most instruction routines from MachineState to Machine
2022-01-06 21:46:23 -07:00
Mark Thom
b056d40eba
module-qualify incomplete goals in expand_goal/3
2022-01-06 21:44:41 -07:00
Mark Thom
6c66c236fb
fix printing of CStr's
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Skgland
49e024bdd8
remove unused fields instead, prompting more dead_code removal
2021-11-11 19:32:35 +01:00
Skgland
7bc4876071
fix failing lint warnings in beta build
2021-11-11 18:53:08 +01:00
Mark Thom
d0b25de554
add user_error stream ( #917 )
2021-04-30 21:58:03 -06:00
Mark Thom
69b1798af7
print floating point zero as 0.0 ( #859 )
2021-03-17 20:17:08 -06:00
Mark Thom
6c23d7aec8
always print variable bindings before names ( #865 )
2021-03-17 19:27:53 -06:00
Mark Thom
08e2b601f1
pop non-composite terms from iter stack in is_cyclic_term
2021-02-28 12:28:19 -07:00
Skgland
2f428b7261
split into lib and bin
...
* makes most pub things in src/ pub(crate) as not to expose things accidentally
* only those things needed by src/bin/scryer-prolog.rs and tests/scryer.rs
should be pub
* split src/main.rs into src/lib.rs and src/bin/scryer-prolog.rs
* add tests folder and run most of the files in src/tests with cargo test
added bytes method to Stream in src/machine/streams.rs to check if stdout is as expected
2021-02-28 19:21:30 +01:00
Mark Thom
a323a4dd8e
wrap stream instances in one Rc<RefCell<..>>, use Ref/RefMut to access stream options
2021-02-21 19:20:42 -07:00
Skgland
5041042925
rename prolog_parser_rebis to prolog_parser
...
also remove remaining extern crate statements that slipped through earlier
2021-02-06 22:13:34 +01:00
Skgland
64433bd8dd
fix macro hygien
2021-02-06 22:13:04 +01:00
Skgland
8e5954f36f
remove use statements from main.rs that temporary replaced extern crate and fixed paths that previously used them
2021-02-06 22:13:04 +01:00
Skgland
b53ef148a0
remove extern crate declaration and fix outfall (macros now need to be imported into scope)
...
using use declarations in main.rs so that use paths don't need to be updated as well, this will be done in a later commit
2021-02-06 22:12:31 +01:00
Mark Thom
a239007db0
target prolog_parser_rebis on crates.io
2021-01-30 22:03:07 -07:00
Mark Thom
a4d15bfb88
move to a predicate-based module system, move to loader.[rs|pl]-based compilation, add support for incremental clause compilation
2021-01-30 21:07:51 -07:00
Mark Thom
4f15802fbc
reconcile '[]' and [] ( #644 ), solve remaining conformity issues ( #648 ), move (-->) from dcgs.pl to builtins.pl ( #649 )
2020-08-02 23:35:53 -06:00
Mark Thom
f0c8056334
look up operator precedence when arity does not match what the atom records, don't print brackets around outermost '+' ( #629 )
2020-07-17 11:02:58 -06:00