Commit Graph

935 Commits

Author SHA1 Message Date
Vitor Santos Costa
eea6932e23 fix undefined error in the absence of tabling (obs from Paulo Moura). 2010-01-31 23:13:30 +00:00
Vitor Santos Costa
6700981b63 fix typo (obs from Bernd Gutmann) 2010-01-26 22:27:00 +00:00
Vítor Manuel de Morais Santos Costa
b94a667972 fix uninited nb if booting from prolog (obs from nf). 2010-01-26 12:37:10 +00:00
Vitor Santos Costa
8ec6791183 add atom_to_term/3. 2010-01-26 12:19:13 +00:00
Vitor Santos Costa
87a075bd28 avoid unnecessy retry ports 2010-01-25 10:21:21 +00:00
Vitor Santos Costa
30e5e5d803 protect hooks within spy 2010-01-25 09:02:15 +00:00
Vitor Santos Costa
de46b64eee allow debugging inside directives. 2010-01-25 09:02:00 +00:00
Vitor Santos Costa
e860bd7ee1 fix initialization/1 (obs from Paulo Moura). 2010-01-18 14:34:30 +00:00
Vitor Santos Costa
8f9f1223e7 fix sub_atom(xxx,_,_,_,'') (obs from David Vaz). 2010-01-17 00:04:17 +00:00
Vitor Santos Costa
e86b28911f improve performance of depth_limit call. 2010-01-17 00:03:55 +00:00
Vítor Manuel de Morais Santos Costa
0c29616bc2 SWI-compatible for initialization/2· 2010-01-15 16:21:29 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vítor Manuel de Morais Santos Costa
bf52be1ece add extra options for SWI compatibility: notice, attributes/1 is not actually implemented within write yet! 2010-01-12 14:27:32 +00:00
Vitor Santos Costa
79a1d3e13c fix thread stuff (obs from Jiefei Ma). 2009-12-17 23:55:09 -02:00
Vítor Manuel de Morais Santos Costa
946b6aa812 small space fixes 2009-12-12 23:20:44 +00:00
Vitor Santos Costa
ac2cf2434a prolog_flag executable (obs from Aubrey Barnard). 2009-12-10 01:16:29 +00:00
Vitor Santos Costa
1be390d31a fix create_prolog_flag to guess domain (idea from Jan Wielemaker). 2009-12-06 00:49:51 +00:00
Vitor Santos Costa
2cb3ef5fa4 fix set_base_module to retract previous modules,
add delete_import_module.
2009-12-04 21:32:36 +00:00
Vítor Manuel de Morais Santos Costa
bed3e52a84 fix version option 2009-12-04 18:24:45 +00:00
Vítor Manuel de Morais Santos Costa
72e2a9658e make volatile part of the system (SWI compatibility). 2009-12-04 18:24:22 +00:00
Vitor Santos Costa
b3088710d3 emulate SWI module inheritance mechanism (at least, I hope). 2009-12-04 11:00:13 +00:00
Vitor Santos Costa
d554871ffb get rid of create_prolog_flag/2. 2009-12-04 09:17:27 +00:00
Vitor Santos Costa
ee575387af rstore user_defined_directive 2009-12-04 00:29:50 +00:00
Vitor Santos Costa
367f1d954f better way to define prolog flag. 2009-12-04 00:06:11 +00:00
Vitor Santos Costa
4c47f4188e fix exceptions in setup. 2009-12-03 22:54:31 +00:00
Vítor Manuel de Morais Santos Costa
71e4d73a75 make sure to reenable interrupts if you have to exit setup in a hurry (#158). 2009-12-03 17:46:21 +00:00
Vitor Santos Costa
bc4b718afb follow import recursively so that we don't lose properties like being a
meta predicate.
2009-12-03 16:33:44 +00:00
Vitor Santos Costa
2d6934178b check for unbound calls (#154) 2009-12-03 09:08:06 +00:00
Vitor Santos Costa
d2da5bfe26 fix setup_call_cleanup and friends. 2009-12-03 02:13:22 +00:00
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
Vitor Santos Costa
9ef589aef7 simplify output messages 2009-04-25 10:58:21 -05:00
Vitor Santos Costa
2503805aff support 2^2 is 4 and not 4.0: complicated if we have to deal with bignums. 2009-04-24 19:03:00 -05:00
Vitor Santos Costa
e3aeb48af6 call_cleanup/3 should allow exceptions to go through, even if cleaner
itself calls an exception (obs from Ulrich Neumerkel).
2009-04-24 18:06:33 -05:00
Vitor Santos Costa
13f66957b6 break should restore system_mode. 2009-04-23 11:48:06 -05:00
Vitor Santos Costa
c1aba9a840 fix the signal handling a bit better. 2009-04-22 16:13:08 -05:00
Vitor Santos Costa
2f8c9c6b6c block users from catching user balls. 2009-04-22 11:32:07 -05:00
Vitor Santos Costa
cf2b399e9a debugger events should be known to the debugger! 2009-04-22 11:31:31 -05:00
Vitor Santos Costa
9d07b51937 make sure we don't redo things. 2009-04-21 15:19:26 -05:00
Vitor Santos Costa
af69088bc3 debug mode should be recovered at debug exit. 2009-04-21 15:01:18 -05:00
Vitor Santos Costa
374051733b objects may be more than .so: they may be .dylib or .dll. 2009-04-17 16:19:21 -05:00
Vitor Santos Costa
f668676e72 make a better effort to avoid walking through system code. 2009-04-17 15:46:13 -05:00
Vitor Santos Costa
e42083a2bb fix bad call. 2009-04-17 14:18:05 -05:00
Vitor Santos Costa
6da3d91f78 current_predicate: avoid debugger walking into clauses and make cp(X,M:a(_)) more efficient. 2009-04-16 19:06:49 -05:00
Vitor Santos Costa
9b088119c7 fix a case where one can creep inside the debugger. 2009-04-16 16:33:49 -05:00
Vitor Santos Costa
007a1346f4 fix unhandled exceptions. 2009-03-26 08:54:49 +00:00
Vitor Santos Costa
f46ff06f38 get rid of broken $clause/3: fixes listing of dynamic predicates. 2009-03-26 08:12:24 +00:00
Vitor Santos Costa
bdd625c8ae arena is allocated by the system now. 2009-03-24 13:47:32 +00:00
Vitor Santos Costa
67b29f3c85 improve SWI compatibility. 2009-03-13 19:40:27 +00:00
Vitor Santos Costa
c9c097b32d improve implementation of call_with_args/* 2009-03-13 11:11:04 +00:00
Vitor Santos Costa
503d97af90 make top-level error handling a bit more compatible with SWI. 2009-03-10 18:07:50 +00:00
Vitor Santos Costa
fc2e01f320 improve code for disjunctions by trying to avoid permanent variables. 2009-03-10 16:24:26 +00:00