Commit Graph

856 Commits

Author SHA1 Message Date
Vitor Santos Costa
06d30b9fc9 Jump and Throw need to store the term away, if they try to use arena
the term will hang in the stack (#152).
2009-12-02 21:59:41 +00:00
Vítor Manuel de Morais Santos Costa
91a7fc3c66 fix bugs in backtrackable versions of atom_concat/3 and atomic_concat/3 (obs from Paulo Moura). 2009-11-27 13:45:18 +00:00
Vítor Manuel de Morais Santos Costa
98f79484ae change throw mechanism to fit better with cleanup mechanism:
- balls are now stored off line and recovered by Prolog code when everything
is safe.
- if a ball exists, throw uses the *existing* one (be careful not to have one
laying around).
- Jump routine cleans up every cp except ones for setup_call handling, backtracking simply calls setup handlers.
2009-11-27 11:21:24 +00:00
Vitor Santos Costa
50d720a9c6 fix current_op/3 by walking over the chain of ops or properties and moving complex code to Prolog (obs from Paulo Moura). 2009-11-25 00:38:47 +00:00
Vitor Santos Costa
fe6148ef15 be more cautions about removing prolog: from calls. 2009-11-23 10:15:11 +00:00
Vitor Santos Costa
2d2fb30167 atomic_list_concat/2 and fix some reverse mode ops in atom_concat/3. 2009-11-23 10:13:55 +00:00
Vitor Santos Costa
31e5c54125 support message_string/2 for SWI emulation. 2009-11-23 10:09:32 +00:00
Vitor Santos Costa
e4c9d69044 in SWI mode allow new flags to be silently defined. 2009-11-23 10:06:51 +00:00
Vitor Santos Costa
b15d9c0363 add source_location for SWI compatibility 2009-11-23 10:02:40 +00:00
Vitor Santos Costa
d91bab4247 make sure goal_expansion is never seen as an undefined goal. It should at least always succeed. 2009-11-23 10:01:55 +00:00
Vitor Santos Costa
ffe1dfdfff support for module based operators. 2009-11-20 00:33:14 +00:00
Vitor Santos Costa
628d181923 protect against var usage. 2009-11-20 00:32:14 +00:00
Vítor Manuel de Morais Santos Costa
71de4ed52a Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-11-18 13:13:51 +00:00
Vítor Manuel de Morais Santos Costa
a316090f8c fix nth_instance: fix bugs and actually add two versions (obs from Theofrastos Mantadelis) 2009-11-18 13:06:37 +00:00
Vitor Santos Costa
cef6c9da36 fix bad processing of eof_action flag (obs from Ulrich, #147). 2009-11-17 02:37:56 +00:00
Vitor Santos Costa
f7214090cb make operators defined within a module local to the module, operators in header are still global to every module, though (UN #131). 2009-11-17 00:59:06 +00:00
Vitor Santos Costa
ce5ae8b972 another oops :( 2009-11-17 00:48:16 +00:00
Vitor Santos Costa
84022de89d disable creep when top-level starts: this prevents creeping after a top-level. 2009-11-17 00:32:38 +00:00
Vitor Santos Costa
b56894e0d5 indenting. 2009-11-17 00:32:27 +00:00
Vitor Santos Costa
73cdfe0f5b oops in previous change :( 2009-11-17 00:23:22 +00:00
Vitor Santos Costa
59935893ac fix bad syntax (obs from Ulrich Neumerkel #137, after #138) 2009-11-17 00:13:54 +00:00
Vitor Santos Costa
3f30a2bf18 expand meta-predicates before trying to debug them. 2009-11-17 00:09:23 +00:00
Vítor Manuel de Morais Santos Costa
3b7e5544f6 m:subgoal should compile subgoal with m as default module (obs from Nuno Fonseca). 2009-11-04 12:29:31 +00:00
Vítor Manuel de Morais Santos Costa
0e1fae17d9 make sure action is deterministic on key input. 2009-11-04 12:29:09 +00:00
Vitor Santos Costa
717d6ac4c8 handle meta-calls to unbound variables.
first step to improve exceptions.
2009-11-04 00:10:27 +00:00
Vitor Santos Costa
15fc06764a fix declaration and message_hook/3 (obs from Paulo Moura) 2009-11-02 12:53:51 +00:00
Vitor Santos Costa
0ea348c26d extend SWI interface with PL_toplevel and to handle C++ code.
prolog/0 built-in
fixes to parms.h changes.
2009-10-23 16:50:43 +01:00
Vitor Santos Costa
0179998d60 change Heap.h to YapHeap.h
rename $live to prolog/0 (for SWI compatibility).
2009-10-23 14:22:17 +01:00
Vítor Manuel de Morais Santos Costa
0f4b64d199 make should only look at reconsulted files, it makes no sense to use make for
consulted files.
2009-10-16 08:31:23 +01:00
Vítor Manuel de Morais Santos Costa
d649ba5894 first cut at make/0y 2009-10-15 12:56:16 +01:00
Vitor Santos Costa
218bc2e423 fix to slow reconsult (Jos Deroo) 2009-09-20 10:03:10 -05:00
Costa Vitor
4e4d486dee fix compilation errors 2009-09-09 18:13:12 -05:00
Vitor Santos Costa
0688fb4d68 handle old style binding lists. 2009-09-09 18:00:35 -05:00
Vitor Santos Costa
ce76be4e77 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-09-07 22:19:41 -05:00
Vitor Santos Costa
9047ad2e6e fix bad call. 2009-09-02 23:08:36 -05:00
Vitor Santos Costa
903358724d fix bad code in between (obs from Jose Santos). 2009-09-02 23:07:43 -05:00
Costa Vitor
5fb3ec0515 fix repeated definition for halt. 2009-09-01 00:00:08 -05:00
Vitor Santos Costa
12d793755e load control.yap 2009-08-20 10:38:33 -05:00
Vitor Santos Costa
2984a660fb make setup in setup_call_cleanup deterministic (#141)
break utils.yap and transfer control functionality to control.yap
2009-08-20 10:36:58 -05:00
Costa Vitor
014209c22f undo bug fix, it just handled one case. 2009-07-22 14:31:15 -05:00
Costa Vitor
ead58f6b34 in tabled mode, replace X is Y by X=X', is(Y') to avoid cases where Y is assigned determinastically but needs to be later restored. (obs Ricardo Rocha) 2009-07-22 14:23:32 -05:00
Costa Vitor
df8f194d80 fix setof cleanup vars (patch from Bart Demoen). 2009-07-02 14:46:07 -05:00
Costa Vitor
5d966928b9 prolog_file_name/2 was missing 2009-07-01 12:11:33 -05:00
Costa Vitor
d8595221d0 optimise sub_atom when sub_atom is known. 2009-06-22 15:35:40 -05:00
Vitor Santos Costa
557ed169e8 fix processing of meta-arguments. 2009-06-14 22:58:12 -05:00
Vitor Santos Costa
65e8ed2908 use more efficient predicate. 2009-06-14 22:57:07 -05:00
Vitor Santos Costa
a22f66a4fa don't import everything in a module by default when reexporting it #134 2009-06-14 12:16:54 -05:00
Vitor Santos Costa
9dff291be2 improve DCG support #72 2009-06-12 14:08:03 -05:00
Vitor Santos Costa
d8e92a2808 do not use immediate updates, even in cprolog mode. 2009-06-11 23:05:10 -05:00
Ulrich Neumerkel
7ae4c887fc Instantiation error for looping :- meta_predicate P. 2009-06-08 20:26:57 -05:00
Vitor Santos Costa
a9647b0321 wake up goals the same order they were suspended. 2009-06-05 09:48:00 -05:00
Costa Vitor
51d1c442d6 fix not_empty_list #92 2009-06-03 10:43:40 -05:00
Costa Vitor
8a20da6639 fix clean_call handling by top level (regression #110) 2009-06-03 10:11:41 -05:00
Costa Vitor
7f54acb536 separate standard alarm from virtual alarm. timeout uses virtual alarm #112 2009-06-03 10:09:14 -05:00
Costa Vitor
b72345cc97 handle correctly throws within the scope of a call_cleanup. This is implemented
by using an extra argument to verify if the catcher is the current call_cleanup.
If it is, we allow the exception to go forth.
2009-06-02 19:46:41 -05:00
Vitor Santos Costa
627a4f8b1f ensure environment after goal execution in call_cleanup #106 2009-06-01 23:43:59 -05:00
Ulrich Neumerkel
28f593f0a8 alarm(0,Any1,Any2) steadfast: Always disables alarm. 2009-06-01 18:03:02 -05:00
Vitor Santos Costa
d6ed058157 first pass at a decent implementation of PL_error (#95)
- basically copy SWI code.
2009-05-30 12:52:23 -05:00
Vitor Santos Costa
f61aee4a83 third argument to thread_create needs :, #91 2009-05-30 10:43:03 -05:00
Vitor Santos Costa
2dae7fd5ef fix unnecesary warnings for multifile (obs from Paulo Moura). 2009-05-29 10:48:40 -05:00
Vitor Santos Costa
3fc4f71bee prolog module is visible everywhere. 2009-05-28 21:51:34 -05:00
Ulrich Neumerkel
c1dcb1d75d FIX #85 (defaultyness & meta_predicate), and thus #84, #82, #69 2009-05-28 12:35:41 -05:00
Ulrich Neumerkel
2b495cd095 Introduction of errors for signal. In a case of conflict, 13211-1:7.12.2a is given precedence over 13211-2:6.7.1.4 2009-05-28 12:34:13 -05:00
Vitor Santos Costa
4f71103b88 idon't disable interrupts for creeping. 2009-05-25 09:57:59 -05:00
Vitor Santos Costa
9a0393e2ce predicate_property would only return first prop for system pred (obs from Paulo Moura). 2009-05-25 09:57:27 -05:00
Vitor Santos Costa
99ac4f4d4a handle SWI style goal expansion natively, instead of trying to be smart. 2009-05-24 19:18:52 -05:00
Vitor Santos Costa
f5bff2a21d just indenting 2009-05-24 15:16:40 -05:00
Vitor Santos Costa
f79d79e926 replace TYPE_ERROR_VARIABLE for attributes #57 2009-05-22 21:51:48 -05:00
Costa Vitor
7304fbda13 fix lack of streams message (Ulrich Neumerkel #60) 2009-05-22 19:55:18 -05:00
Vitor Santos Costa
8f019b22de make sure to work even without system mode 2009-05-22 14:01:05 -05:00
Vitor Santos Costa
51e669dcfb support for passing priority as argument to write. (Ulrich's #45).
fixes on making write handle infinite loops
2009-05-22 13:24:27 -05:00
Vitor Santos Costa
e466bf2c5b fix $notrace (Ulrich Neumerkel #26) 2009-05-21 23:51:34 -05:00
Vitor Santos Costa
3736ba5793 $notrace should call $execute and disable interrupts below. 2009-05-21 22:35:24 -05:00
Vitor Santos Costa
a58e3d812d fix interrupt enabling in call_setup and friends
remove between.
2009-05-21 00:41:35 -05:00
Vitor Santos Costa
46543ccb5c remove redundant $between 2009-05-21 00:40:52 -05:00
Vitor Santos Costa
fe01f71f3e between/3 is now part of arith.yap:
- handle inf
- handle errors
- make top case deterministic (Ulrich #66)
2009-05-21 00:36:09 -05:00
Vitor Santos Costa
26a20fa74a fix showing clean_call (#65 Ulrich Neumerkel). 2009-05-20 09:12:01 -07:00
Vitor Santos Costa
26057240a8 fix call_cleanup/2 and /3 (broken in previous patch). 2009-05-20 07:29:13 -07:00
Vitor Santos Costa
c7066b43ec first try of setup_call_cleanup/3 and setup_call_catcher_cleanup/4 2009-05-19 23:53:14 -07:00
Vitor Santos Costa
13b9098200 Ulrich: [PATCH-YAP] Permit | in DCGs. 2009-05-18 07:39:01 -07:00
Vitor Santos Costa
cfec78de06 fix copy_term and frozen (obs from Ulrich). 2009-05-18 07:07:42 -07:00
Vitor Santos Costa
55036ad9bb check if argument to when is bound (obs from Ulrich Neumerkel). 2009-05-17 10:58:21 -07:00
Vitor Santos Costa
f4e3869025 include messages for out of stack and friends. 2009-05-17 10:40:14 -07:00
Vitor Santos Costa
1058a350c6 more cleanups: get rid of dead code. 2009-05-16 12:08:11 -07:00
Vitor Santos Costa
1fe1b19534 cleanup handling of attributed variables:
- try to make it clear when to call project
- try to make it clear when to generate goals for attributed variables (get_goalist_from_attvars).
- change call_residue to rely this infrastructure and then add extra variables.
- change frozen never to call project.
2009-05-16 12:00:56 -07:00
Vitor Santos Costa
8cfd6cf7fc make length steadfast (from Ulrich Neumerkel). 2009-05-15 20:54:14 -05:00
Vitor Santos Costa
bdf8b890e3 copy_term/3 2009-05-13 17:11:21 -05:00
Vitor Santos Costa
04fa96e8a0 add call_residue_vars (SWI and SICStus 4 compatibility). 2009-05-13 16:43:24 -05:00
Vitor Santos Costa
e5a3150da0 ** and exp should not be compiled as ^. 2009-05-09 23:40:37 -04:00
Vitor Santos Costa
f065e9359b hProlog semantics requires checking *every* existing attributed variable (broken
in recent patch).
2009-05-08 00:01:09 -04:00
Vitor Santos Costa
d3632dd48c fix case where you may bind variable (eg, freeze(X,Y)), obs from Ulrich Neumerkel. 2009-05-07 23:51:18 -04:00
Vitor Santos Costa
7d37428f36 fix reporting state of unknown flag (obs from Paulo Moura). 2009-05-06 09:33:13 -05:00
Vitor Santos Costa
6a6b18b045 send the abort message at the right place. 2009-05-04 22:31:03 -05:00
Vitor Santos Costa
e3293851a7 change variable names so that they are standard everywhere. 2009-05-04 18:11:11 -05:00
Vitor Santos Costa
42442bd360 make sure throw goes away on deterministic computations. 2009-05-04 18:10:07 -05:00
Vitor Santos Costa
d7559c3f96 put a reminder that in the future YAP will give an exception on unknown. 2009-05-04 18:08:12 -05:00
Vitor Santos Costa
848e1209a2 make sure call_cleanup makes exception handler fail. 2009-05-04 14:02:17 -05:00
Vitor Santos Costa
95ee0d9148 support calling attribute_goals. 2009-04-25 12:54:50 -05:00
Vitor Santos Costa
50fd7dca5a support thread_initialization. 2009-04-25 12:54:21 -05:00
Vitor Santos Costa
c132e7e6ec fix gmp support to give out of resource error if the bignum is too big. 2009-04-25 11:01:33 -05:00