/* File:       flrdebug_data.fli -- data guides for XSB debugger in Flora shell
**
** Author(s): Michael Kifer
** Contact:   flora-users@lists.sourceforge.net
**
** Copyright (C) The Research Foundation of SUNY, 2001
**
** FLORA-2 is free software; you can redistribute it and/or modify it under the
** terms of the GNU Library General Public License as published by the Free
** Software Foundation; either version 2 of the License, or (at your option)
** any later version.
** 
** FLORA-2 is distributed in the hope that it will be useful, but WITHOUT ANY
** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
** FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for
** more details.
** 
** You should have received a copy of the GNU Library General Public License
** along with FLORA-2; if not, write to the Free Software Foundation,
** Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
** 
** $Id: dynamic_data.in,v 1.11 2004/08/24 17:47:06 kifer Exp $
** 
*/

%% Data in this file is workspace-dependent

#include "flora_wrap.flh"

%% This will dump the corresponding include instructions in the output file
:- WRAP_DUMP '#mode standard Prolog'.
:- WRAP_DUMP '#include "flrheader.flh"'.
:- WRAP_DUMP '#include "flora_terms.flh"'.
:- WRAP_DUMP '#include "flora_wrap.flh"'.

#include "flora_wspredicates.flh"


:- WRAP_WITH_WORKSPACE
	newpredicate/_,
	WRAP_DYNA_HILOG/_,
	WRAP_DYNZ_HILOG/_,
	WRAP_TDYNA_HILOG/_,
	WRAP_TDYNZ_HILOG/_,
	WRAP_HILOG/_,
	WRAP_TABLED_HILOG/_,
	FLDEFINEDPREFIX(WRAP_HILOG)/_,
	FLDEFINEDPREFIX(WRAP_TABLED_HILOG)/_,
	FLTRAILERPREFIX(WRAP_HILOG)/_,
	FLTRAILERPREFIX(WRAP_TABLED_HILOG)/_,
	debugging/0,
	debugger_data_loaded/0.


%% These are hidden always
flora_always_hide_this_hide(debugging/0).


/***************************************************************************
  F-logic predicates that appear in a rule head
***************************************************************************/

flora_hide_this_show(FLHEADPREFIX(WRAP_ISA)/3).
flora_hide_this_show(FLHEADPREFIX(WRAP_SUB)/3).
flora_hide_this_show(FLHEADPREFIX(WRAP_METH)/3).
flora_hide_this_show(FLHEADPREFIX(WRAP_IMETH)/3).
flora_hide_this_show(FLHEADPREFIX(WRAP_FD)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IFD)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_FDSIG)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IFDSIG)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_MVD)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IMVD)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_MVDSIG)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IMVDSIG)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_TRAN)/3).
flora_hide_this_show(FLHEADPREFIX(WRAP_MVDINC)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IMVDINC)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_MVDTOLIST)/4).
flora_hide_this_show(FLHEADPREFIX(WRAP_IMVDTOLIST)/4).

flora_hide_this_show(FLDYNAPREFIX(WRAP_ISA)/3).
flora_hide_this_show(FLDYNAPREFIX(WRAP_SUB)/3).
flora_hide_this_show(FLDYNAPREFIX(WRAP_METH)/3).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IMETH)/3).
flora_hide_this_show(FLDYNAPREFIX(WRAP_FD)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IFD)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_FDSIG)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IFDSIG)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_MVD)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IMVD)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_MVDSIG)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IMVDSIG)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_TRAN)/3).
flora_hide_this_show(FLDYNAPREFIX(WRAP_MVDINC)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IMVDINC)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_MVDTOLIST)/4).
flora_hide_this_show(FLDYNAPREFIX(WRAP_IMVDTOLIST)/4).

flora_hide_this_show(FLDYNZPREFIX(WRAP_ISA)/3).
flora_hide_this_show(FLDYNZPREFIX(WRAP_SUB)/3).
flora_hide_this_show(FLDYNZPREFIX(WRAP_METH)/3).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IMETH)/3).
flora_hide_this_show(FLDYNZPREFIX(WRAP_FD)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IFD)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_FDSIG)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IFDSIG)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_MVD)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IMVD)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_MVDSIG)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IMVDSIG)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_TRAN)/3).
flora_hide_this_show(FLDYNZPREFIX(WRAP_MVDINC)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IMVDINC)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_MVDTOLIST)/4).
flora_hide_this_show(FLDYNZPREFIX(WRAP_IMVDTOLIST)/4).

