Commit Graph
269 Commits
Author SHA1 Message Date
Mark Thom bbbf95705b implement abolish/1 2021-02-05 18:35:06 -07:00
Mark Thom 927871d73d Merge branch 'rebis-dev' of https://github.com/mthom/scryer-prolog into rebis-dev 2021-02-05 17:17:14 -07:00
Mark Thom 3fc2c4223b delay premature set_switch_var_offset_* calls in retract_clause, add module resolution for asserta/assertz/retract/clause 2021-02-05 17:12:25 -07:00
Markus Triska a228e46a39 ENHANCED: Enable goal expansion for CLP(ℤ).
This is now possible since #445 is resolved.
2021-02-05 21:06:08 +01:00
Markus Triska 81913a5987 Revert "preliminary workaround for #788"
This reverts commit 164b993064,
which was made obsolete by 75a52f032b.
2021-02-05 20:59:47 +01:00
Mark Thom 222be9cf6c modify rightmost_power/2 to ignore module qualification on (^)/2 (#794) 2021-02-04 20:51:55 -07:00
Mark Thom 75a52f032b perform goal expansion in call/N (#788, #797) 2021-02-04 20:40:48 -07:00
Markus Triska 164b993064 preliminary workaround for #788
This change can be reverted once the issue is resolved.
2021-02-04 20:48:09 +01:00
Mark Thom 2fe55e4715 resolve calls to tranpose_ and same_length in lists.pl (#790) 2021-02-03 16:38:46 -07:00
Mark Thom a8a82e45a0 introduce cuts over indexed (:)/2 of dcgs:phrase_/3 (#786) 2021-02-03 16:03:15 -07:00
Mark Thom fcba140ffe Merge pull request #787 from triska/rebis-dev
add meta_predicate declaration for with_local_attributes/3
2021-02-03 15:51:15 -07:00
Markus Triska b96ff781bc add meta_predicate declaration for must_succeed/1 2021-02-03 23:49:28 +01:00
Mark Thom 94392f248c enable phrase_ rules for module resolved grammars (#785) 2021-02-03 15:48:12 -07:00
Markus Triska 24e6c31c44 add meta_predicate declaration for with_local_attributes/3
This is needed for all_distinct/1 etc.

Example:

    ?- all_distinct([X,Y,Z]).
       clpz:all_distinct([X,Y,Z])
    ;  false.
2021-02-03 23:45:21 +01:00
Mark Thom cab0e4395a manually expand module names in higher-order predicates of lists.pl and give call_residue_vars/2 a meta-predicate definition 2021-02-03 15:37:16 -07:00
Markus Triska ae66e299e6 Use term expansion for generated predicates. 2021-02-03 15:21:39 -07:00
Mark Thom 88ad2ee103 restore cut after dcg_constr check (#784) 2021-02-03 15:21:20 -07:00
Mark Thom 48f3f4ca37 add meta-predicate declarations to reif library 2021-02-03 12:46:33 -07:00
Mark Thom 4e29099ed9 export loader's public predicates from builtins, handle module resolution from DCGs 2021-02-02 15:43:52 -07:00
Mark Thom 8900df6f13 add built_in to predicate_property 2021-02-02 15:03:14 -07:00
Mark Thom 814c034683 add meta-predicate declarations before their definitions 2021-02-01 19:26:50 -07:00
Mark Thom 75908ab88f replace (:) with 0 in meta-predicate declarations, remove support for (:) in meta-predicate declarations 2021-01-31 18:00:10 -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 b33158b92e Merge pull request #766 from aarroyoc/http-form
HTTP Server: urlencoded forms and some syntax improvements
2021-01-30 13:55:40 -07:00
notoria dfd7ac633a Removed redundant choicepoint from between/3 2021-01-30 17:45:55 +01:00
Adrián Arroyo Calle 13499352fd urlencoded forms and some syntax improvements 2021-01-27 23:34:38 +01:00
Adrián Arroyo Calle a90030ca2d PR feedback 2020-12-28 22:55:32 +01:00
Adrián Arroyo Calle 3f8d3afe5c URL Decode 2020-12-28 14:42:20 +01:00
Adrián Arroyo Calle 155004bdbb Log time 2020-12-27 22:36:24 +01:00
Adrián Arroyo Calle 534c74b67c Improve docs & Route matching 2020-12-27 20:14:21 +01:00
Adrián Arroyo Calle 5428935ab1 File response 2020-12-27 14:48:05 +01:00
Adrián Arroyo Calle fc14d089b1 Use phrase instead of forall 2020-12-27 14:11:09 +01:00
Adrián Arroyo Calle 4e543238e1 Queries 2020-12-27 13:23:38 +01:00
Adrián Arroyo Calle 6579a542b8 Merge branch 'master' into http-server 2020-12-27 12:18:05 +01:00
Adrián Arroyo Calle 27e3dcea6c Redirections, default status code, rout matching 1.0 2020-12-27 12:16:46 +01:00
Markus Triska 67d856e4b7 reflect determinism improvement thanks to the latest changes 2020-12-23 18:06:35 +01:00
Markus Triska 27a52ef56a reflect improved determinism thanks to the improvements by @notoria 2020-12-23 00:05:29 +01:00
Adrián Arroyo Calle e1f4a50e65 HTTP Body 2020-12-21 00:15:00 +01:00
Markus Triska 4efbc20a4f ENHANCED: format_//2, format/[2,3], portray_clause/1 are now deterministic.
This works as soon as #732 is merged, since then maplist/N and foldl/N
are deterministic in the required cases.

This also resolves the extra choicepoint of time/1 (see #378).

Many thanks to @notoria for implementing better indexing in #732,
which allowed me to find this opportunity for improvement!
2020-12-19 18:18:14 +01:00
Adrián Arroyo Calle 33a0df20c3 Read body 2020-12-14 22:57:53 +01:00
Adrián Arroyo Calle e4d1e4b7a0 Request and Response headers 2020-12-12 21:28:33 +01:00
Adrián Arroyo Calle dbc193ab2a WIP http_server 2020-12-09 23:40:00 +01:00
Adrián Arroyo Calle 0696a18e0b Change name to list_max, list_min as PR feedback 2020-12-06 21:58:37 +01:00
Adrián Arroyo Calle 0cc9388af0 Use foldl as PR feedback suggested 2020-12-06 17:31:42 +01:00
Adrián Arroyo Calle a73529969a Add max_list & min_list to lists 2020-12-05 14:20:50 +01:00
Markus Triska 41a751e7f5 ADDED: Provisional support for (#=)/3 and (#<)/3.
These predicates are intended for constructs from library(reif), such
as if_/3. For the time being, they are defined here. If you have any
recommendations or comments regarding the best location of these
predicates, or need more of them, please file an issue.

Suggested by @Qqwy in https://github.com/triska/clpz/issues/12.

Many thanks!
2020-11-08 09:26:50 +01:00
Markus Triska 46dfaa5b28 ENHANCED: library(files): Error handling if requested files do not exist.
We now throw exceptions instead of failing silently, or even crashing
when using file_size/2 etc. with nonexistent files.
2020-09-13 10:23:23 +02:00
Mark Thom d677d3d2ef preface the 'spelling error' with an explainer comment (#687) 2020-09-05 18:07:58 -06:00
Markus Triska 5f3ab823fd FIXED: format_//2: Keep different variables distinct.
Example:

        ?- phrase(format_("~w~w", [_,_]), Ls).
        %@    Ls = "AB"
        %@ ;  false.
2020-09-05 09:58:49 +02:00
Markus Triska 79cb4cd6a5 ADDED: First version of call_nth/2.
A thread-safe implementation is possible for example with
'$nb_setarg'/3 (see #390).
2020-08-24 19:29:08 +02:00