miscellaneous fixes

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@556 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2002-07-17 20:25:30 +00:00
parent e476bc0abc
commit c27b23f3a5
12 changed files with 531 additions and 143 deletions

View File

@@ -615,6 +615,17 @@ p_is_attvar(void)
((attvar_record *)VarOfTerm(t))->sus_id == attvars_ext);
}
/* check if we are not redoing effort */
static Int
p_attvar_bound(void)
{
Term t = Deref(ARG1);
return(IsVarTerm(t) &&
IsAttachedTerm(t) &&
((attvar_record *)VarOfTerm(t))->sus_id == attvars_ext &&
!IsUnboundVar(((attvar_record *)VarOfTerm(t))->Done));
}
void InitAttVarPreds(void)
{
attas[attvars_ext].bind_op = WakeAttVar;
@@ -633,7 +644,8 @@ void InitAttVarPreds(void)
InitCPred("n_of_atts", 1, p_n_atts, SafePredFlag);
InitCPred("bind_attvar", 1, p_bind_attvar, SafePredFlag);
InitCPred("all_attvars", 1, p_all_attvars, SafePredFlag);
InitCPred("$is_att_variable", 1, p_is_attvar, SafePredFlag);
InitCPred("$is_att_variable", 1, p_is_attvar, SafePredFlag|TestPredFlag);
InitCPred("$att_bound", 1, p_attvar_bound, SafePredFlag|TestPredFlag);
}
#endif /* COROUTINING */