%% Hide
flora_hide_this_hide(FLHEADPREFIX(WRAP_FDDEF)/3).
flora_hide_this_hide(FLHEADPREFIX(WRAP_IFDDEF)/3).
flora_hide_this_hide(FLHEADPREFIX(WRAP_MVDDEF)/3).
flora_hide_this_hide(FLHEADPREFIX(WRAP_IMVDDEF)/3).

flora_hide_this_hide(FLDYNAPREFIX(WRAP_FDDEF)/3).
flora_hide_this_hide(FLDYNAPREFIX(WRAP_IFDDEF)/3).
flora_hide_this_hide(FLDYNAPREFIX(WRAP_MVDDEF)/3).
flora_hide_this_hide(FLDYNAPREFIX(WRAP_IMVDDEF)/3).
flora_hide_this_hide(FLDYNAPREFIX(WRAP_OBJEQL)/3).
flora_hide_this_hide(FLDYNAPREFIX(WRAP_EXISTS)/2).

flora_hide_this_hide(FLDYNZPREFIX(WRAP_FDDEF)/3).
flora_hide_this_hide(FLDYNZPREFIX(WRAP_IFDDEF)/3).
flora_hide_this_hide(FLDYNZPREFIX(WRAP_MVDDEF)/3).
flora_hide_this_hide(FLDYNZPREFIX(WRAP_IMVDDEF)/3).
flora_hide_this_hide(FLDYNZPREFIX(WRAP_OBJEQL)/3).
flora_hide_this_hide(FLDYNZPREFIX(WRAP_EXISTS)/2).


/***************************************************************************
  F-logic predicates that appear in the trailer
***************************************************************************/
flora_hide_this_show(FLTRAILERPREFIX(WRAP_SUB)/3).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_ISA)/3).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_FD)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_IFD)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_MVD)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_IMVD)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_METH)/3).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_IMETH)/3).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_TRAN)/3).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_FDSIG)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_IFDSIG)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_MVDSIG)/4).
flora_hide_this_show(FLTRAILERPREFIX(WRAP_IMVDSIG)/4).

flora_hide_this_hide(FLTRAILERPREFIX(WRAP_FDDEF)/3).
flora_hide_this_hide(FLTRAILERPREFIX(WRAP_IFDDEF)/3).
flora_hide_this_hide(FLTRAILERPREFIX(WRAP_MVDDEF)/3).
flora_hide_this_hide(FLTRAILERPREFIX(WRAP_IMVDDEF)/3).
flora_hide_this_hide(FLTRAILERPREFIX(WRAP_EXISTS)/2).
flora_hide_this_hide(FLTRAILERPREFIX(WRAP_OBJEQL)/3).


flora_hide_this_show(match(WRAP_SUB/3)).
flora_hide_this_show(match(WRAP_ISA/3)).
flora_hide_this_show(match(WRAP_FD/4)).
flora_hide_this_show(match(WRAP_IFD/4)).
flora_hide_this_show(match(WRAP_MVD/4)).
flora_hide_this_show(match(WRAP_IMVD/4)).
flora_hide_this_show(match(WRAP_METH/3)).
flora_hide_this_show(match(WRAP_IMETH/3)).
flora_hide_this_show(match(WRAP_TRAN/3)).
flora_hide_this_show(match(WRAP_FDSIG/4)).
flora_hide_this_show(match(WRAP_IFDSIG/4)).
flora_hide_this_show(match(WRAP_MVDSIG/4)).
flora_hide_this_show(match(WRAP_IMVDSIG/4)).

flora_hide_this_hide(WRAP_FDDEF/3).
flora_hide_this_hide(WRAP_IFDDEF/3).
flora_hide_this_hide(WRAP_MVDDEF/3).
flora_hide_this_hide(WRAP_IMVDDEF/3).
flora_hide_this_hide(WRAP_EXISTS/2).
flora_hide_this_hide(WRAP_OBJEQL/3).

