Commit Graph

982 Commits

Author SHA1 Message Date
Vitor Santos Costa
9cce7df45b output unification should go after cut. 2010-03-15 14:18:25 +00:00
Vitor Santos Costa
d33be13487 SWI compatibility 2010-03-14 09:31:25 +00:00
Vitor Santos Costa
2ba051e908 SWI compatibility for term_expansion 2010-03-14 09:30:24 +00:00
Vitor Santos Costa
3235842947 small optimisation 2010-03-12 22:41:49 +00:00
Vitor Santos Costa
26e0bfdf06 fix op 2010-03-12 22:41:30 +00:00
Vitor Santos Costa
c4b39d3ab9 update Prolog code: do a cleanup and make delays use SWI interface. 2010-03-12 14:26:35 +00:00
Vitor Santos Costa
c41f6e1906 atts stuff is now a part of prolog. 2010-03-12 08:26:56 +00:00
Vitor Santos Costa
613dfb0d95 move away from SICStus: do not check all attvars. 2010-03-12 08:25:35 +00:00
Vitor Santos Costa
3d10482cc7 more upgrades to new coroutining code. 2010-03-10 14:06:07 +00:00
Vitor Santos Costa
bb3c837ec5 fix unnecessary choicepoint in [a]. 2010-03-09 22:00:46 +00:00
Vitor Santos Costa
dd3645b5c8 move to SWI like interface. 2010-03-08 09:24:24 +00:00
Vitor Santos Costa
8fc50d9935 make YAP throw a runtime-error on unknown arithmetic ops. 2010-03-06 00:16:49 +00:00
Vítor Santos Costa II
8497905876 declare erf to Prolog 2010-03-05 16:49:37 +00:00
Vitor Santos Costa
e4f3a127e0 make sure environment variables are consulted first. 2010-03-05 08:33:40 +00:00
Vitor Santos Costa
e92107e4cc version is 6.0 2010-03-05 08:33:29 +00:00
Vitor Santos Costa
fb6c4f966c Merge branch 'master' of yap.dcc.fc.up.pt:yap-6 2010-03-03 21:49:14 +00:00
Vítor Santos Costa II
f489118025 small fix to consult. 2010-03-03 19:08:59 +00:00
Vitor Santos Costa
910d04a786 test for [X] and friends. 2010-03-02 23:13:39 +00:00
Vitor Santos Costa
635d13c082 exception/3 is dynamic. 2010-03-01 23:02:37 +00:00
Vitor Santos Costa
8cfbee9584 support exception/3 on undefined predicates. 2010-03-01 23:02:24 +00:00
Vitor Santos Costa
233926ea00 fix nb_getval to handle exceptions. 2010-03-01 22:32:40 +00:00
Vitor Santos Costa
0546df7ac3 fix goal_expansion 2010-03-01 22:30:31 +00:00
Vitor Santos Costa
51982bee42 fix nb_current/2 2010-03-01 21:48:39 +00:00
Vitor Santos Costa
28c60f7e09 fix missing global. 2010-03-01 08:47:39 +00:00
Vitor Santos Costa
dcd1c37fa8 make expand_goal built-in. 2010-02-28 22:25:54 +00:00
Vitor Santos Costa
16a9c8a807 SWI-compatible source_file/1 and 2 2010-02-28 22:24:51 +00:00
Vitor Santos Costa
8582d4ff45 term_expansion can be called from the current_module, as well as from user. 2010-02-28 10:08:01 +00:00
Vitor Santos Costa
12b8acfa20 fix missing initialization (obs from Paulo Moura). 2010-02-28 09:08:06 +00:00
Vitor Santos Costa
a5e8dbc096 split directives into two files. 2010-02-28 01:11:05 +00:00
Vitor Santos Costa
7037b38fa7 make nb_ undefined variable return an error, as SWI does. 2010-02-28 00:57:29 +00:00
Vitor Santos Costa
ec30e08f69 add user_flags/s prolog_flag 2010-02-28 00:42:47 +00:00
Vitor Santos Costa
495529e69e SWI compatible option: prompt_alternatives_on. 2010-02-28 00:05:38 +00:00
Vitor Santos Costa
a00c3e13c1 accept // more often as predicate indicator. 2010-02-27 23:07:03 +00:00
Vitor Santos Costa
d69902e986 fix alarm/3 for floating point input (obs from Ashwin Srinivasan). 2010-02-27 10:10:23 +00:00
Vitor Santos Costa
b4481ca98c fix confusion with file names. 2010-02-26 13:41:40 +00:00
Vitor Santos Costa
4355a94793 make syntax_error handling ISO compatible. 2010-02-26 13:08:38 +00:00
Vitor Santos Costa
5df3c389b5 fix stream_property position 2010-02-26 12:13:28 +00:00
Vitor Santos Costa
97a3897c88 fix op error handling. 2010-02-26 12:03:32 +00:00
Vitor Santos Costa
69b6f47b73 make open remember original file. 2010-02-26 11:23:15 +00:00
Vitor Santos Costa
34400afd8e disallow abolish(_). 2010-02-26 10:38:56 +00:00
Vitor Santos Costa
00c3419e02 fix bad $execute test 2010-02-26 10:23:38 +00:00
Vitor Santos Costa
a1e3aa45ba protect against assert(1). 2010-02-26 10:22:41 +00:00
Vitor Santos Costa
a8039df035 protect unbound ball 2010-02-26 10:22:09 +00:00
Vitor Santos Costa
61eb299ba5 fix call(\+ !). 2010-02-26 10:03:32 +00:00
Vitor Santos Costa
daa55352ec fix bad module passing. 2010-02-26 09:25:47 +00:00
Vitor Santos Costa
83f25afc41 add address_bits flag (request from Paulo Moura). 2010-02-23 00:29:17 +00:00
U-Khasa\Vitor
f350e369b5 handle cr in files 2010-02-11 12:06:27 -06:00
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