Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Rujia Liu
25d4950216
Allow users to disable optional features. Needed for wasm32 support (see #615 ).
2023-08-21 10:01:24 +08:00
Mark
12f890e4a2
throw permission_error in compile_assert when attempting to assert a built-in ( #1872 )
2023-07-13 15:03:26 -06:00
Mark
3f5dbc1680
emit stream aliases as permission error culprits whenever possible
2023-07-12 12:17:06 -06:00
Mark
067b5998ee
clarify EOF error across stream types and predicates ( #1867 , #1870 )
2023-07-08 13:38:52 -06:00
Mark
a6522d6317
properly account for partial string offsets in '$skip_max_list' ( #1827 )
2023-06-26 16:36:04 -06:00
Adrián Arroyo Calle
92b262d599
Macroization of the code
2023-02-25 22:27:28 +01:00
Mark Thom
6b05ee5130
streamline assertz/1, asserta/1
2022-10-26 23:36:07 -06:00
Mark Thom
bef8eb538c
throw a representation error if max arity is exceeded ( #1483 )
2022-05-22 00:03:55 -06:00
Mark Thom
4d23542ef3
add max arity checks at various stages ( #1459 )
2022-05-21 12:32:48 -06:00
Mark Thom
895b02b641
improve length/2 ( #1325 )
2022-03-15 18:43:57 -06:00
Mark Thom
922abf21e7
derefence target variable in check_sort_errors ( #1350 )
2022-03-13 13:54:58 -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
063f0da565
correct '$skip_max_list/4' for non-lists ( #1276 )
2022-02-20 23:44:18 -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
0d653a2ce6
improve '$skip_max_list'/4 and length/2 ( #1023 , #110 )
2022-01-29 12:47:26 -07:00
Mark Thom
5a132aaff4
throw error instead of overwriting builtin export ( #1225 )
2022-01-18 19:16:14 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
4cde8cd501
fix bug in error_form
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Mark Thom
101ed9a633
add error value to occurs_check prolog flag ( #783 )
2021-02-28 11:44:23 -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
6b6666be47
support discontiguous and multifile declarations
2021-02-16 22:08:32 -07:00
Mark Thom
195273f01d
throw exceptions when modules do not contain claimed exports
2021-02-09 12:17:34 -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
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
Markus Triska
65f200e02c
directory_files/2: throw representation error if into_string() fails
...
Suggested by @notoria in #606 . Many thanks!
2020-06-24 23:30:40 +02:00
Mark Thom
33325f1574
remove vestigial prolog/ directory ( #444 )
2020-06-12 18:26:38 -06:00