/***************************************************************************
  intermediate F-logic predicates that appear in the trailer
***************************************************************************/

flora_hide_this_hide(silent_sub/3).
flora_show_this_hide(inheritance_sub/3).
flora_show_this_hide(inheritance_ifd/4).
flora_show_this_hide(inheritance_imvd/4).
flora_show_this_hide(inheritance_imvddef/3).
flora_show_this_hide(inheritance_ifd_eql/4).
flora_show_this_hide(inheritance_imvd_eql/4).
flora_show_this_hide(inheritance_imvddef_eql/3).

flora_show_this_hide(match((local_)/3)).

flora_hide_this_hide(match(multiple_object_/_)).
flora_hide_this_hide(match(multiple_class_/_)).
flora_hide_this_hide(match(candidate_object_/_)).
flora_hide_this_hide(match(candidate_class_/_)).



/***************************************************************************
  F-logic predicates that appear only in the trailer with equality maintenance
***************************************************************************/
flora_hide_this_hide(diffobjeql/3).
flora_hide_this_hide(FLTRAILERPREFIX(sub_eql)/3).
flora_hide_this_hide(FLTRAILERPREFIX(isa_eql)/3).
flora_hide_this_hide(FLTRAILERPREFIX(ifd_eql)/4).
flora_hide_this_hide(FLTRAILERPREFIX(imvd_eql)/4).
flora_hide_this_hide(FLTRAILERPREFIX(imvddef_eql)/3).
flora_hide_this_hide(FLTRAILERPREFIX(fd_eql)/4).
flora_hide_this_hide(FLTRAILERPREFIX(mvd_eql)/4).
flora_hide_this_hide(FLTRAILERPREFIX(mvddef_eql)/3).

/***************************************************************************
  Flora debugging predicates
***************************************************************************/
flora_hide_this_hide(FLCHECKPREFIX(WRAP_ISA)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_SUB)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_TRAN)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_METH)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IMETH)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_FD)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IFD)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_MVD)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IMVD)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_FDSIG)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IFDSIG)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_MVDSIG)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IMVDSIG)/4).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_FDDEF)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IFDDEF)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_MVDDEF)/3).
flora_hide_this_hide(FLCHECKPREFIX(WRAP_IMVDDEF)/3).


/*****************************************************************************
    Flora Internal Predicates
*****************************************************************************/
flora_hide_this_hide(debugging/0).


/*****************************************************************************
    Intermediate predicates
*****************************************************************************/

flora_hide_this_show(pref(newpredicate/_)).

%% We put match around because for some reason XSB prepends another _$ to
%% tabled_flapply, so the goal that the debugger get is diffferent from what
%% is inside flora_hide_this_show/1.
flora_hide_this_show(match(WRAP_DYNA_HILOG/_)).
flora_hide_this_show(match(WRAP_DYNZ_HILOG/_)).
flora_hide_this_show(match(WRAP_TDYNA_HILOG/_)).
flora_hide_this_show(match(WRAP_TDYNZ_HILOG/_)).
flora_hide_this_hide(match(FLDEFINEDPREFIX(WRAP_HILOG)/_)).
flora_hide_this_hide(match(FLDEFINEDPREFIX(WRAP_TABLED_HILOG)/_)).

flora_hide_this_show(match(FLTRAILERPREFIX(WRAP_HILOG)/_)).
flora_hide_this_show(match(FLTRAILERPREFIX(WRAP_TABLED_HILOG)/_)).

%% Hide anything that matches, but is unequal to the HiLog wrappers
flora_hide_this_show(propermatch(WRAP_HILOG/_)).
flora_hide_this_show(propermatch(WRAP_TABLED_HILOG/_)).


/*
%% Things that sometimes is useful to hide in a low-level trace
flora_always_hide_this_hide(match(dyna_/_)).
flora_always_hide_this_hide(match(dynz_/_)).
flora_always_hide_this_show(match(silent_sub/3)).
*/



debugger_data_loaded.
