From 6a70362a1516220d4a939f9032ed68af11a5e53a Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 13 Jul 2018 14:42:12 +0100 Subject: [PATCH 01/57] sqlite3 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d958f6a08..1ae14e4ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -567,7 +567,7 @@ List(APPEND YLIBS $) List(APPEND YLIBS $) List(APPEND YLIBS $) if (WIN32 OR ANDROID) - List(APPEND YLIBS $) + List(APPEND YLIBS $) List(APPEND YLIBS $) if (WIN32 AND WITH_PYTHON) List(APPEND YLIBS $) From 86c71b6da704aac27f4de64c9a06c00c529eede8 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sat, 14 Jul 2018 11:49:42 +0100 Subject: [PATCH 02/57] oops --- os/fmem.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/os/fmem.c b/os/fmem.c index 53f9274ca..c8400d440 100644 --- a/os/fmem.c +++ b/os/fmem.c @@ -259,11 +259,14 @@ open_mem_write_stream(USES_REGS1) /* $open_mem_write_stream(-Stream) */ * by other writes.. */ char *Yap_MemExportStreamPtr(int sno) { - - if (fflush(GLOBAL_Stream[sno].file) < 0) { +FILE *f = GLOBAL_Stream[sno].file; + if (fflush(f) < 0) { return NULL; } - size_t len = fseek(GLOBAL_Stream[sno].file, 0, SEEK_END); + if (fseek(f, 0, SEEK_END) < 0) { + return NULL; + } + size_t len = ftell(f); char *buf = malloc(len+1); #if HAVE_OPEN_MEMSTREAM char *s = GLOBAL_Stream[sno].nbuf; From ec61b3907e95324b599da5c7de08ff0bfce2dba4 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Jul 2018 13:40:01 +0100 Subject: [PATCH 03/57] - add sleep - fix suffix --- os/files.c | 10 ++++++-- os/sysbits.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) diff --git a/os/files.c b/os/files.c index b7e9e5ca5..8a7fb6c0c 100644 --- a/os/files.c +++ b/os/files.c @@ -47,7 +47,13 @@ const char *Yap_GetFileName(Term t USES_REGS) { char *buf = Malloc(YAP_FILENAME_MAX + 1); if (IsApplTerm(t) && FunctorOfTerm(t) == FunctorSlash) { snprintf(buf, YAP_FILENAME_MAX, "%s/%s", Yap_GetFileName(ArgOfTerm(1, t)), - Yap_GetFileName(ArgOfTerm(1, t))); + Yap_GetFileName(ArgOfTerm(2, t))); + } + if (IsAtomTerm(t)) { + return RepAtom(AtomOfTerm(t))->StrOfAE; + } + if (IsStringTerm(t)) { + return StringOfTerm(t); } return Yap_TextTermToText(t PASS_REGS); } @@ -90,7 +96,7 @@ static Int file_name_extension(USES_REGS1) { size_t len_b = strlen(f), lenb_b; char *candidate = strrchr(f, '.'); char *file = strrchr(f, '/'); - if (candidate && file && candidate > file) { + if (candidate && candidate > file) { lenb_b = candidate - f; ext = candidate + 1; } else { diff --git a/os/sysbits.c b/os/sysbits.c index bf515795d..5be1d4c84 100644 --- a/os/sysbits.c +++ b/os/sysbits.c @@ -1827,6 +1827,7 @@ static Int p_win_registry_get_value(USES_REGS1) { return FALSE; } + char *Yap_RegistryGetString(char *name) { DWORD type; BYTE data[MAXREGSTRLEN]; @@ -1865,6 +1866,74 @@ char *Yap_RegistryGetString(char *name) { #endif + + +static Int p_sleep(USES_REGS1) { + Term ts = ARG1; +#if defined(__MINGW32__) || _MSC_VER + { + unsigned long int secs = 0, usecs = 0, msecs, out; + if (IsIntegerTerm(ts)) { + secs = IntegerOfTerm(ts); + } else if (IsFloatTerm(ts)) { + double tfl = FloatOfTerm(ts); + if (tfl > 1.0) + secs = tfl; + else + usecs = tfl * 1000000; + } + msecs = secs * 1000 + usecs / 1000; + Sleep(msecs); + /* no ers possible */ + return true; + } +#elif HAVE_NANOSLEEP + { + struct timespec req; + int out; + + if (IsFloatTerm(ts)) { + double tfl = FloatOfTerm(ts); + + req.tv_nsec = (tfl - floor(tfl)) * 1000000000; + req.tv_sec = rint(tfl); + } else { + req.tv_nsec = 0; + req.tv_sec = IntOfTerm(ts); + } + out = nanosleep(&req, NULL); + return true; + } +#elif HAVE_USLEEP + { + useconds_t usecs; + if (IsFloatTerm(ts)) { + double tfl = FloatOfTerm(ts); + + usecs = rint(tfl * 1000000); + } else { + usecs = IntegrOfTerm(ts) * 1000000; + } + out = usleep(usecs); + return; + } +#elif HAVE_SLEEP + { + unsigned int secs, out; + if (IsFloatTerm(ts)) { + secs = rint(FloatOfTerm(ts)); + } else { + secs = IntOfTerm(ts); + } + out = sleep(secs); + return (Yap_unify(ARG2, MkIntTerm(out))); + } +#else + YAP_Error(SYSTEM_ERROR, 0L, "sleep not available in this configuration"); + return FALSE: +#endif +} + void Yap_InitSysPreds(void) { Yap_InitCPred("log_event", 1, p_log_event, SafePredFlag | SyncPredFlag); Yap_InitCPred("sh", 0, p_sh, SafePredFlag | SyncPredFlag); @@ -1901,5 +1970,6 @@ void Yap_InitSysPreds(void) { Yap_InitCPred("win_registry_get_value", 3, p_win_registry_get_value, 0); #endif Yap_InitCPred("rmdir", 2, p_rmdir, SyncPredFlag); + Yap_InitCPred("sleep", 1, p_sleep, SyncPredFlag); Yap_InitCPred("make_directory", 1, make_directory, SyncPredFlag); } From 2a1ec9c36b8064e686ec6eb7149d30c103baddd0 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Jul 2018 13:41:22 +0100 Subject: [PATCH 04/57] remove sleep`qq --- library/system.yap | 13 --------- library/system/sys.c | 68 -------------------------------------------- 2 files changed, 81 deletions(-) diff --git a/library/system.yap b/library/system.yap index c5ac7631e..8f1640711 100644 --- a/library/system.yap +++ b/library/system.yap @@ -50,7 +50,6 @@ shell/0, shell/1, shell/2, - sleep/1, system/0, system/1, system/2, @@ -205,18 +204,6 @@ WIN32 environment YAP will use `COMSPEC` if `SHELL` is undefined, in this case with the option `" /c "`. -*/ -/** @pred sleep(+ _Time_) - - -Block the current thread for _Time_ seconds. When YAP is compiled -without multi-threading support, this predicate blocks the YAP process. -The number of seconds must be a positive number, and it may an integer -or a float. The Unix implementation uses `usleep` if the number of -seconds is below one, and `sleep` if it is over a second. The WIN32 -implementation uses `Sleep` for both cases. - - */ /** @pred system diff --git a/library/system/sys.c b/library/system/sys.c index da9290a29..0a8c89580 100644 --- a/library/system/sys.c +++ b/library/system/sys.c @@ -852,73 +852,6 @@ static YAP_Bool plwait(void) { #endif } -static YAP_Bool p_sleep(void) { - YAP_Term ts = YAP_ARG1; -#if defined(__MINGW32__) || _MSC_VER - { - unsigned long int secs = 0, usecs = 0, msecs, out; - if (YAP_IsIntTerm(ts)) { - secs = YAP_IntOfTerm(ts); - } else if (YAP_IsFloatTerm(ts)) { - double tfl = YAP_FloatOfTerm(ts); - if (tfl > 1.0) - secs = tfl; - else - usecs = tfl * 1000000; - } - msecs = secs * 1000 + usecs / 1000; - Sleep(msecs); - /* no errors possible */ - out = 0; - return (YAP_Unify(YAP_ARG2, YAP_MkIntTerm(out))); - } -#elif HAVE_NANOSLEEP - { - struct timespec req; - int out; - - if (YAP_IsFloatTerm(ts)) { - double tfl = YAP_FloatOfTerm(ts); - - req.tv_nsec = (tfl - floor(tfl)) * 1000000000; - req.tv_sec = rint(tfl); - } else { - req.tv_nsec = 0; - req.tv_sec = YAP_IntOfTerm(ts); - } - out = nanosleep(&req, NULL); - return (YAP_Unify(YAP_ARG2, YAP_MkIntTerm(out))); - } -#elif HAVE_USLEEP - { - useconds_t usecs; - if (YAP_IsFloatTerm(ts)) { - double tfl = YAP_FloatOfTerm(ts); - - usecs = rint(tfl * 1000000); - } else { - usecs = YAP_IntOfTerm(ts) * 1000000; - } - out = usleep(usecs); - return (YAP_Unify(YAP_ARG2, YAP_MkIntTerm(out))); - } -#elif HAVE_SLEEP - { - unsigned int secs, out; - if (YAP_IsFloatTerm(ts)) { - secs = rint(YAP_FloatOfTerm(ts)); - } else { - secs = YAP_IntOfTerm(ts); - } - out = sleep(secs); - return (YAP_Unify(YAP_ARG2, YAP_MkIntTerm(out))); - } -#else - YAP_Error(0, 0L, "sleep not available in this configuration"); - return FALSE: -#endif -} - /* host info */ static YAP_Bool host_name(void) { @@ -1066,7 +999,6 @@ X_API void init_sys(void) { YAP_UserCPredicate("tmpnam", p_tmpnam, 2); YAP_UserCPredicate("tmpdir", p_tmpdir, 2); YAP_UserCPredicate("rename_file", rename_file, 3); - YAP_UserCPredicate("sleep", p_sleep, 2); YAP_UserCPredicate("read_link", read_link, 2); YAP_UserCPredicate("error_message", error_message, 2); YAP_UserCPredicate("win", win, 0); From 94621bf8f2c120518027d3503f07a0c43b498976 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Jul 2018 13:43:29 +0100 Subject: [PATCH 05/57] real --- CMakeLists.txt | 21 +++++++++++---------- packages/real/CMakeLists.txt | 21 +++++++++++++-------- packages/real/real.pl | 10 ++++++++++ 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2365fd4bd..88bc15e75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -557,7 +557,8 @@ option(WITH_R "Use R Interface" ON) IF (WITH_R) - include_directories(packages/real ) + find_host_package(LibR) +add_subDIRECTORY(packages/real) ENDIF (WITH_R) @@ -776,7 +777,6 @@ if (WITH_GECODE) add_subDIRECTORY(packages/gecode) endif () -add_subDIRECTORY(packages/real) @@ -795,17 +795,16 @@ if (Java_Development_FOUND) set (STD_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK}) set (CMAKE_FIND_FRAMEWORK LAST) # CMake will find the Java returned by /usr/libexec/java_home. -find_package(JNI) + + macro_optional_find_package(JNI ON) + + set (CMAKE_FIND_FRAMEWORK ${STD_CMAKE_FIND_FRAMEWORK}) - if (NOT JNI_FOUND) - -set (JAVA_HOME ${JAVA_INCLUDE_PATH}/..) - -endif() - if (JNI_FOUND) +get_filename_component(JAVA_HOME ${JAVA_INCLUDE_PATH} DIRECTORY) + include(UseJava) # @@ -826,7 +825,8 @@ endif() # The Java_ADDITIONAL_VERSIONS variable can be used to specify a list # of version numbers that should be taken into account when searching # for Java. You need to set this variable before calling - # find_package(JavaLibs). + + # #macro_optional_find_package(JNI ON) # JNI_INCLUDE_DIRS = the include dirs to use @@ -838,6 +838,7 @@ endif() # JAVA_INCLUDE_PATH2 = the include path to jni_md.h # JAVA_AWT_INCLUDE_PATH = the include path to jawt.h + endif (JNI_FOUND) diff --git a/packages/real/CMakeLists.txt b/packages/real/CMakeLists.txt index a05d633dd..0a4b1ae32 100644 --- a/packages/real/CMakeLists.txt +++ b/packages/real/CMakeLists.txt @@ -3,31 +3,36 @@ +set(REAL_SOURCES real.c) + # LIBR_FOUND # LIBR_HOME -# LIBR_INCLUDE_DIRS +# LIBLIBR_INCLUDE_DIRSS # LIBR_DOC_DIR # LIBR_LIBRARIES -if (R_LIBRARIES AND R_INCLUDE_DIR) +if (LIBR_LIBRARIES AND LIBR_INCLUDE_DIRS) set_package_properties(R PROPERTIES DESCRIPTION "The R Project for Statistical Computing." URL "https://www.r-project.org/") add_lib(real ${REAL_SOURCES}) - target_link_libraries (real ${R_LIBRARIES} libYap) + target_link_libraries (real ${LIBR_LIBRARIES} libYap) include_directories ( - ${CMAKE_CURRENT_BINARY_DIR} - ${R_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/include + ${LIBR_INCLUDE_DIRS} ) list (APPEND CMAKE_REQUIRED_INCLUDES - ${CMAKE_CURRENT_BINARY_DIR} - ${R_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/include + ${LIBR_INCLUDE_DIRS} ) check_include_files( "stdio.h;R.h" HAVE_R_H ) - check_include_files( "R.h,;Rembedded.h" HAVE_R_EMBEDDED_H ) + check_include_files( "R.h,;Rembeddred.h" HAVE_R_EMBEDDED_H ) check_include_files( "Rembedded.h;Rinterface.h" HAVE_R_INTERFACE_H ) configure_file ("rconfig.h.cmake" "rconfig.h" ) diff --git a/packages/real/real.pl b/packages/real/real.pl index 17eea60bf..328daca57 100755 --- a/packages/real/real.pl +++ b/packages/real/real.pl @@ -66,6 +66,7 @@ :- use_module(library(readutil)). :- use_module(library(debug)). :- use_module(library(system)). +:- use_module(library(readutil)). :- dynamic( real:r_started/1 ). @@ -111,6 +112,15 @@ init_r_env :- install_in_ms_windows(ToR). :- endif. +init_r_env :- + current_prolog_flag(unix, true), + open(popen('R RHOME'),read,S), + read_line_to_codes(S,Lc), + close(S), + Lc \= end_of_file, + !, + atom_codes(RH,Lc), + setenv('R_HOME',RH). init_r_env :- current_prolog_flag(unix, true), % typical Linux 64 bit setup (fedora) From 4b3aedccb558670d8f8ea76e8bcbdedf457cfd02 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Jul 2018 13:44:55 +0100 Subject: [PATCH 06/57] misc --- C/flags.c | 2 +- C/load_foreign.c | 4 ++++ H/Foreign.h | 6 ++++++ packages/jpl/src/c/jpl.c | 2 +- packages/swig/yap.i | 4 ++-- pl/load_foreign.yap | 14 ++++++-------- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/C/flags.c b/C/flags.c index e762e41ce..eb1bd9ffe 100644 --- a/C/flags.c +++ b/C/flags.c @@ -1731,7 +1731,7 @@ void Yap_InitFlags(bool bootstrap) { Obtain the value for a YAP Prolog flag, same as current_prolog_flag/2. */ - Yap_InitCPredBack("prolog_flag", 3, 1, current_prolog_flag, cont_yap_flag, + Yap_InitCPredBack("prolog_flag", 3, 1, prolog_flag, cont_yap_flag, 0); Yap_InitCPredBack("yap_flag", 3, 1, yap_flag, cont_yap_flag, 0); Yap_InitCPredBack("prolog_flag", 2, 1, current_prolog_flag2, diff --git a/C/load_foreign.c b/C/load_foreign.c index ea4d8ee97..bc764a289 100644 --- a/C/load_foreign.c +++ b/C/load_foreign.c @@ -283,3 +283,7 @@ void Yap_ReOpenLoadForeign(void) { } CurrentModule = OldModule; } + +X_API bool load_none(void) +{ +} diff --git a/H/Foreign.h b/H/Foreign.h index 135ed4bbf..6778d06df 100644 --- a/H/Foreign.h +++ b/H/Foreign.h @@ -129,4 +129,10 @@ void Yap_ShutdownLoadForeign(void); #define EAGER_LOADING 1 #define GLOBAL_LOADING 2 +/** + * stub can always be called at DLL loading. + * + */ +X_API bool load_none(void); + #endif diff --git a/packages/jpl/src/c/jpl.c b/packages/jpl/src/c/jpl.c index 2a1bbc939..d7e0c6c21 100755 --- a/packages/jpl/src/c/jpl.c +++ b/packages/jpl/src/c/jpl.c @@ -640,7 +640,7 @@ static JNIEnv* jni_env(void) /* economically gets a JNIEnv pointer, valid for this thread */ { JNIEnv *env; - switch( (*jvm)->GetEnv(jvm, (void**)&env, JNI_VERSION_1_2) ) + switch( (*jvm)->GetEnv(jvm, (void**)&env, JNI_VERSION_1_8) ) { case JNI_OK: return env; case JNI_EDETACHED: diff --git a/packages/swig/yap.i b/packages/swig/yap.i index fca51c2b4..7d38bc546 100644 --- a/packages/swig/yap.i +++ b/packages/swig/yap.i @@ -333,8 +333,8 @@ X_API extern Term YAP_MkCharPTerm( char *n); %template(TermVector) vector; %feature("novaluewrapper") vector; - //%template(YAPTermVector) vector; - //%feature("novaluewrapper") vector; + %template(YAPTermVector) vector; + %feature("novaluewrapper") vector; diff --git a/pl/load_foreign.yap b/pl/load_foreign.yap index 3ff848843..cacb8058c 100644 --- a/pl/load_foreign.yap +++ b/pl/load_foreign.yap @@ -39,11 +39,6 @@ */ -maplist_(_, [], []). -maplist_(Pred, [A1|L1], [A2|L2]) :- - call(Pred, A1, A2), - maplist_(Pred, L1, L2). - /** @pred load_foreign_files( _Files_, _Libs_, _InitRoutine_) should be used, from inside YAP, to load object files produced by the C @@ -74,8 +69,8 @@ load_foreign_files(Objs,Libs,Entry) :- access(read), expand(true), file_errors(fail)], NewObjs), - maplist_( '$load_lib', Libs, NewLibs), - '$load_foreign_files'(NewObjs,NewLibs,Entry), + '$load_libs'( Libs ), + '$load_foreign_files'(NewObjs,[],Entry), !, prolog_load_context(file, F), ignore( recordzifnot( '$load_foreign_done', [F, M], _) ). @@ -95,7 +90,10 @@ load_foreign_files(Objs,Libs,Entry) :- '$name_object'(I, P, O) :- absolute_file_name(I, O, P). -'$load_lib'(_,L,L). +'$load_libs'([]). +'$load_libs'([File|Files]) :- + open_shared_object(File, _Handle), + '$load_libs'(Files). /** @pred load_absolute_foreign_files( Files, Libs, InitRoutine) From 52d69d3c06ab2901633aeb63a5b993b4b2fc6079 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Jul 2018 13:46:26 +0100 Subject: [PATCH 07/57] droid --- C/text.c | 2 - CXX/yapi.cpp | 61 ++++++++++++++++++++++++++-- CXX/yapt.hh | 22 ++++++---- packages/myddas/sqlite3/sqlitest.yap | 8 +++- packages/swig/android/CMakeLists.txt | 4 +- pl/boot.yap | 4 ++ 6 files changed, 83 insertions(+), 18 deletions(-) diff --git a/C/text.c b/C/text.c index b1b78aeb9..7140b7f2c 100644 --- a/C/text.c +++ b/C/text.c @@ -550,10 +550,8 @@ unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { POPRET( (char*)latin2utf8(inp)); } - if (inp->enc == ENC_ISO_UTF8) { pop_text_stack(lvl); return inp->val.c; - } } if (inp->type & YAP_STRING_WCHARS) { // printf("%S\n",inp->val.w); diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index d955eada6..55115221b 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -125,6 +125,7 @@ YAPAtomTerm::YAPAtomTerm(char s[]) { // build string CACHE_REGS seq_tv_t inp, out; + inp.enc = LOCAL_encoding; inp.val.c = s; inp.type = YAP_STRING_CHARS; out.type = YAP_STRING_ATOM; @@ -142,7 +143,8 @@ YAPAtomTerm::YAPAtomTerm(char *s, size_t len) { // build string seq_tv_t inp, out; inp.val.c = s; inp.type = YAP_STRING_CHARS; - out.type = YAP_STRING_ATOM | YAP_STRING_NCHARS | YAP_STRING_TRUNC; + inp.enc = LOCAL_encoding; + out.type = YAP_STRING_ATOM | YAP_STRING_NCHARS | YAP_STRING_TRUNC; out.max = len; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk(MkAtomTerm(out.val.a)); @@ -253,15 +255,66 @@ YAPApplTerm::YAPApplTerm(YAPFunctor f, YAPTerm ts[]) { RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, std::vector ts) { +YAPApplTerm::YAPApplTerm(std::string f, std::vector ts) { BACKUP_H(); arity_t arity = ts.size(); Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); Term o = Yap_MkNewApplTerm(ff, arity); Term *tt = RepAppl(o) + 1; for (arity_t i = 0; i < arity; i++) - tt[i] = ts[i].term(); + tt[i] = ts[i]; mk(o); + RECOVER_H(); +} + +YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1) { + BACKUP_H(); + arity_t arity = 1; + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + tt[0] = a1.term(); + mk(o); + RECOVER_H(); +} + +YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2) { + BACKUP_H(); + arity_t arity = 2; + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + tt[0] = a1.term(); + tt[1] = a2.term(); + mk(o); + RECOVER_H(); +} + +YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3) { + BACKUP_H(); + arity_t arity = 3; + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + tt[0] = a1.term(); + tt[2] = a2.term(); + tt[3] = a3.term(); + mk(o); + RECOVER_H(); +} + +YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3, YAPTerm a4) { + BACKUP_H(); + arity_t arity = 4; + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + tt[0] = a1.term(); + tt[2] = a2.term(); + tt[3] = a3.term(); + tt[4] = a4.term(); + mk(o); + RECOVER_H(); } YAPApplTerm::YAPApplTerm(YAPFunctor f) : YAPTerm() { @@ -524,7 +577,7 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { #endif CACHE_REGS BACKUP_MACHINE_REGS(); - Term *ts = nullptr; + Term *ts = nullptr; q.CurSlot = Yap_StartSlots(); q.p = P; q.cp = CP; diff --git a/CXX/yapt.hh b/CXX/yapt.hh index f07505234..434ea7702 100644 --- a/CXX/yapt.hh +++ b/CXX/yapt.hh @@ -297,15 +297,19 @@ public: public: YAPApplTerm(Term t0) { mk(t0); } - YAPApplTerm(Functor f, Term ts[]) { - BACKUP_MACHINE_REGS(); - Term t0 = Yap_MkApplTerm(f, f->ArityOfFE, ts); - mk(t0); - RECOVER_MACHINE_REGS(); - }; - YAPApplTerm(YAPFunctor f, YAPTerm ts[]); - YAPApplTerm(const std::string s, unsigned int arity) { mk(Yap_MkNewApplTerm(Yap_MkFunctor(Yap_LookupAtom(s.c_str()), arity), arity)); }; - YAPApplTerm(const std::string s, std::vector ts); + YAPApplTerm(Functor f, Term ts[]) { + BACKUP_MACHINE_REGS(); + Term t0 = Yap_MkApplTerm(f, f->ArityOfFE, ts); + mk(t0); + RECOVER_MACHINE_REGS(); + }; + YAPApplTerm(YAPFunctor f, YAPTerm ts[]); + YAPApplTerm( std::string s, unsigned int arity) { mk(Yap_MkNewApplTerm(Yap_MkFunctor(Yap_LookupAtom(s.c_str()), arity), arity)); }; + YAPApplTerm( std::string s, std::vector v); + YAPApplTerm( std::string s, YAPTerm a1); + YAPApplTerm( std::string s, YAPTerm a1, YAPTerm a2); + YAPApplTerm( std::string s, YAPTerm a1, YAPTerm a2, YAPTerm a3); + YAPApplTerm( std::string s, YAPTerm a1, YAPTerm a2, YAPTerm a3, YAPTerm a4); YAPApplTerm(YAPFunctor f); inline Functor functor() { return FunctorOfTerm(gt()); } inline YAPFunctor getFunctor() { return YAPFunctor(FunctorOfTerm(gt())); } diff --git a/packages/myddas/sqlite3/sqlitest.yap b/packages/myddas/sqlite3/sqlitest.yap index a800ffadf..972e8f3ca 100644 --- a/packages/myddas/sqlite3/sqlitest.yap +++ b/packages/myddas/sqlite3/sqlitest.yap @@ -1,4 +1,3 @@ -:- stop_low_level_trace. :- use_module(library(lists)). @@ -14,10 +13,17 @@ main_ :- fail. main_ . +:- if yap_flag(android,true). init :- db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _), % db_open(sqlite3, 'chinook.db', _, _), writeln('chinook has landed'). +:- else. +init :- + db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _), + % db_open(sqlite3, 'chinook.db', _, _), + writeln('chinook has landed'). +:-endif go :- writeln(('db_import')), diff --git a/packages/swig/android/CMakeLists.txt b/packages/swig/android/CMakeLists.txt index c247bb2e3..418654c62 100644 --- a/packages/swig/android/CMakeLists.txt +++ b/packages/swig/android/CMakeLists.txt @@ -36,12 +36,12 @@ DEPENDS pllibpl ${pl_os_library} ) add_custom_command (OUTPUT ${CMAKE_SWIG_OUTPUT}/swig_streamer.cpp - COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -outdir ${CMAKE_SWIG_OUTDIR} -addextern -I${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SWIG_OUTPUT}/swig_streamer.cpp -oh ${CMAKE_SWIG_OUTPUT}/swig_streamer.hh streamer.i + COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -O -outdir ${CMAKE_SWIG_OUTDIR} -addextern -I${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SWIG_OUTPUT}/swig_streamer.cpp -oh ${CMAKE_SWIG_OUTPUT}/swig_streamer.hh streamer.i DEPENDS streamer.i ) add_custom_command (OUTPUT ${CMAKE_SWIG_OUTPUT}/yap_swig.cpp - COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -outdir ${CMAKE_SWIG_OUTDIR} -addextern -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_BINARY_DIR} -I${GMP_INCLUDE_DIRS} -DX_API="" -o ${CMAKE_SWIG_OUTPUT}/yap_swig.cpp -oh ${CMAKE_SWIG_OUTPUT}/yap_swig.hh ${SWIG_SOURCES} + COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -O -outdir ${CMAKE_SWIG_OUTDIR} -addextern -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_BINARY_DIR} -I${GMP_INCLUDE_DIRS} -DX_API="" -o ${CMAKE_SWIG_OUTPUT}/yap_swig.cpp -oh ${CMAKE_SWIG_OUTPUT}/yap_swig.hh ${SWIG_SOURCES} DEPENDS pllibos ${SWIG_SOURCES} YAP++) diff --git a/pl/boot.yap b/pl/boot.yap index 46287f3cb..9d9ac605d 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -478,4 +478,8 @@ If this hook preodicate succeeds it must instantiate the _Action_ argument to t :- ensure_loaded('../pl/pathconf.yap'). :- yap_flag(user:unknown,error). + +:- ensure_loaded('../android.yap'). + + %% @} From 37992c77be0de4394b88c69f537a164092d37c3f Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 16 Jul 2018 08:47:11 +0100 Subject: [PATCH 08/57] trash --- packages/ProbLog/problog_examples/#x# | 13131 ------------------------ 1 file changed, 13131 deletions(-) delete mode 100644 packages/ProbLog/problog_examples/#x# diff --git a/packages/ProbLog/problog_examples/#x# b/packages/ProbLog/problog_examples/#x# deleted file mode 100644 index afb063d71..000000000 --- a/packages/ProbLog/problog_examples/#x# +++ /dev/null @@ -1,13131 +0,0 @@ -% YAP 6.3.5-fadf853e (compiled 2018-02-07T13:57:15@vsc-GL502VM) -% database loaded from /home/vsc/.local/lib/Yap/startup.yss - % reconsulting alarm... - % reconsulting ../problog... - % reconsulting library(lists)... - % reconsulted /home/vsc/.local/share/Yap/lists.yap in module lists, 4 msec 0 bytes - % reconsulting library(terms)... - % reconsulted /home/vsc/.local/share/Yap/terms.yap in module terms, 1 msec 0 bytes - % reconsulting library(random)... - % reconsulted /home/vsc/.local/share/Yap/random.yap in module random, 2 msec 0 bytes - % reconsulting library(system)... - % reconsulted /home/vsc/.local/share/Yap/system.yap in module operating_system_support, 6 msec 0 bytes - % reconsulting library(ordsets)... - % reconsulted /home/vsc/.local/share/Yap/ordsets.yap in module ordsets, 3 msec 0 bytes - % reconsulting library(lineutils)... - % reconsulting library(readutil)... - % reconsulted /home/vsc/.local/share/Yap/readutil.yap in module readutil, 0 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/lineutils.yap in module lineutils, 5 msec 0 bytes - % reconsulting problog/variables... - % reconsulting library(timeout)... - % reconsulting library(hacks)... - % reconsulted /home/vsc/.local/share/Yap/hacks.yap in module yap_hacks, 1 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/timeout.yap in module timeout, 2 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/variables.yap in module variables, 4 msec 0 bytes - % reconsulting problog/extlists... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/extlists.yap in module extlists, 1 msec 0 bytes - % reconsulting problog/gflags... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/gflags.yap in module gflags, 5 msec 0 bytes - % reconsulting problog/flags... - % reconsulting os... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/os.yap in module os, 1 msec 0 bytes - % reconsulting logger... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/logger.yap in module logger, 2 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/flags.yap in module flags, 7 msec 0 bytes - % reconsulting problog/print... - % reconsulting version_control... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/version_control.yap in module version_control, 1 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/print.yap in module print, 5 msec 0 bytes - % reconsulting problog/ptree... - % reconsulting library(tries)... - % reconsulted /home/vsc/.local/share/Yap/tries.yap in module tries, 1 msec 0 bytes - % reconsulting utils... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/utils.yap in module utils, 0 msec 0 bytes - % reconsulting nestedtries... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/nestedtries.yap in module nestedtries, 2 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/ptree.yap in module ptree, 21 msec 0 bytes - % reconsulting problog/tabling... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/tabling.yap in module tabling, 4 msec 0 bytes - % reconsulting problog/sampling... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/sampling.yap in module sampling, 2 msec 0 bytes - % reconsulting problog/intervals... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/intervals.yap in module intervals, 3 msec 0 bytes - % reconsulting problog/mc_DNF_sampling... - % reconsulting hash_table... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/hash_table.yap in module hash_table, 1 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/mc_DNF_sampling.yap in module mc_DNF_sampling, 6 msec 0 bytes - % reconsulting problog/timer... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/timer.yap in module timer, 1 msec 0 bytes - % reconsulting problog/ad_converter... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/ad_converter.yap in module ad_converter, 3 msec 0 bytes - % reconsulting problog/variable_elimination... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/variable_elimination.yap in module variable_elimination, 3 msec 0 bytes -/home/vsc/github/yap-6.3/packages/ProbLog/problog.yap:2617:0 warning: singleton variable P in problog:problog_low/4. - - % including /home/vsc/github/yap-6.3/packages/ProbLog/problog_lbdd.yap... - % reconsulting library(trie_sp)... - % reconsulting bdd... - % reconsulting library(maplist)... - % reconsulting library(maputils)... - % reconsulted /home/vsc/.local/share/Yap/maputils.yap in module maputils, 2 msec 0 bytes - % reconsulting library(charsio)... -Unknown exception: error(resource_error(database_space,[]),[[e|p(prolog,fail,0,/home/vsc/github/yap-6.3/pl,0)],[p|p(prolog,$enter_command,3,/home/vsc/github/yap-6.3/pl,850)],[c|c(/home/vsc/github/yap-6.3/C/grow.c,1483,Yap_locked_growheap)],[i|]]) -/home/vsc/.local/share/Yap/charsio.yap:224:0 warning: syntax error bracket or operator expected. -nd_of_file) <<<< at line 224 - - - % reconsulted /home/vsc/.local/share/Yap/charsio.yap in module charsio, 2 msec 0 bytes - % reconsulting library(occurs)... - % reconsulting library(arg)... - % reconsulted /home/vsc/.local/share/Yap/arg.yap in module arg, 1 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/occurs.yap in module occurs, 2 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/maplist.yap in module maplist, 14 msec 0 bytes - % reconsulting library(rbtrees)... - % reconsulted /home/vsc/.local/share/Yap/rbtrees.yap in module rbtrees, 12 msec 0 bytes - % reconsulting library(simpbool)... - % reconsulted /home/vsc/.local/share/Yap/simpbool.yap in module simplify_boolean, 1 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/bdd.yap in module bdd, 33 msec 0 bytes - % reconsulted /home/vsc/.local/share/Yap/trie_sp.yap in module trie_sp, 35 msec 0 bytes - % reconsulting library(bhash)... - % reconsulted /home/vsc/.local/share/Yap/bhash.yap in module b_hash, 3 msec 0 bytes - % /home/vsc/github/yap-6.3/packages/ProbLog/problog_lbdd.yap included in module problog, 39 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog.yap in module problog, 164 msec 0 bytes - % reconsulting ../problog_lfi... - % reconsulting problog/completion... - % reconsulting grounder... - % reconsulting termhandling... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/termhandling.yap in module termhandling, 3 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/grounder.yap in module grounder, 4 msec 0 bytes - % reconsulting print_learning... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/print_learning.yap in module print_learning, 2 msec 0 bytes - % reconsulting utils_learning... - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/utils_learning.yap in module utils_learning, 3 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog/completion.yap in module completion, 18 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap in module problog_lfi, 31 msec 0 bytes - % reconsulted /home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/alarm.pl in module user, 218 msec 0 bytes -1d 78 0 CALL: prolog:$call(do_learning(100), 78, start_low_level_trace,do_learning(100), user ) -2d 111 0 FAIL RETRY: prolog:$call(do_learning(100), 78, start_low_level_trace,do_learning(100), user ) -3d 78 0 CALL: prolog:$execute0(do_learning(100), user ) -+s 0x5602aec08ae0 - @0x7efdd88a3078 0 -4d 78 0 CALL: user:do_learning(100 ) -5d 78 0 CALL: prolog:$undefp([user|do_learning(100)], error ) -6d 78 0 CALL: prolog:yap_flag(unknown, error, fail ) -7d 78 0 CALL: prolog:$stop_creeping(_1048462 ) -8d 78 0 TRY_OR -9d 124 0 CALL: prolog:$undefp_search(user:do_learning(100), _131400:_131401 ) -10d 133 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_131403,_131404,_131405,_131406), user ) -11d 133 0 FAIL RETRY: prolog:$undefp_search(user:do_learning(100), _131400:_131401 ) -12d 124 0 CALL: prolog:expand_goal(user:do_learning(100), _131400:_131401 ) -13d 124 0 CALL: prolog:$expand_meta_call(user:do_learning(100), [], _131400:_131401 ) -14d 124 0 CALL: prolog:source_module(_131402 ) -15d 124 0 CALL: prolog:$yap_strip_module(user:user:do_learning(100), _1048442, _131406 ) -16d 124 0 CALL: prolog:$expand_goals(do_learning(100), _1048441, _1048443, user, user, user, []- (user:do_learning(100)) ) -17d 148 0 FAIL RETRY: prolog:$expand_goals(do_learning(100), _1048441, _1048443, user, user, user, []- (user:do_learning(100)) ) -18d 148 0 FAIL RETRY: prolog:$expand_goals(do_learning(100), _1048441, _1048443, user, user, user, []- (user:do_learning(100)) ) -19d 148 0 FAIL RETRY: prolog:$expand_goals(do_learning(100), _1048441, _1048443, user, user, user, []- (user:do_learning(100)) ) -20d 124 0 CALL: prolog:$yap_strip_module(user:do_learning(100), _131413, _131414 ) -21d 124 0 CALL: prolog:$expand_goal(do_learning(100), _1048441, _1048443, user, user, user, []- (user:do_learning(100)) ) -22d 124 0 CALL: prolog:$yap_strip_module(user:do_learning(100), _131418, _131419 ) -23d 124 0 CALL: prolog:$user_expansion(user:do_learning(100), _131424:_131425 ) -24d 158 0 CALL: prolog:_user_expand_goal(user:do_learning(100), _131427:_131428 ) -27d 158 0 FAIL RETRY: prolog:$user_expansion(user:do_learning(100), _131424:_131425 ) -28d 124 0 CALL: prolog:$import_expansion(user:do_learning(100), _131427:_131428 ) -29d 157 0 CALL: prolog:$imported_predicate(do_learning(100), user, _131428, _131427 ) -30d 173 0 CALL: prolog:$is_system_predicate(do_learning(100), prolog ) -31d 173 0 FAIL RETRY: prolog:$imported_predicate(do_learning(100), user, _131428, _131427 ) -32d 157 0 CALL: prolog:$undefined(do_learning(100), user ) -33d 157 0 CALL: prolog:$get_undefined_predicates(do_learning(100), user, _131428, _131427 ) -34d 180 0 CALL: prolog:recorded('$import', '$import'(_131430,user,_131432,do_learning(100),_131434,_131435), _1048385 ) -35d 180 0 CALL: prolog:$continue_imported(_131427, problog_lfi, _131428, do_learning(100) ) -36d 191 0 CALL: prolog:$pred_exists(do_learning(100), problog_lfi ) -37d 180 0 CALL: prolog:\=(problog_lfi, user ) -38d 124 0 CALL: prolog:$meta_expansion(problog_lfi:do_learning(100), user, [], _1048430 ) -39d 156 0 CALL: prolog:$yap_strip_module(problog_lfi:do_learning(100), _131448, _1048409 ) -40d 156 0 CALL: prolog:functor(do_learning(100), _131451, _131452 ) -41d 156 0 CALL: prolog:$meta_predicate(do_learning, problog_lfi, 1, _1048410 ) -42d 156 0 FAIL RETRY: prolog:$meta_expansion(problog_lfi:do_learning(100), user, [], _1048430 ) -43d 124 0 CALL: prolog:$yap_strip_module(problog_lfi:do_learning(100), _131448, _131449 ) -44d 124 0 CALL: prolog:$yap_strip_module(problog_lfi:do_learning(100), _131450, _131451 ) -45d 124 0 CALL: prolog:$end_goal_expansion(do_learning(100), _1048441, _1048443, user, user, problog_lfi, user:do_learning(100) ) -46d 124 0 CALL: prolog:$match_mod(do_learning(100), user, user, problog_lfi, _1048441 ) -47d 124 0 CALL: prolog:$is_system_predicate(do_learning(100), problog_lfi ) -48d 124 0 TRY_OR -49d 162 0 CALL: prolog:==(problog_lfi, user ) -51d 124 0 CALL: prolog:$c_built_in(problog_lfi:do_learning(100), problog_lfi, user:do_learning(100), _1048432 ) -52d 155 0 CALL: prolog:get_value('$c_arith', true ) -53d 124 0 CALL: prolog:do_c_built_in(problog_lfi:do_learning(100), problog_lfi, user:do_learning(100), _1048432 ) -54d 166 0 CALL: prolog:$yap_strip_module(problog_lfi:do_learning(100), _131455, _131456 ) -55d 166 0 FAIL RETRY: prolog:do_c_built_in(problog_lfi:do_learning(100), problog_lfi, user:do_learning(100), _1048432 ) -56d 166 0 CALL: prolog:$compop(problog_lfi:do_learning(100), _1048394, _1048395, _1048397 ) -57d 166 0 FAIL RETRY: prolog:do_c_built_in(problog_lfi:do_learning(100), problog_lfi, user:do_learning(100), _1048432 ) -58d 166 0 CALL: prolog:$yap_strip_module(problog_lfi:problog_lfi:do_learning(100), _131458, _131459 ) -59d 166 0 CALL: prolog:$match_mod(do_learning(100), user, user, problog_lfi, _1048443 ) -60d 166 0 CALL: prolog:$is_system_predicate(do_learning(100), problog_lfi ) -61d 166 0 TRY_OR -62d 182 0 CALL: prolog:==(problog_lfi, user ) -64d 166 0 CALL: prolog:$yap_strip_module(user:problog_lfi:do_learning(100), _131400, _131401 ) -65d 166 0 TRY_OR -66d 174 0 CALL: prolog:\==(user, problog_lfi ) -67d 166 0 CALL: prolog:\=(do_learning(100), fail ) -68d 78 0 CALL: prolog:yap_flag(unknown, _1048461, error ) -69d 78 0 TRY_OR -70d 121 0 CALL: prolog:==(false, true ) -72d 78 0 CALL: prolog:$execute0(do_learning(100), problog_lfi ) -73d 78 0 CALL: problog_lfi:do_learning(100 ) -74d 78 0 CALL: problog_lfi:do_learning(100, -1 ) -75d 78 0 CALL: prolog:>(100, 0 ) -76d 78 0 CALL: problog_lfi:init_learning -+s 0x5602af1f0450 - @0x7efdd88a3088 0 -+s 0x5602aec28b10 - @0x7efdd88a3088 0 -- 0x5602af1f0450 - @0x7efdd88a3088 78 -77d 115 0 CALL: problog_lfi:learning_initialized -78d 115 0 FAIL RETRY: problog_lfi:init_learning -79d 78 0 CALL: os:convert_filename_to_problog_path(simplecudd_lfi, _1048452 ) -80d 78 0 CALL: os:problog_path(_1048444 ) -81d 140 0 CALL: os:concat_path_with_filename('/usr/local/bin', simplecudd_lfi, _1048452 ) -82d 140 0 CALL: os:path_separator(_1048427 ) -83d 157 0 CALL: prolog:current_prolog_flag(windows, true ) -84d 157 0 FAIL RETRY: os:path_separator(_1048427 ) -85d 140 0 CALL: prolog:atomic_list_concat(['/usr/local/bin',/,simplecudd_lfi], _1048452 ) -86d 140 0 CALL: prolog:atomic_concat(['/usr/local/bin',/,simplecudd_lfi], _1048452 ) -87d 140 0 CALL: prolog:catch(os:file_exists('/usr/local/bin/simplecudd_lfi'), _131477, os:fail ) -88d 140 0 CALL: prolog:$catch(os:file_exists('/usr/local/bin/simplecudd_lfi'), _131477, os:fail ) -89d 150 0 CALL: prolog:$execute(os:file_exists('/usr/local/bin/simplecudd_lfi') ) -90d 150 0 CALL: prolog:file_exists('/usr/local/bin/simplecudd_lfi' ) -91d 150 0 CALL: prolog:absolute_file_name('/usr/local/bin/simplecudd_lfi', _131481, [expand(true),solutions(first),access(exist)] ) -92d 150 0 CALL: prolog:absolute_file_name('/usr/local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -93d 176 0 FAIL RETRY: prolog:absolute_file_name('/usr/local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -94d 150 0 CALL: prolog:$absolute_file_name('/usr/local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -95d 150 0 CALL: prolog:gated_call('$enter_absf'('/usr/local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131497,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505), '$find_in_path'('/usr/local/bin/simplecudd_lfi',_131497,_131481,_131498,_131504), _131512, '$absf_port'(_131512,'/usr/local/bin/simplecudd_lfi',_131481,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505) ) -96d 150 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/usr/local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131497,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505) ) -97d 186 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _131497 ) -98d 186 0 CALL: prolog:current_prolog_flag(open_expands_filename, _131499 ) -99d 186 0 CALL: prolog:current_prolog_flag(fileerrors, _131500 ) -100d 186 0 CALL: prolog:current_prolog_flag(verbose_file_search, _131501 ) -101d 186 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _131503 ) -102d 186 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _131502 ) -103d 186 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -104d 186 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _131535 ) -105d 186 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _131504 ) -106d 186 0 TRY_OR -107d 204 0 CALL: prolog:==(error, fail ) -109d 186 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -110d 186 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -111d 186 0 CALL: prolog:$absf_trace('/usr/local/bin/simplecudd_lfi' ) -112d 201 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -113d 201 0 FAIL RETRY: prolog:$absf_trace('/usr/local/bin/simplecudd_lfi' ) -114d 186 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -115d 200 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -116d 200 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -117d 150 0 CALL: prolog:$gated_call(true, '$find_in_path'('/usr/local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131481,t(no),first), _131512, '$absf_port'(_131512,'/usr/local/bin/simplecudd_lfi',_131481,t(no),false,true,false,true,false,first,true) ) -118d 150 0 CALL: prolog:$tag_cleanup(_131544, cleanup(true,_131512,'$absf_port'(_131512,'/usr/local/bin/simplecudd_lfi',_131481,t(no),false,true,false,true,false,first,true),_131542,true,_131544) ) -119d 150 0 CALL: prolog:$execute('$find_in_path'('/usr/local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131481,t(no),first) ) -120d 150 0 CALL: prolog:$find_in_path('/usr/local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131481, t(no), first ) -121d 175 0 FAIL RETRY: prolog:$find_in_path('/usr/local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131481, t(no), first ) -122d 150 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048404 ) -123d 150 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048405 ) -124d 150 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048399 ) -125d 150 0 CALL: prolog:$absf_trace('start with ~w', ['/usr/local/bin/simplecudd_lfi'] ) -126d 191 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -127d 191 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/usr/local/bin/simplecudd_lfi'] ) -128d 150 0 CALL: prolog:$core_file_name('/usr/local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048395, [] ) -129d 150 0 CALL: prolog:$file_name('/usr/local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048384, _1048395, _1048385 ) -130d 203 0 CALL: prolog:=..('/usr/local/bin/simplecudd_lfi', [_131562,_131564] ) -131d 203 0 FAIL RETRY: prolog:$file_name('/usr/local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048384, _1048395, _1048385 ) -132d 150 0 CALL: prolog:$cat_file_name('/usr/local/bin/simplecudd_lfi', _1048384, _1048395, _1048385 ) -133d 202 0 FAIL RETRY: prolog:$cat_file_name('/usr/local/bin/simplecudd_lfi', _1048384, _1048395, _1048385 ) -134d 202 0 CALL: prolog:atom_codes('/usr/local/bin/simplecudd_lfi', _1048384 ) -135d 150 0 CALL: prolog:phrase([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048395, _1048385 ) -136d 150 0 CALL: prolog:$phrase_list([117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131621, _1048385 ) -137d 150 0 CALL: prolog:$phrase_list([115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131623, _1048385 ) -138d 150 0 CALL: prolog:$phrase_list([114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131625, _1048385 ) -139d 150 0 CALL: prolog:$phrase_list([47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131627, _1048385 ) -140d 150 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131629, _1048385 ) -141d 150 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131631, _1048385 ) -142d 150 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131633, _1048385 ) -143d 150 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131635, _1048385 ) -144d 150 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131637, _1048385 ) -145d 150 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131639, _1048385 ) -146d 150 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131641, _1048385 ) -147d 150 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131643, _1048385 ) -148d 150 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131645, _1048385 ) -149d 150 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131647, _1048385 ) -150d 150 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131649, _1048385 ) -151d 150 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _131651, _1048385 ) -152d 150 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _131653, _1048385 ) -153d 150 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _131655, _1048385 ) -154d 150 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _131657, _1048385 ) -155d 150 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _131659, _1048385 ) -156d 150 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _131661, _1048385 ) -157d 150 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _131663, _1048385 ) -158d 150 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _131665, _1048385 ) -159d 150 0 CALL: prolog:$phrase_list([100,95,108,102,105], _131667, _1048385 ) -160d 150 0 CALL: prolog:$phrase_list([95,108,102,105], _131669, _1048385 ) -161d 150 0 CALL: prolog:$phrase_list([108,102,105], _131671, _1048385 ) -162d 150 0 CALL: prolog:$phrase_list([102,105], _131673, _1048385 ) -163d 150 0 CALL: prolog:$phrase_list([105], _131675, _1048385 ) -164d 150 0 CALL: prolog:$phrase_list([], _131677, _1048385 ) -165d 150 0 CALL: prolog:$suffix([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131677, _1048387 ) -166d 200 0 CALL: lists:append(_1048365, [46|_131679], [47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -167d 220 0 FAIL RETRY: lists:append(_1048365, [46|_131679], [47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -168d 200 0 CALL: lists:append(_131681, [46|_131679], [117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -169d 220 0 FAIL RETRY: lists:append(_131681, [46|_131679], [117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -170d 200 0 CALL: lists:append(_131683, [46|_131679], [115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -171d 220 0 FAIL RETRY: lists:append(_131683, [46|_131679], [115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -172d 200 0 CALL: lists:append(_131685, [46|_131679], [114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -173d 220 0 FAIL RETRY: lists:append(_131685, [46|_131679], [114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -174d 200 0 CALL: lists:append(_131687, [46|_131679], [47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -175d 220 0 FAIL RETRY: lists:append(_131687, [46|_131679], [47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -176d 200 0 CALL: lists:append(_131689, [46|_131679], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -177d 220 0 FAIL RETRY: lists:append(_131689, [46|_131679], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -178d 200 0 CALL: lists:append(_131691, [46|_131679], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -179d 220 0 FAIL RETRY: lists:append(_131691, [46|_131679], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -180d 200 0 CALL: lists:append(_131693, [46|_131679], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -181d 220 0 FAIL RETRY: lists:append(_131693, [46|_131679], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -182d 200 0 CALL: lists:append(_131695, [46|_131679], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -183d 220 0 FAIL RETRY: lists:append(_131695, [46|_131679], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -184d 200 0 CALL: lists:append(_131697, [46|_131679], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -185d 220 0 FAIL RETRY: lists:append(_131697, [46|_131679], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -186d 200 0 CALL: lists:append(_131699, [46|_131679], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -187d 220 0 FAIL RETRY: lists:append(_131699, [46|_131679], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -188d 200 0 CALL: lists:append(_131701, [46|_131679], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -189d 220 0 FAIL RETRY: lists:append(_131701, [46|_131679], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -190d 200 0 CALL: lists:append(_131703, [46|_131679], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -191d 220 0 FAIL RETRY: lists:append(_131703, [46|_131679], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -192d 200 0 CALL: lists:append(_131705, [46|_131679], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -193d 220 0 FAIL RETRY: lists:append(_131705, [46|_131679], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -194d 200 0 CALL: lists:append(_131707, [46|_131679], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -195d 220 0 FAIL RETRY: lists:append(_131707, [46|_131679], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -196d 200 0 CALL: lists:append(_131709, [46|_131679], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -197d 220 0 FAIL RETRY: lists:append(_131709, [46|_131679], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -198d 200 0 CALL: lists:append(_131711, [46|_131679], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -199d 220 0 FAIL RETRY: lists:append(_131711, [46|_131679], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -200d 200 0 CALL: lists:append(_131713, [46|_131679], [109,112,108,101,99,117,100,100,95,108,102,105] ) -201d 220 0 FAIL RETRY: lists:append(_131713, [46|_131679], [109,112,108,101,99,117,100,100,95,108,102,105] ) -202d 200 0 CALL: lists:append(_131715, [46|_131679], [112,108,101,99,117,100,100,95,108,102,105] ) -203d 220 0 FAIL RETRY: lists:append(_131715, [46|_131679], [112,108,101,99,117,100,100,95,108,102,105] ) -204d 200 0 CALL: lists:append(_131717, [46|_131679], [108,101,99,117,100,100,95,108,102,105] ) -205d 220 0 FAIL RETRY: lists:append(_131717, [46|_131679], [108,101,99,117,100,100,95,108,102,105] ) -206d 200 0 CALL: lists:append(_131719, [46|_131679], [101,99,117,100,100,95,108,102,105] ) -207d 220 0 FAIL RETRY: lists:append(_131719, [46|_131679], [101,99,117,100,100,95,108,102,105] ) -208d 200 0 CALL: lists:append(_131721, [46|_131679], [99,117,100,100,95,108,102,105] ) -209d 220 0 FAIL RETRY: lists:append(_131721, [46|_131679], [99,117,100,100,95,108,102,105] ) -210d 200 0 CALL: lists:append(_131723, [46|_131679], [117,100,100,95,108,102,105] ) -211d 220 0 FAIL RETRY: lists:append(_131723, [46|_131679], [117,100,100,95,108,102,105] ) -212d 200 0 CALL: lists:append(_131725, [46|_131679], [100,100,95,108,102,105] ) -213d 220 0 FAIL RETRY: lists:append(_131725, [46|_131679], [100,100,95,108,102,105] ) -214d 200 0 CALL: lists:append(_131727, [46|_131679], [100,95,108,102,105] ) -215d 220 0 FAIL RETRY: lists:append(_131727, [46|_131679], [100,95,108,102,105] ) -216d 200 0 CALL: lists:append(_131729, [46|_131679], [95,108,102,105] ) -217d 220 0 FAIL RETRY: lists:append(_131729, [46|_131679], [95,108,102,105] ) -218d 200 0 CALL: lists:append(_131731, [46|_131679], [108,102,105] ) -219d 220 0 FAIL RETRY: lists:append(_131731, [46|_131679], [108,102,105] ) -220d 200 0 CALL: lists:append(_131733, [46|_131679], [102,105] ) -221d 220 0 FAIL RETRY: lists:append(_131733, [46|_131679], [102,105] ) -222d 200 0 CALL: lists:append(_131735, [46|_131679], [105] ) -223d 220 0 FAIL RETRY: lists:append(_131735, [46|_131679], [105] ) -224d 200 0 CALL: lists:append(_131737, [46|_131679], [] ) -225d 220 0 FAIL RETRY: lists:append(_131737, [46|_131679], [] ) -226d 200 0 FAIL RETRY: prolog:$suffix([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131677, _1048387 ) -227d 200 0 TRY_OR -228d 222 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048361 ) -229d 222 0 CALL: prolog:\=([], [] ) -231d 200 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _131678 ) -232d 200 0 TRY_OR -233d 220 0 CALL: prolog:==(txt, source ) -235d 200 0 CALL: user:prolog_file_type(_1048366, txt ) -236d 200 0 FAIL RETRY: prolog:$suffix([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131677, _1048387 ) -237d 150 0 CALL: prolog:$absf_trace(' try no suffix', [], _131677, _1048387 ) -238d 200 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -239d 200 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _131677, _1048387 ) -240d 150 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131677, [] ) -241d 191 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _131678 ) -242d 191 0 CALL: prolog:\=('', '' ) -243d 191 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131677, [] ) -244d 150 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/usr/local/bin/simplecudd_lfi'] ) -245d 189 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -246d 189 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/usr/local/bin/simplecudd_lfi'] ) -247d 150 0 CALL: prolog:$variable_expansion([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048396 ) -248d 189 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -249d 150 0 CALL: prolog:$expand_file_name([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048396 ) -250d 150 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -251d 188 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -252d 188 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -253d 150 0 CALL: prolog:$prefix([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048398, [] ) -254d 188 0 CALL: prolog:is_absolute_file_name([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -255d 150 0 CALL: prolog:phrase([47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048398, [] ) -256d 150 0 CALL: prolog:$phrase_list([117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131741, [] ) -257d 150 0 CALL: prolog:$phrase_list([115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131743, [] ) -258d 150 0 CALL: prolog:$phrase_list([114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131745, [] ) -259d 150 0 CALL: prolog:$phrase_list([47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131747, [] ) -260d 150 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131749, [] ) -261d 150 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131751, [] ) -262d 150 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131753, [] ) -263d 150 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131755, [] ) -264d 150 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131757, [] ) -265d 150 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131759, [] ) -266d 150 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131761, [] ) -267d 150 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131763, [] ) -268d 150 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131765, [] ) -269d 150 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131767, [] ) -270d 150 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131769, [] ) -271d 150 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _131771, [] ) -272d 150 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _131773, [] ) -273d 150 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _131775, [] ) -274d 150 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _131777, [] ) -275d 150 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _131779, [] ) -276d 150 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _131781, [] ) -277d 150 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _131783, [] ) -278d 150 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _131785, [] ) -279d 150 0 CALL: prolog:$phrase_list([100,95,108,102,105], _131787, [] ) -280d 150 0 CALL: prolog:$phrase_list([95,108,102,105], _131789, [] ) -281d 150 0 CALL: prolog:$phrase_list([108,102,105], _131791, [] ) -282d 150 0 CALL: prolog:$phrase_list([102,105], _131793, [] ) -283d 150 0 CALL: prolog:$phrase_list([105], _131795, [] ) -284d 150 0 CALL: prolog:$phrase_list([], _131797, [] ) -285d 150 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -286d 186 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -287d 186 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -288d 150 0 CALL: prolog:atom_codes(_1048401, [47,117,115,114,47,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -289d 150 0 TRY_OR -290d 150 0 CALL: prolog:expand_file_name('/usr/local/bin/simplecudd_lfi', _1048400 ) -291d 150 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/usr/local/bin/simplecudd_lfi']] ) -292d 184 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -293d 184 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/usr/local/bin/simplecudd_lfi']] ) -294d 150 0 CALL: lists:member(_1048402, ['/usr/local/bin/simplecudd_lfi'] ) -295d 183 0 CALL: prolog:real_path('/usr/local/bin/simplecudd_lfi', _131481 ) -296d 183 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/usr/local/bin/simplecudd_lfi'] ) -297d 192 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -298d 192 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/usr/local/bin/simplecudd_lfi'] ) -299d 183 0 CALL: prolog:$check_file('/usr/local/bin/simplecudd_lfi', txt, exist ) -300d 193 0 FAIL RETRY: prolog:$check_file('/usr/local/bin/simplecudd_lfi', txt, exist ) -301d 193 0 FAIL RETRY: prolog:$check_file('/usr/local/bin/simplecudd_lfi', txt, exist ) -302d 193 0 CALL: prolog:$access_file('/usr/local/bin/simplecudd_lfi', exist ) -303d 193 0 FAIL RETRY: prolog:$check_file('/usr/local/bin/simplecudd_lfi', txt, exist ) -304d 183 0 CALL: prolog:$access_file('/usr/local/bin/simplecudd_lfi', exist ) -305d 183 0 FAIL RETRY: lists:member(_1048402, ['/usr/local/bin/simplecudd_lfi'] ) -306d 150 0 CALL: lists:member(_1048402, [] ) -307d 200 0 CALL: prolog:$absf_trace(' !------- failed.', [] ) -308d 224 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -309d 224 0 FAIL RETRY: prolog:$absf_trace(' !------- failed.', [] ) -310d 200 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -311d 200 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -312d 200 0 CALL: prolog:set_prolog_flag(file_name_variables, false ) -313d 200 0 CALL: prolog:arg(1, t(no), _131806 ) -315d 150 0 FAIL RETRY: prolog:$catch(os:file_exists('/usr/local/bin/simplecudd_lfi'), _131477, os:fail ) -316d 140 0 CALL: prolog:$get_exception(_131477 ) -317d 140 0 FAIL RETRY: os:problog_path(_1048444 ) -318d 140 0 CALL: os:concat_path_with_filename('/home/vsc/.local/bin', simplecudd_lfi, _1048452 ) -319d 140 0 CALL: os:path_separator(_1048427 ) -320d 157 0 CALL: prolog:current_prolog_flag(windows, true ) -321d 157 0 FAIL RETRY: os:path_separator(_1048427 ) -322d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/.local/bin',/,simplecudd_lfi], _1048452 ) -323d 140 0 CALL: prolog:atomic_concat(['/home/vsc/.local/bin',/,simplecudd_lfi], _1048452 ) -324d 140 0 CALL: prolog:catch(os:file_exists('/home/vsc/.local/bin/simplecudd_lfi'), _131477, os:fail ) -325d 140 0 CALL: prolog:$catch(os:file_exists('/home/vsc/.local/bin/simplecudd_lfi'), _131477, os:fail ) -326d 150 0 CALL: prolog:$execute(os:file_exists('/home/vsc/.local/bin/simplecudd_lfi') ) -327d 150 0 CALL: prolog:file_exists('/home/vsc/.local/bin/simplecudd_lfi' ) -328d 150 0 CALL: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', _131481, [expand(true),solutions(first),access(exist)] ) -329d 150 0 CALL: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -330d 176 0 FAIL RETRY: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -331d 150 0 CALL: prolog:$absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131481 ) -332d 150 0 CALL: prolog:gated_call('$enter_absf'('/home/vsc/.local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131497,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505), '$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',_131497,_131481,_131498,_131504), _131512, '$absf_port'(_131512,'/home/vsc/.local/bin/simplecudd_lfi',_131481,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505) ) -333d 150 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/home/vsc/.local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131497,_131498,_131499,_131500,_131501,_131502,_131503,_131504,_131505) ) -334d 186 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _131497 ) -335d 186 0 CALL: prolog:current_prolog_flag(open_expands_filename, _131499 ) -336d 186 0 CALL: prolog:current_prolog_flag(fileerrors, _131500 ) -337d 186 0 CALL: prolog:current_prolog_flag(verbose_file_search, _131501 ) -338d 186 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _131503 ) -339d 186 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _131502 ) -340d 186 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -341d 186 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _131535 ) -342d 186 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _131504 ) -343d 186 0 TRY_OR -344d 204 0 CALL: prolog:==(error, fail ) -346d 186 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -347d 186 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -348d 186 0 CALL: prolog:$absf_trace('/home/vsc/.local/bin/simplecudd_lfi' ) -349d 201 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -350d 201 0 FAIL RETRY: prolog:$absf_trace('/home/vsc/.local/bin/simplecudd_lfi' ) -351d 186 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -352d 200 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -353d 200 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -354d 150 0 CALL: prolog:$gated_call(true, '$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131481,t(no),first), _131512, '$absf_port'(_131512,'/home/vsc/.local/bin/simplecudd_lfi',_131481,t(no),false,true,false,true,false,first,true) ) -355d 150 0 CALL: prolog:$tag_cleanup(_131544, cleanup(true,_131512,'$absf_port'(_131512,'/home/vsc/.local/bin/simplecudd_lfi',_131481,t(no),false,true,false,true,false,first,true),_131542,true,_131544) ) -356d 150 0 CALL: prolog:$execute('$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131481,t(no),first) ) -357d 150 0 CALL: prolog:$find_in_path('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131481, t(no), first ) -358d 175 0 FAIL RETRY: prolog:$find_in_path('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131481, t(no), first ) -359d 150 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048404 ) -360d 150 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048405 ) -361d 150 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048399 ) -362d 150 0 CALL: prolog:$absf_trace('start with ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -363d 191 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -364d 191 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -365d 150 0 CALL: prolog:$core_file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048395, [] ) -366d 150 0 CALL: prolog:$file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048384, _1048395, _1048385 ) -367d 203 0 CALL: prolog:=..('/home/vsc/.local/bin/simplecudd_lfi', [_131562,_131564] ) -368d 203 0 FAIL RETRY: prolog:$file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048384, _1048395, _1048385 ) -369d 150 0 CALL: prolog:$cat_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048384, _1048395, _1048385 ) -370d 202 0 FAIL RETRY: prolog:$cat_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048384, _1048395, _1048385 ) -371d 202 0 CALL: prolog:atom_codes('/home/vsc/.local/bin/simplecudd_lfi', _1048384 ) -372d 150 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048395, _1048385 ) -373d 150 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131633, _1048385 ) -374d 150 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131635, _1048385 ) -375d 150 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131637, _1048385 ) -376d 150 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131639, _1048385 ) -377d 150 0 CALL: prolog:$phrase_list([47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131641, _1048385 ) -378d 150 0 CALL: prolog:$phrase_list([118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131643, _1048385 ) -379d 150 0 CALL: prolog:$phrase_list([115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131645, _1048385 ) -380d 150 0 CALL: prolog:$phrase_list([99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131647, _1048385 ) -381d 150 0 CALL: prolog:$phrase_list([47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131649, _1048385 ) -382d 150 0 CALL: prolog:$phrase_list([46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131651, _1048385 ) -383d 150 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131653, _1048385 ) -384d 150 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131655, _1048385 ) -385d 150 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131657, _1048385 ) -386d 150 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131659, _1048385 ) -387d 150 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131661, _1048385 ) -388d 150 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131663, _1048385 ) -389d 150 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131665, _1048385 ) -390d 150 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131667, _1048385 ) -391d 150 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131669, _1048385 ) -392d 150 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131671, _1048385 ) -393d 150 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131673, _1048385 ) -394d 150 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _131675, _1048385 ) -395d 150 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _131677, _1048385 ) -396d 150 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _131679, _1048385 ) -397d 150 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _131681, _1048385 ) -398d 150 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _131683, _1048385 ) -399d 150 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _131685, _1048385 ) -400d 150 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _131687, _1048385 ) -401d 150 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _131689, _1048385 ) -402d 150 0 CALL: prolog:$phrase_list([100,95,108,102,105], _131691, _1048385 ) -403d 150 0 CALL: prolog:$phrase_list([95,108,102,105], _131693, _1048385 ) -404d 150 0 CALL: prolog:$phrase_list([108,102,105], _131695, _1048385 ) -405d 150 0 CALL: prolog:$phrase_list([102,105], _131697, _1048385 ) -406d 150 0 CALL: prolog:$phrase_list([105], _131699, _1048385 ) -407d 150 0 CALL: prolog:$phrase_list([], _131701, _1048385 ) -408d 150 0 CALL: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131701, _1048387 ) -409d 200 0 CALL: lists:append(_1048365, [46|_131703], [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -410d 220 0 FAIL RETRY: lists:append(_1048365, [46|_131703], [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -411d 200 0 CALL: lists:append(_131705, [46|_131703], [104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -412d 220 0 FAIL RETRY: lists:append(_131705, [46|_131703], [104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -413d 200 0 CALL: lists:append(_131707, [46|_131703], [111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -414d 220 0 FAIL RETRY: lists:append(_131707, [46|_131703], [111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -415d 200 0 CALL: lists:append(_131709, [46|_131703], [109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -416d 220 0 FAIL RETRY: lists:append(_131709, [46|_131703], [109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -417d 200 0 CALL: lists:append(_131711, [46|_131703], [101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -418d 220 0 FAIL RETRY: lists:append(_131711, [46|_131703], [101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -419d 200 0 CALL: lists:append(_131713, [46|_131703], [47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -420d 220 0 FAIL RETRY: lists:append(_131713, [46|_131703], [47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -421d 200 0 CALL: lists:append(_131715, [46|_131703], [118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -422d 220 0 FAIL RETRY: lists:append(_131715, [46|_131703], [118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -423d 200 0 CALL: lists:append(_131717, [46|_131703], [115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -424d 220 0 FAIL RETRY: lists:append(_131717, [46|_131703], [115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -425d 200 0 CALL: lists:append(_131719, [46|_131703], [99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -426d 220 0 FAIL RETRY: lists:append(_131719, [46|_131703], [99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -427d 200 0 CALL: lists:append(_131721, [46|_131703], [47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -428d 220 0 FAIL RETRY: lists:append(_131721, [46|_131703], [47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -429d 200 0 CALL: lists:append(_131723, [46|_131703], [46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -430d 220 0 CALL: prolog:$id([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048366, [] ) -431d 220 0 CALL: prolog:C(_1048366, 108, _1048348 ) -432d 220 0 TRY_OR -433d 237 0 CALL: prolog:>=(108, 97 ) -434d 237 0 CALL: prolog:=<(108, 122 ) -435d 220 0 CALL: prolog:$id([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131725, [] ) -436d 220 0 CALL: prolog:C(_131725, 111, _1048348 ) -437d 220 0 TRY_OR -438d 237 0 CALL: prolog:>=(111, 97 ) -439d 237 0 CALL: prolog:=<(111, 122 ) -440d 220 0 CALL: prolog:$id([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131727, [] ) -441d 220 0 CALL: prolog:C(_131727, 99, _1048348 ) -442d 220 0 TRY_OR -443d 237 0 CALL: prolog:>=(99, 97 ) -444d 237 0 CALL: prolog:=<(99, 122 ) -445d 220 0 CALL: prolog:$id([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131729, [] ) -446d 220 0 CALL: prolog:C(_131729, 97, _1048348 ) -447d 220 0 TRY_OR -448d 237 0 CALL: prolog:>=(97, 97 ) -449d 237 0 CALL: prolog:=<(97, 122 ) -450d 220 0 CALL: prolog:$id([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131731, [] ) -451d 220 0 CALL: prolog:C(_131731, 108, _1048348 ) -452d 220 0 TRY_OR -453d 237 0 CALL: prolog:>=(108, 97 ) -454d 237 0 CALL: prolog:=<(108, 122 ) -455d 220 0 CALL: prolog:$id([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131733, [] ) -456d 220 0 CALL: prolog:C(_131733, 47, _1048348 ) -457d 220 0 TRY_OR -458d 237 0 CALL: prolog:>=(47, 97 ) -460d 237 0 CALL: prolog:>=(47, 65 ) -462d 237 0 CALL: prolog:>=(47, 48 ) -464d 220 0 CALL: prolog:=:=(47, 95 ) -465d 220 0 FAIL RETRY: lists:append(_131723, [46|_131703], [46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -466d 200 0 CALL: lists:append(_131725, [46|_131703], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -467d 220 0 FAIL RETRY: lists:append(_131725, [46|_131703], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -468d 200 0 CALL: lists:append(_131727, [46|_131703], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -469d 220 0 FAIL RETRY: lists:append(_131727, [46|_131703], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -470d 200 0 CALL: lists:append(_131729, [46|_131703], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -471d 220 0 FAIL RETRY: lists:append(_131729, [46|_131703], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -472d 200 0 CALL: lists:append(_131731, [46|_131703], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -473d 220 0 FAIL RETRY: lists:append(_131731, [46|_131703], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -474d 200 0 CALL: lists:append(_131733, [46|_131703], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -475d 220 0 FAIL RETRY: lists:append(_131733, [46|_131703], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -476d 200 0 CALL: lists:append(_131735, [46|_131703], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -477d 220 0 FAIL RETRY: lists:append(_131735, [46|_131703], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -478d 200 0 CALL: lists:append(_131737, [46|_131703], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -479d 220 0 FAIL RETRY: lists:append(_131737, [46|_131703], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -480d 200 0 CALL: lists:append(_131739, [46|_131703], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -481d 220 0 FAIL RETRY: lists:append(_131739, [46|_131703], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -482d 200 0 CALL: lists:append(_131741, [46|_131703], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -483d 220 0 FAIL RETRY: lists:append(_131741, [46|_131703], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -484d 200 0 CALL: lists:append(_131743, [46|_131703], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -485d 220 0 FAIL RETRY: lists:append(_131743, [46|_131703], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -486d 200 0 CALL: lists:append(_131745, [46|_131703], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -487d 220 0 FAIL RETRY: lists:append(_131745, [46|_131703], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -488d 200 0 CALL: lists:append(_131747, [46|_131703], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -489d 220 0 FAIL RETRY: lists:append(_131747, [46|_131703], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -490d 200 0 CALL: lists:append(_131749, [46|_131703], [109,112,108,101,99,117,100,100,95,108,102,105] ) -491d 220 0 FAIL RETRY: lists:append(_131749, [46|_131703], [109,112,108,101,99,117,100,100,95,108,102,105] ) -492d 200 0 CALL: lists:append(_131751, [46|_131703], [112,108,101,99,117,100,100,95,108,102,105] ) -493d 220 0 FAIL RETRY: lists:append(_131751, [46|_131703], [112,108,101,99,117,100,100,95,108,102,105] ) -494d 200 0 CALL: lists:append(_131753, [46|_131703], [108,101,99,117,100,100,95,108,102,105] ) -495d 220 0 FAIL RETRY: lists:append(_131753, [46|_131703], [108,101,99,117,100,100,95,108,102,105] ) -496d 200 0 CALL: lists:append(_131755, [46|_131703], [101,99,117,100,100,95,108,102,105] ) -497d 220 0 FAIL RETRY: lists:append(_131755, [46|_131703], [101,99,117,100,100,95,108,102,105] ) -498d 200 0 CALL: lists:append(_131757, [46|_131703], [99,117,100,100,95,108,102,105] ) -499d 220 0 FAIL RETRY: lists:append(_131757, [46|_131703], [99,117,100,100,95,108,102,105] ) -500d 200 0 CALL: lists:append(_131759, [46|_131703], [117,100,100,95,108,102,105] ) -501d 220 0 FAIL RETRY: lists:append(_131759, [46|_131703], [117,100,100,95,108,102,105] ) -502d 200 0 CALL: lists:append(_131761, [46|_131703], [100,100,95,108,102,105] ) -503d 220 0 FAIL RETRY: lists:append(_131761, [46|_131703], [100,100,95,108,102,105] ) -504d 200 0 CALL: lists:append(_131763, [46|_131703], [100,95,108,102,105] ) -505d 220 0 FAIL RETRY: lists:append(_131763, [46|_131703], [100,95,108,102,105] ) -506d 200 0 CALL: lists:append(_131765, [46|_131703], [95,108,102,105] ) -507d 220 0 FAIL RETRY: lists:append(_131765, [46|_131703], [95,108,102,105] ) -508d 200 0 CALL: lists:append(_131767, [46|_131703], [108,102,105] ) -509d 220 0 FAIL RETRY: lists:append(_131767, [46|_131703], [108,102,105] ) -510d 200 0 CALL: lists:append(_131769, [46|_131703], [102,105] ) -511d 220 0 FAIL RETRY: lists:append(_131769, [46|_131703], [102,105] ) -512d 200 0 CALL: lists:append(_131771, [46|_131703], [105] ) -513d 220 0 FAIL RETRY: lists:append(_131771, [46|_131703], [105] ) -514d 200 0 CALL: lists:append(_131773, [46|_131703], [] ) -515d 220 0 FAIL RETRY: lists:append(_131773, [46|_131703], [] ) -516d 200 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131701, _1048387 ) -517d 200 0 TRY_OR -518d 222 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048361 ) -519d 222 0 CALL: prolog:\=([], [] ) -521d 200 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _131702 ) -522d 200 0 TRY_OR -523d 220 0 CALL: prolog:==(txt, source ) -525d 200 0 CALL: user:prolog_file_type(_1048366, txt ) -526d 200 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _131701, _1048387 ) -527d 150 0 CALL: prolog:$absf_trace(' try no suffix', [], _131701, _1048387 ) -528d 200 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -529d 200 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _131701, _1048387 ) -530d 150 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131701, [] ) -531d 191 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _131702 ) -532d 191 0 CALL: prolog:\=('', '' ) -533d 191 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131701, [] ) -534d 150 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -535d 189 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -536d 189 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -537d 150 0 CALL: prolog:$variable_expansion([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048396 ) -538d 189 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -539d 150 0 CALL: prolog:$expand_file_name([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048396 ) -540d 150 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -541d 188 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -542d 188 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -543d 150 0 CALL: prolog:$prefix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048398, [] ) -544d 188 0 CALL: prolog:is_absolute_file_name([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -545d 150 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048398, [] ) -546d 150 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131777, [] ) -547d 150 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131779, [] ) -548d 150 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131781, [] ) -549d 150 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131783, [] ) -550d 150 0 CALL: prolog:$phrase_list([47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131785, [] ) -551d 150 0 CALL: prolog:$phrase_list([118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131787, [] ) -552d 150 0 CALL: prolog:$phrase_list([115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131789, [] ) -553d 150 0 CALL: prolog:$phrase_list([99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131791, [] ) -554d 150 0 CALL: prolog:$phrase_list([47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131793, [] ) -555d 150 0 CALL: prolog:$phrase_list([46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131795, [] ) -556d 150 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131797, [] ) -557d 150 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131799, [] ) -558d 150 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131801, [] ) -559d 150 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131803, [] ) -560d 150 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131805, [] ) -561d 150 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131807, [] ) -562d 150 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131809, [] ) -563d 150 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131811, [] ) -564d 150 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131813, [] ) -565d 150 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131815, [] ) -566d 150 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _131817, [] ) -567d 150 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _131819, [] ) -568d 150 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _131821, [] ) -569d 150 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _131823, [] ) -570d 150 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _131825, [] ) -571d 150 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _131827, [] ) -572d 150 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _131829, [] ) -573d 150 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _131831, [] ) -574d 150 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _131833, [] ) -575d 150 0 CALL: prolog:$phrase_list([100,95,108,102,105], _131835, [] ) -576d 150 0 CALL: prolog:$phrase_list([95,108,102,105], _131837, [] ) -577d 150 0 CALL: prolog:$phrase_list([108,102,105], _131839, [] ) -578d 150 0 CALL: prolog:$phrase_list([102,105], _131841, [] ) -579d 150 0 CALL: prolog:$phrase_list([105], _131843, [] ) -580d 150 0 CALL: prolog:$phrase_list([], _131845, [] ) -581d 150 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -582d 186 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -583d 186 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -584d 150 0 CALL: prolog:atom_codes(_1048401, [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -585d 150 0 TRY_OR -586d 150 0 CALL: prolog:expand_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048400 ) -587d 150 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/.local/bin/simplecudd_lfi']] ) -588d 184 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -589d 184 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/.local/bin/simplecudd_lfi']] ) -590d 150 0 CALL: lists:member(_1048402, ['/home/vsc/.local/bin/simplecudd_lfi'] ) -591d 183 0 CALL: prolog:real_path('/home/vsc/.local/bin/simplecudd_lfi', _131481 ) -592d 183 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -593d 192 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -594d 192 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -595d 183 0 CALL: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -596d 193 0 FAIL RETRY: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -597d 193 0 FAIL RETRY: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -598d 193 0 CALL: prolog:$access_file('/home/vsc/.local/bin/simplecudd_lfi', exist ) -599d 193 0 CALL: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/.local/bin/simplecudd_lfi',txt,exist] ) -600d 202 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -601d 202 0 FAIL RETRY: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/.local/bin/simplecudd_lfi',txt,exist] ) -602d 193 0 TRY_OR -603d 201 0 CALL: prolog:==(first, first ) -604d 150 0 CALL: prolog:$cleanup_on_exit(150, cleanup(true,_131512,'$absf_port'(_131512,'/home/vsc/.local/bin/simplecudd_lfi','/home/vsc/.local/bin/simplecudd_lfi',t(no),false,true,false,true,false,first,true),_131542,false,150) ) -605d 171 0 TRY_OR -606d 189 0 CALL: prolog:==(first, first ) -607d 171 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -608d 171 0 CALL: prolog:set_prolog_flag(open_expands_filename, false ) -609d 171 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -610d 171 0 CALL: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -611d 180 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -612d 180 0 FAIL RETRY: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -613d 150 0 TRY_OR -614d 164 0 CALL: prolog:==(150, 150 ) -615d 140 0 TRY_OR -616d 148 0 CALL: prolog:file_exists('/home/vsc/.local/bin/simplecudd_lfi' ) -617d 148 0 CALL: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', _131862, [expand(true),solutions(first),access(exist)] ) -618d 148 0 CALL: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131862 ) -619d 168 0 FAIL RETRY: prolog:absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131862 ) -620d 148 0 CALL: prolog:$absolute_file_name('/home/vsc/.local/bin/simplecudd_lfi', [expand(true),solutions(first),access(exist)], _131862 ) -621d 148 0 CALL: prolog:gated_call('$enter_absf'('/home/vsc/.local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131878,_131879,_131880,_131881,_131882,_131883,_131884,_131885,_131886), '$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',_131878,_131862,_131879,_131885), _131893, '$absf_port'(_131893,'/home/vsc/.local/bin/simplecudd_lfi',_131862,_131879,_131880,_131881,_131882,_131883,_131884,_131885,_131886) ) -622d 148 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/home/vsc/.local/bin/simplecudd_lfi',[expand(true),solutions(first),access(exist)],_131878,_131879,_131880,_131881,_131882,_131883,_131884,_131885,_131886) ) -623d 178 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _131878 ) -624d 178 0 CALL: prolog:current_prolog_flag(open_expands_filename, _131880 ) -625d 178 0 CALL: prolog:current_prolog_flag(fileerrors, _131881 ) -626d 178 0 CALL: prolog:current_prolog_flag(verbose_file_search, _131882 ) -627d 178 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _131884 ) -628d 178 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _131883 ) -629d 178 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -630d 178 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _131916 ) -631d 178 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _131885 ) -632d 178 0 TRY_OR -633d 196 0 CALL: prolog:==(error, fail ) -635d 178 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -636d 178 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -637d 178 0 CALL: prolog:$absf_trace('/home/vsc/.local/bin/simplecudd_lfi' ) -638d 193 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -639d 193 0 FAIL RETRY: prolog:$absf_trace('/home/vsc/.local/bin/simplecudd_lfi' ) -640d 178 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -641d 192 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -642d 192 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -643d 148 0 CALL: prolog:$gated_call(true, '$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131862,t(no),first), _131893, '$absf_port'(_131893,'/home/vsc/.local/bin/simplecudd_lfi',_131862,t(no),false,true,false,true,false,first,true) ) -644d 148 0 CALL: prolog:$tag_cleanup(_131925, cleanup(true,_131893,'$absf_port'(_131893,'/home/vsc/.local/bin/simplecudd_lfi',_131862,t(no),false,true,false,true,false,first,true),_131923,true,_131925) ) -645d 148 0 CALL: prolog:$execute('$find_in_path'('/home/vsc/.local/bin/simplecudd_lfi',opt(exist,true,[],error,txt,'','',first,false),_131862,t(no),first) ) -646d 148 0 CALL: prolog:$find_in_path('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131862, t(no), first ) -647d 167 0 FAIL RETRY: prolog:$find_in_path('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _131862, t(no), first ) -648d 148 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048412 ) -649d 148 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048413 ) -650d 148 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048407 ) -651d 148 0 CALL: prolog:$absf_trace('start with ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -652d 183 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -653d 183 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -654d 148 0 CALL: prolog:$core_file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048403, [] ) -655d 148 0 CALL: prolog:$file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048392, _1048403, _1048393 ) -656d 195 0 CALL: prolog:=..('/home/vsc/.local/bin/simplecudd_lfi', [_131943,_131945] ) -657d 195 0 FAIL RETRY: prolog:$file_name('/home/vsc/.local/bin/simplecudd_lfi', opt(exist,true,[],error,txt,'','',first,false), _1048392, _1048403, _1048393 ) -658d 148 0 CALL: prolog:$cat_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048392, _1048403, _1048393 ) -659d 194 0 FAIL RETRY: prolog:$cat_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048392, _1048403, _1048393 ) -660d 194 0 CALL: prolog:atom_codes('/home/vsc/.local/bin/simplecudd_lfi', _1048392 ) -661d 148 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048403, _1048393 ) -662d 148 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132014, _1048393 ) -663d 148 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132016, _1048393 ) -664d 148 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132018, _1048393 ) -665d 148 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132020, _1048393 ) -666d 148 0 CALL: prolog:$phrase_list([47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132022, _1048393 ) -667d 148 0 CALL: prolog:$phrase_list([118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132024, _1048393 ) -668d 148 0 CALL: prolog:$phrase_list([115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132026, _1048393 ) -669d 148 0 CALL: prolog:$phrase_list([99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132028, _1048393 ) -670d 148 0 CALL: prolog:$phrase_list([47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132030, _1048393 ) -671d 148 0 CALL: prolog:$phrase_list([46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132032, _1048393 ) -672d 148 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132034, _1048393 ) -673d 148 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132036, _1048393 ) -674d 148 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132038, _1048393 ) -675d 148 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132040, _1048393 ) -676d 148 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132042, _1048393 ) -677d 148 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132044, _1048393 ) -678d 148 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132046, _1048393 ) -679d 148 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132048, _1048393 ) -680d 148 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132050, _1048393 ) -681d 148 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132052, _1048393 ) -682d 148 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132054, _1048393 ) -683d 148 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _132056, _1048393 ) -684d 148 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _132058, _1048393 ) -685d 148 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _132060, _1048393 ) -686d 148 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _132062, _1048393 ) -687d 148 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _132064, _1048393 ) -688d 148 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _132066, _1048393 ) -689d 148 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _132068, _1048393 ) -690d 148 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _132070, _1048393 ) -691d 148 0 CALL: prolog:$phrase_list([100,95,108,102,105], _132072, _1048393 ) -692d 148 0 CALL: prolog:$phrase_list([95,108,102,105], _132074, _1048393 ) -693d 148 0 CALL: prolog:$phrase_list([108,102,105], _132076, _1048393 ) -694d 148 0 CALL: prolog:$phrase_list([102,105], _132078, _1048393 ) -695d 148 0 CALL: prolog:$phrase_list([105], _132080, _1048393 ) -696d 148 0 CALL: prolog:$phrase_list([], _132082, _1048393 ) -697d 148 0 CALL: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _132082, _1048395 ) -698d 192 0 CALL: lists:append(_1048373, [46|_132084], [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -699d 212 0 FAIL RETRY: lists:append(_1048373, [46|_132084], [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -700d 192 0 CALL: lists:append(_132086, [46|_132084], [104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -701d 212 0 FAIL RETRY: lists:append(_132086, [46|_132084], [104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -702d 192 0 CALL: lists:append(_132088, [46|_132084], [111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -703d 212 0 FAIL RETRY: lists:append(_132088, [46|_132084], [111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -704d 192 0 CALL: lists:append(_132090, [46|_132084], [109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -705d 212 0 FAIL RETRY: lists:append(_132090, [46|_132084], [109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -706d 192 0 CALL: lists:append(_132092, [46|_132084], [101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -707d 212 0 FAIL RETRY: lists:append(_132092, [46|_132084], [101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -708d 192 0 CALL: lists:append(_132094, [46|_132084], [47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -709d 212 0 FAIL RETRY: lists:append(_132094, [46|_132084], [47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -710d 192 0 CALL: lists:append(_132096, [46|_132084], [118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -711d 212 0 FAIL RETRY: lists:append(_132096, [46|_132084], [118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -712d 192 0 CALL: lists:append(_132098, [46|_132084], [115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -713d 212 0 FAIL RETRY: lists:append(_132098, [46|_132084], [115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -714d 192 0 CALL: lists:append(_132100, [46|_132084], [99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -715d 212 0 FAIL RETRY: lists:append(_132100, [46|_132084], [99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -716d 192 0 CALL: lists:append(_132102, [46|_132084], [47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -717d 212 0 FAIL RETRY: lists:append(_132102, [46|_132084], [47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -718d 192 0 CALL: lists:append(_132104, [46|_132084], [46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -719d 212 0 CALL: prolog:$id([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048374, [] ) -720d 212 0 CALL: prolog:C(_1048374, 108, _1048356 ) -721d 212 0 TRY_OR -722d 229 0 CALL: prolog:>=(108, 97 ) -723d 229 0 CALL: prolog:=<(108, 122 ) -724d 212 0 CALL: prolog:$id([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132106, [] ) -725d 212 0 CALL: prolog:C(_132106, 111, _1048356 ) -726d 212 0 TRY_OR -727d 229 0 CALL: prolog:>=(111, 97 ) -728d 229 0 CALL: prolog:=<(111, 122 ) -729d 212 0 CALL: prolog:$id([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132108, [] ) -730d 212 0 CALL: prolog:C(_132108, 99, _1048356 ) -731d 212 0 TRY_OR -732d 229 0 CALL: prolog:>=(99, 97 ) -733d 229 0 CALL: prolog:=<(99, 122 ) -734d 212 0 CALL: prolog:$id([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132110, [] ) -735d 212 0 CALL: prolog:C(_132110, 97, _1048356 ) -736d 212 0 TRY_OR -737d 229 0 CALL: prolog:>=(97, 97 ) -738d 229 0 CALL: prolog:=<(97, 122 ) -739d 212 0 CALL: prolog:$id([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132112, [] ) -740d 212 0 CALL: prolog:C(_132112, 108, _1048356 ) -741d 212 0 TRY_OR -742d 229 0 CALL: prolog:>=(108, 97 ) -743d 229 0 CALL: prolog:=<(108, 122 ) -744d 212 0 CALL: prolog:$id([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132114, [] ) -745d 212 0 CALL: prolog:C(_132114, 47, _1048356 ) -746d 212 0 TRY_OR -747d 229 0 CALL: prolog:>=(47, 97 ) -749d 229 0 CALL: prolog:>=(47, 65 ) -751d 229 0 CALL: prolog:>=(47, 48 ) -753d 212 0 CALL: prolog:=:=(47, 95 ) -754d 212 0 FAIL RETRY: lists:append(_132104, [46|_132084], [46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -755d 192 0 CALL: lists:append(_132106, [46|_132084], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -756d 212 0 FAIL RETRY: lists:append(_132106, [46|_132084], [108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -757d 192 0 CALL: lists:append(_132108, [46|_132084], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -758d 212 0 FAIL RETRY: lists:append(_132108, [46|_132084], [111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -759d 192 0 CALL: lists:append(_132110, [46|_132084], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -760d 212 0 FAIL RETRY: lists:append(_132110, [46|_132084], [99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -761d 192 0 CALL: lists:append(_132112, [46|_132084], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -762d 212 0 FAIL RETRY: lists:append(_132112, [46|_132084], [97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -763d 192 0 CALL: lists:append(_132114, [46|_132084], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -764d 212 0 FAIL RETRY: lists:append(_132114, [46|_132084], [108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -765d 192 0 CALL: lists:append(_132116, [46|_132084], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -766d 212 0 FAIL RETRY: lists:append(_132116, [46|_132084], [47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -767d 192 0 CALL: lists:append(_132118, [46|_132084], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -768d 212 0 FAIL RETRY: lists:append(_132118, [46|_132084], [98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -769d 192 0 CALL: lists:append(_132120, [46|_132084], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -770d 212 0 FAIL RETRY: lists:append(_132120, [46|_132084], [105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -771d 192 0 CALL: lists:append(_132122, [46|_132084], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -772d 212 0 FAIL RETRY: lists:append(_132122, [46|_132084], [110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -773d 192 0 CALL: lists:append(_132124, [46|_132084], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -774d 212 0 FAIL RETRY: lists:append(_132124, [46|_132084], [47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -775d 192 0 CALL: lists:append(_132126, [46|_132084], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -776d 212 0 FAIL RETRY: lists:append(_132126, [46|_132084], [115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -777d 192 0 CALL: lists:append(_132128, [46|_132084], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -778d 212 0 FAIL RETRY: lists:append(_132128, [46|_132084], [105,109,112,108,101,99,117,100,100,95,108,102,105] ) -779d 192 0 CALL: lists:append(_132130, [46|_132084], [109,112,108,101,99,117,100,100,95,108,102,105] ) -780d 212 0 FAIL RETRY: lists:append(_132130, [46|_132084], [109,112,108,101,99,117,100,100,95,108,102,105] ) -781d 192 0 CALL: lists:append(_132132, [46|_132084], [112,108,101,99,117,100,100,95,108,102,105] ) -782d 212 0 FAIL RETRY: lists:append(_132132, [46|_132084], [112,108,101,99,117,100,100,95,108,102,105] ) -783d 192 0 CALL: lists:append(_132134, [46|_132084], [108,101,99,117,100,100,95,108,102,105] ) -784d 212 0 FAIL RETRY: lists:append(_132134, [46|_132084], [108,101,99,117,100,100,95,108,102,105] ) -785d 192 0 CALL: lists:append(_132136, [46|_132084], [101,99,117,100,100,95,108,102,105] ) -786d 212 0 FAIL RETRY: lists:append(_132136, [46|_132084], [101,99,117,100,100,95,108,102,105] ) -787d 192 0 CALL: lists:append(_132138, [46|_132084], [99,117,100,100,95,108,102,105] ) -788d 212 0 FAIL RETRY: lists:append(_132138, [46|_132084], [99,117,100,100,95,108,102,105] ) -789d 192 0 CALL: lists:append(_132140, [46|_132084], [117,100,100,95,108,102,105] ) -790d 212 0 FAIL RETRY: lists:append(_132140, [46|_132084], [117,100,100,95,108,102,105] ) -791d 192 0 CALL: lists:append(_132142, [46|_132084], [100,100,95,108,102,105] ) -792d 212 0 FAIL RETRY: lists:append(_132142, [46|_132084], [100,100,95,108,102,105] ) -793d 192 0 CALL: lists:append(_132144, [46|_132084], [100,95,108,102,105] ) -794d 212 0 FAIL RETRY: lists:append(_132144, [46|_132084], [100,95,108,102,105] ) -795d 192 0 CALL: lists:append(_132146, [46|_132084], [95,108,102,105] ) -796d 212 0 FAIL RETRY: lists:append(_132146, [46|_132084], [95,108,102,105] ) -797d 192 0 CALL: lists:append(_132148, [46|_132084], [108,102,105] ) -798d 212 0 FAIL RETRY: lists:append(_132148, [46|_132084], [108,102,105] ) -799d 192 0 CALL: lists:append(_132150, [46|_132084], [102,105] ) -800d 212 0 FAIL RETRY: lists:append(_132150, [46|_132084], [102,105] ) -801d 192 0 CALL: lists:append(_132152, [46|_132084], [105] ) -802d 212 0 FAIL RETRY: lists:append(_132152, [46|_132084], [105] ) -803d 192 0 CALL: lists:append(_132154, [46|_132084], [] ) -804d 212 0 FAIL RETRY: lists:append(_132154, [46|_132084], [] ) -805d 192 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _132082, _1048395 ) -806d 192 0 TRY_OR -807d 214 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048369 ) -808d 214 0 CALL: prolog:\=([], [] ) -810d 192 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _132083 ) -811d 192 0 TRY_OR -812d 212 0 CALL: prolog:==(txt, source ) -814d 192 0 CALL: user:prolog_file_type(_1048374, txt ) -815d 192 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _132082, _1048395 ) -816d 148 0 CALL: prolog:$absf_trace(' try no suffix', [], _132082, _1048395 ) -817d 192 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -818d 192 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _132082, _1048395 ) -819d 148 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _132082, [] ) -820d 183 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _132083 ) -821d 183 0 CALL: prolog:\=('', '' ) -822d 183 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _132082, [] ) -823d 148 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -824d 181 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -825d 181 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -826d 148 0 CALL: prolog:$variable_expansion([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048404 ) -827d 181 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -828d 148 0 CALL: prolog:$expand_file_name([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048404 ) -829d 148 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -830d 180 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -831d 180 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -832d 148 0 CALL: prolog:$prefix([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], opt(exist,true,[],error,txt,'','',first,false), _1048406, [] ) -833d 180 0 CALL: prolog:is_absolute_file_name([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -834d 148 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _1048406, [] ) -835d 148 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132158, [] ) -836d 148 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132160, [] ) -837d 148 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132162, [] ) -838d 148 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132164, [] ) -839d 148 0 CALL: prolog:$phrase_list([47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132166, [] ) -840d 148 0 CALL: prolog:$phrase_list([118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132168, [] ) -841d 148 0 CALL: prolog:$phrase_list([115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132170, [] ) -842d 148 0 CALL: prolog:$phrase_list([99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132172, [] ) -843d 148 0 CALL: prolog:$phrase_list([47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132174, [] ) -844d 148 0 CALL: prolog:$phrase_list([46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132176, [] ) -845d 148 0 CALL: prolog:$phrase_list([108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132178, [] ) -846d 148 0 CALL: prolog:$phrase_list([111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132180, [] ) -847d 148 0 CALL: prolog:$phrase_list([99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132182, [] ) -848d 148 0 CALL: prolog:$phrase_list([97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132184, [] ) -849d 148 0 CALL: prolog:$phrase_list([108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132186, [] ) -850d 148 0 CALL: prolog:$phrase_list([47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132188, [] ) -851d 148 0 CALL: prolog:$phrase_list([98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132190, [] ) -852d 148 0 CALL: prolog:$phrase_list([105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132192, [] ) -853d 148 0 CALL: prolog:$phrase_list([110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132194, [] ) -854d 148 0 CALL: prolog:$phrase_list([47,115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132196, [] ) -855d 148 0 CALL: prolog:$phrase_list([115,105,109,112,108,101,99,117,100,100,95,108,102,105], _132198, [] ) -856d 148 0 CALL: prolog:$phrase_list([105,109,112,108,101,99,117,100,100,95,108,102,105], _132200, [] ) -857d 148 0 CALL: prolog:$phrase_list([109,112,108,101,99,117,100,100,95,108,102,105], _132202, [] ) -858d 148 0 CALL: prolog:$phrase_list([112,108,101,99,117,100,100,95,108,102,105], _132204, [] ) -859d 148 0 CALL: prolog:$phrase_list([108,101,99,117,100,100,95,108,102,105], _132206, [] ) -860d 148 0 CALL: prolog:$phrase_list([101,99,117,100,100,95,108,102,105], _132208, [] ) -861d 148 0 CALL: prolog:$phrase_list([99,117,100,100,95,108,102,105], _132210, [] ) -862d 148 0 CALL: prolog:$phrase_list([117,100,100,95,108,102,105], _132212, [] ) -863d 148 0 CALL: prolog:$phrase_list([100,100,95,108,102,105], _132214, [] ) -864d 148 0 CALL: prolog:$phrase_list([100,95,108,102,105], _132216, [] ) -865d 148 0 CALL: prolog:$phrase_list([95,108,102,105], _132218, [] ) -866d 148 0 CALL: prolog:$phrase_list([108,102,105], _132220, [] ) -867d 148 0 CALL: prolog:$phrase_list([102,105], _132222, [] ) -868d 148 0 CALL: prolog:$phrase_list([105], _132224, [] ) -869d 148 0 CALL: prolog:$phrase_list([], _132226, [] ) -870d 148 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -871d 178 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -872d 178 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105]] ) -873d 148 0 CALL: prolog:atom_codes(_1048409, [47,104,111,109,101,47,118,115,99,47,46,108,111,99,97,108,47,98,105,110,47,115,105,109,112,108,101,99,117,100,100,95,108,102,105] ) -874d 148 0 TRY_OR -875d 148 0 CALL: prolog:expand_file_name('/home/vsc/.local/bin/simplecudd_lfi', _1048408 ) -876d 148 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/.local/bin/simplecudd_lfi']] ) -877d 176 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -878d 176 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/.local/bin/simplecudd_lfi']] ) -879d 148 0 CALL: lists:member(_1048410, ['/home/vsc/.local/bin/simplecudd_lfi'] ) -880d 175 0 CALL: prolog:real_path('/home/vsc/.local/bin/simplecudd_lfi', _131862 ) -881d 175 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -882d 184 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -883d 184 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -884d 175 0 CALL: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -885d 185 0 FAIL RETRY: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -886d 185 0 FAIL RETRY: prolog:$check_file('/home/vsc/.local/bin/simplecudd_lfi', txt, exist ) -887d 185 0 CALL: prolog:$access_file('/home/vsc/.local/bin/simplecudd_lfi', exist ) -888d 185 0 CALL: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/.local/bin/simplecudd_lfi',txt,exist] ) -889d 194 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -890d 194 0 FAIL RETRY: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/.local/bin/simplecudd_lfi',txt,exist] ) -891d 185 0 TRY_OR -892d 193 0 CALL: prolog:==(first, first ) -893d 148 0 CALL: prolog:$cleanup_on_exit(148, cleanup(true,_131893,'$absf_port'(_131893,'/home/vsc/.local/bin/simplecudd_lfi','/home/vsc/.local/bin/simplecudd_lfi',t(no),false,true,false,true,false,first,true),_131923,false,148) ) -894d 163 0 TRY_OR -895d 181 0 CALL: prolog:==(first, first ) -896d 163 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -897d 163 0 CALL: prolog:set_prolog_flag(open_expands_filename, false ) -898d 163 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -899d 163 0 CALL: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -900d 172 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -901d 172 0 FAIL RETRY: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/.local/bin/simplecudd_lfi'] ) -902d 140 0 CALL: problog_lfi:check_theory -903d 140 0 TRY_OR -904d 169 0 CALL: user:myclause(_1048417, _1048416 ) -+s 0x5602af201e50 - @0x7efdd88a30b8 0 -+s 0x5602af20a230 - @0x7efdd88a30b8 0 -- 0x5602af201e50 - @0x7efdd88a30b8 169 -905d 178 0 CALL: problog:::(_1048415, person(mary) ) -+s 0x5602af208fb0 - @0x7efdd88a30d8 0 -+s 0x5602af1f2180 - @0x7efdd88a30d8 0 -- 0x5602af208fb0 - @0x7efdd88a30d8 178 -906d 187 0 CALL: problog:probabilistic_fact(_1048415, person(mary), _132245 ) -+s 0x5602af208fb0 - @0x7efdd88a30d8 0 -+s 0x5602af2086b0 - @0x7efdd88a30d8 0 -- 0x5602af208fb0 - @0x7efdd88a30d8 187 -907d 197 0 CALL: prolog:ground(person(mary) ) -908d 187 0 CALL: prolog:=..(person(mary), [_132246|_132247] ) -909d 187 0 CALL: prolog:atomic_concat(problog_, person, _1048368 ) -910d 187 0 CALL: lists:append([_132245,mary], [_132254], _1048367 ) -911d 187 0 CALL: lists:append([mary], [_132254], _132257 ) -912d 187 0 CALL: lists:append([], [_132254], _132259 ) -913d 187 0 CALL: prolog:=..(_1048370, [problog_person,_132245,mary,_132254] ) -+s 0x5602af20a5c0 - @0x7efdd88a30d8 0 -914d 187 0 CALL: prolog:length([_132245,mary,_132254], _1048369 ) -915d 187 0 CALL: prolog:$skip_list([_132245,mary,_132254], _1048369, _132266, _132267 ) -916d 187 0 CALL: prolog:==([], [] ) -917d 187 0 CALL: prolog:current_predicate(problog:problog_person/3 ) -918d 187 0 CALL: prolog:$yap_strip_module(problog:problog_person/3, _1048364, _1048363 ) -919d 187 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_person/3 ) -920d 187 0 TRY_OR -921d 228 0 CALL: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -922d 237 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -923d 228 0 TRY_OR -925d 228 0 CALL: error:may_bind_to_type(atom, problog_person ) -926d 245 0 FAIL RETRY: error:may_bind_to_type(atom, problog_person ) -927d 228 0 CALL: error:may_bind_to_type(integer, 3 ) -928d 237 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -929d 187 0 CALL: prolog:$c_i_predicate(problog_person/3, problog ) -930d 187 0 TRY_OR -931d 222 0 CALL: prolog:ground(problog_person/3 ) -932d 187 0 CALL: prolog:functor(_132274, problog_person, 3 ) -933d 187 0 CALL: prolog:current_predicate(problog_person, problog:problog_person(_132275,_132276,_132277) ) -934d 187 0 CALL: prolog:$yap_strip_module(problog:problog_person(_132275,_132276,_132277), _1048360, _1048359 ) -935d 187 0 CALL: prolog:functor(problog_person(_132275,_132276,_132277), problog_person, _1048358 ) -936d 187 0 TRY_OR -937d 224 0 CALL: prolog:$current_predicate(problog_person, problog, problog_person(_132275,_132276,_132277), user ) -939d 187 0 CALL: prolog:$imported_predicate(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -940d 225 0 CALL: prolog:$is_system_predicate(problog_person(_132275,_132276,_132277), prolog ) -941d 225 0 FAIL RETRY: prolog:$imported_predicate(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -942d 187 0 CALL: prolog:$undefined(problog_person(_132275,_132276,_132277), problog ) -943d 187 0 CALL: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -944d 232 0 CALL: prolog:recorded('$import', '$import'(_132282,problog,_132284,problog_person(_132275,_132276,_132277),_132286,_132287), _1048333 ) -945d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -946d 232 0 CALL: prolog:$pred_exists(problog_person(_132275,_132276,_132277), user ) -947d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -948d 232 0 CALL: prolog:recorded('$dialect', swi, _1048328 ) -949d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -950d 187 0 CALL: prolog:$parent_module(problog, _1048346 ) -951d 187 0 FAIL RETRY: problog:::(_1048415, person(mary) ) -952d 178 0 CALL: problog:continuous_fact(_132246,_132247, person(mary), _132248 ) -953d 178 0 CALL: problog:get_internal_continuous_fact(_132248, _1048381, _1048388, _1048380, _1048385 ) -954d 178 0 CALL: problog:problog_continuous_predicate(_1048369, _1048370, _1048385 ) -955d 178 0 FAIL RETRY: user:myclause(_1048417, _1048416 ) -956d 178 0 CALL: problog:::(_1048415, person(john) ) -957d 187 0 CALL: problog:probabilistic_fact(_1048415, person(john), _132245 ) -958d 197 0 CALL: prolog:ground(person(john) ) -959d 187 0 CALL: prolog:=..(person(john), [_132246|_132247] ) -960d 187 0 CALL: prolog:atomic_concat(problog_, person, _1048368 ) -961d 187 0 CALL: lists:append([_132245,john], [_132254], _1048367 ) -962d 187 0 CALL: lists:append([john], [_132254], _132257 ) -963d 187 0 CALL: lists:append([], [_132254], _132259 ) -964d 187 0 CALL: prolog:=..(_1048370, [problog_person,_132245,john,_132254] ) -965d 187 0 CALL: prolog:length([_132245,john,_132254], _1048369 ) -966d 187 0 CALL: prolog:$skip_list([_132245,john,_132254], _1048369, _132266, _132267 ) -967d 187 0 CALL: prolog:==([], [] ) -968d 187 0 CALL: prolog:current_predicate(problog:problog_person/3 ) -969d 187 0 CALL: prolog:$yap_strip_module(problog:problog_person/3, _1048364, _1048363 ) -970d 187 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_person/3 ) -971d 187 0 TRY_OR -972d 228 0 CALL: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -973d 237 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -974d 228 0 TRY_OR -976d 228 0 CALL: error:may_bind_to_type(atom, problog_person ) -977d 245 0 FAIL RETRY: error:may_bind_to_type(atom, problog_person ) -978d 228 0 CALL: error:may_bind_to_type(integer, 3 ) -979d 237 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -980d 187 0 CALL: prolog:$c_i_predicate(problog_person/3, problog ) -981d 187 0 TRY_OR -982d 222 0 CALL: prolog:ground(problog_person/3 ) -983d 187 0 CALL: prolog:functor(_132274, problog_person, 3 ) -984d 187 0 CALL: prolog:current_predicate(problog_person, problog:problog_person(_132275,_132276,_132277) ) -985d 187 0 CALL: prolog:$yap_strip_module(problog:problog_person(_132275,_132276,_132277), _1048360, _1048359 ) -986d 187 0 CALL: prolog:functor(problog_person(_132275,_132276,_132277), problog_person, _1048358 ) -987d 187 0 TRY_OR -988d 224 0 CALL: prolog:$current_predicate(problog_person, problog, problog_person(_132275,_132276,_132277), user ) -990d 187 0 CALL: prolog:$imported_predicate(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -991d 225 0 CALL: prolog:$is_system_predicate(problog_person(_132275,_132276,_132277), prolog ) -992d 225 0 FAIL RETRY: prolog:$imported_predicate(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -993d 187 0 CALL: prolog:$undefined(problog_person(_132275,_132276,_132277), problog ) -994d 187 0 CALL: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -995d 232 0 CALL: prolog:recorded('$import', '$import'(_132282,problog,_132284,problog_person(_132275,_132276,_132277),_132286,_132287), _1048333 ) -996d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -997d 232 0 CALL: prolog:$pred_exists(problog_person(_132275,_132276,_132277), user ) -998d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -999d 232 0 CALL: prolog:recorded('$dialect', swi, _1048328 ) -1000d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_132275,_132276,_132277), problog, _1048363, _1048364 ) -1001d 187 0 CALL: prolog:$parent_module(problog, _1048346 ) -1002d 187 0 FAIL RETRY: problog:::(_1048415, person(john) ) -1003d 178 0 CALL: problog:continuous_fact(_132246,_132247, person(john), _132248 ) -1004d 178 0 CALL: problog:get_internal_continuous_fact(_132248, _1048381, _1048388, _1048380, _1048385 ) -1005d 178 0 CALL: problog:problog_continuous_predicate(_1048369, _1048370, _1048385 ) -1006d 178 0 FAIL RETRY: user:myclause(_1048417, _1048416 ) -1007d 178 0 CALL: problog:::(_1048415, alarm ) -1008d 187 0 CALL: problog:probabilistic_fact(_1048415, alarm, _132243 ) -1009d 197 0 CALL: prolog:ground(alarm ) -1010d 187 0 CALL: prolog:=..(alarm, [_132244|_132245] ) -1011d 187 0 CALL: prolog:atomic_concat(problog_, alarm, _1048368 ) -1012d 187 0 CALL: lists:append([_132243], [_132250], _1048367 ) -1013d 187 0 CALL: lists:append([], [_132250], _132253 ) -1014d 187 0 CALL: prolog:=..(_1048370, [problog_alarm,_132243,_132250] ) -+s 0x5602af20c600 - @0x7efdd88a30d8 0 -1015d 187 0 CALL: prolog:length([_132243,_132250], _1048369 ) -1016d 187 0 CALL: prolog:$skip_list([_132243,_132250], _1048369, _132259, _132260 ) -1017d 187 0 CALL: prolog:==([], [] ) -1018d 187 0 CALL: prolog:current_predicate(problog:problog_alarm/2 ) -1019d 187 0 CALL: prolog:$yap_strip_module(problog:problog_alarm/2, _1048364, _1048363 ) -1020d 187 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_alarm/2 ) -1021d 187 0 TRY_OR -1022d 228 0 CALL: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -1023d 237 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -1024d 228 0 TRY_OR -1026d 228 0 CALL: error:may_bind_to_type(atom, problog_alarm ) -1027d 245 0 FAIL RETRY: error:may_bind_to_type(atom, problog_alarm ) -1028d 228 0 CALL: error:may_bind_to_type(integer, 2 ) -1029d 237 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -1030d 187 0 CALL: prolog:$c_i_predicate(problog_alarm/2, problog ) -1031d 187 0 TRY_OR -1032d 222 0 CALL: prolog:ground(problog_alarm/2 ) -1033d 187 0 CALL: prolog:functor(_132267, problog_alarm, 2 ) -1034d 187 0 CALL: prolog:current_predicate(problog_alarm, problog:problog_alarm(_132268,_132269) ) -1035d 187 0 CALL: prolog:$yap_strip_module(problog:problog_alarm(_132268,_132269), _1048360, _1048359 ) -1036d 187 0 CALL: prolog:functor(problog_alarm(_132268,_132269), problog_alarm, _1048358 ) -1037d 187 0 TRY_OR -1038d 224 0 CALL: prolog:$current_predicate(problog_alarm, problog, problog_alarm(_132268,_132269), user ) -1040d 187 0 CALL: prolog:$imported_predicate(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1041d 225 0 CALL: prolog:$is_system_predicate(problog_alarm(_132268,_132269), prolog ) -1042d 225 0 FAIL RETRY: prolog:$imported_predicate(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1043d 187 0 CALL: prolog:$undefined(problog_alarm(_132268,_132269), problog ) -1044d 187 0 CALL: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1045d 232 0 CALL: prolog:recorded('$import', '$import'(_132274,problog,_132276,problog_alarm(_132268,_132269),_132278,_132279), _1048333 ) -1046d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1047d 232 0 CALL: prolog:$pred_exists(problog_alarm(_132268,_132269), user ) -1048d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1049d 232 0 CALL: prolog:recorded('$dialect', swi, _1048328 ) -1050d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1051d 187 0 CALL: prolog:$parent_module(problog, _1048346 ) -1052d 187 0 FAIL RETRY: problog:::(_1048415, alarm ) -1053d 178 0 CALL: problog:continuous_fact(_132244,_132245, alarm, _132246 ) -1054d 178 0 CALL: problog:get_internal_continuous_fact(_132246, _1048381, _1048388, _1048380, _1048385 ) -1055d 178 0 CALL: problog:problog_continuous_predicate(_1048369, _1048370, _1048385 ) -1056d 178 0 FAIL RETRY: user:myclause(_1048417, _1048416 ) -1057d 178 0 CALL: problog:::(_1048415, alarm ) -1058d 187 0 CALL: problog:probabilistic_fact(_1048415, alarm, _132243 ) -1059d 197 0 CALL: prolog:ground(alarm ) -1060d 187 0 CALL: prolog:=..(alarm, [_132244|_132245] ) -1061d 187 0 CALL: prolog:atomic_concat(problog_, alarm, _1048368 ) -1062d 187 0 CALL: lists:append([_132243], [_132250], _1048367 ) -1063d 187 0 CALL: lists:append([], [_132250], _132253 ) -1064d 187 0 CALL: prolog:=..(_1048370, [problog_alarm,_132243,_132250] ) -1065d 187 0 CALL: prolog:length([_132243,_132250], _1048369 ) -1066d 187 0 CALL: prolog:$skip_list([_132243,_132250], _1048369, _132259, _132260 ) -1067d 187 0 CALL: prolog:==([], [] ) -1068d 187 0 CALL: prolog:current_predicate(problog:problog_alarm/2 ) -1069d 187 0 CALL: prolog:$yap_strip_module(problog:problog_alarm/2, _1048364, _1048363 ) -1070d 187 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_alarm/2 ) -1071d 187 0 TRY_OR -1072d 228 0 CALL: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -1073d 237 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -1074d 228 0 TRY_OR -1076d 228 0 CALL: error:may_bind_to_type(atom, problog_alarm ) -1077d 245 0 FAIL RETRY: error:may_bind_to_type(atom, problog_alarm ) -1078d 228 0 CALL: error:may_bind_to_type(integer, 2 ) -1079d 237 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -1080d 187 0 CALL: prolog:$c_i_predicate(problog_alarm/2, problog ) -1081d 187 0 TRY_OR -1082d 222 0 CALL: prolog:ground(problog_alarm/2 ) -1083d 187 0 CALL: prolog:functor(_132267, problog_alarm, 2 ) -1084d 187 0 CALL: prolog:current_predicate(problog_alarm, problog:problog_alarm(_132268,_132269) ) -1085d 187 0 CALL: prolog:$yap_strip_module(problog:problog_alarm(_132268,_132269), _1048360, _1048359 ) -1086d 187 0 CALL: prolog:functor(problog_alarm(_132268,_132269), problog_alarm, _1048358 ) -1087d 187 0 TRY_OR -1088d 224 0 CALL: prolog:$current_predicate(problog_alarm, problog, problog_alarm(_132268,_132269), user ) -1090d 187 0 CALL: prolog:$imported_predicate(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1091d 225 0 CALL: prolog:$is_system_predicate(problog_alarm(_132268,_132269), prolog ) -1092d 225 0 FAIL RETRY: prolog:$imported_predicate(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1093d 187 0 CALL: prolog:$undefined(problog_alarm(_132268,_132269), problog ) -1094d 187 0 CALL: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1095d 232 0 CALL: prolog:recorded('$import', '$import'(_132274,problog,_132276,problog_alarm(_132268,_132269),_132278,_132279), _1048333 ) -1096d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1097d 232 0 CALL: prolog:$pred_exists(problog_alarm(_132268,_132269), user ) -1098d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1099d 232 0 CALL: prolog:recorded('$dialect', swi, _1048328 ) -1100d 232 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_132268,_132269), problog, _1048363, _1048364 ) -1101d 187 0 CALL: prolog:$parent_module(problog, _1048346 ) -1102d 187 0 FAIL RETRY: problog:::(_1048415, alarm ) -1103d 178 0 CALL: problog:continuous_fact(_132244,_132245, alarm, _132246 ) -1104d 178 0 CALL: problog:get_internal_continuous_fact(_132246, _1048381, _1048388, _1048380, _1048385 ) -1105d 178 0 CALL: problog:problog_continuous_predicate(_1048369, _1048370, _1048385 ) -1106d 178 0 FAIL RETRY: user:myclause(_1048417, _1048416 ) -1107d 169 0 CALL: problog:::(_1048415, calls(_132244) ) -1108d 178 0 CALL: problog:probabilistic_fact(_1048415, calls(_132244), _132255 ) -1109d 188 0 CALL: prolog:ground(calls(_132244) ) -1110d 188 0 FAIL RETRY: problog:probabilistic_fact(_1048415, calls(_132244), _132255 ) -1111d 178 0 CALL: problog:get_internal_fact(_132255, _1048381, _1048379, _1048380 ) -1112d 178 0 CALL: problog:problog_predicate(_1048368, _1048369 ) -+s 0x5602af20beb0 - @0x7efdd88a30d8 0 -+s 0x5602af201e50 - @0x7efdd88a30d8 0 -+s 0x5602af20e050 - @0x7efdd88a30d8 0 -+s 0x5602af1ee4f0 - @0x7efdd88a30d8 0 -+s 0x5602af1ee4c0 - @0x7efdd88a30d8 0 -- 0x5602af20beb0 - @0x7efdd88a30d8 178 -1113d 217 0 CALL: prolog:atomic_concat([problog_,burglary], _1048379 ) -1114d 217 0 CALL: prolog:functor(_1048381, problog_burglary, 2 ) -1115d 217 0 CALL: prolog:arg(1, problog_burglary(_132261,_132262), _132265 ) -1116d 217 0 CALL: prolog:call(problog:problog_burglary(_132255,_132262) ) -1117d 217 0 CALL: prolog:$execute(problog:problog_burglary(_132255,_132262) ) -1118d 217 0 CALL: problog:problog_burglary(_132255, _132262 ) -1119d 217 0 CALL: prolog:=..(problog_burglary(0,-1.249826789005093), [_132266,_132268|_132269] ) -1120d 217 0 CALL: lists:append(_1048387, [_132276], [-1.249826789005093] ) -1121d 227 0 CALL: prolog:name(problog_burglary, [_132278,_132280,_132282,_132284,_132286,_132282,_132290,_132292|_132293] ) -1122d 227 0 CALL: prolog:name(_1048386, [98,117,114,103,108,97,114,121] ) -1123d 227 0 CALL: prolog:=..(calls(_132244), [burglary] ) -1124d 227 0 FAIL RETRY: lists:append(_1048387, [_132276], [-1.249826789005093] ) -1125d 217 0 CALL: lists:append(_132279, [_132276], [] ) -1126d 227 0 FAIL RETRY: lists:append(_132279, [_132276], [] ) -1127d 217 0 FAIL RETRY: problog:problog_predicate(_1048368, _1048369 ) -1128d 217 0 CALL: prolog:atomic_concat([problog_,earthquake], _1048379 ) -1129d 217 0 CALL: prolog:functor(_1048381, problog_earthquake, 2 ) -1130d 217 0 CALL: prolog:arg(1, problog_earthquake(_132261,_132262), _132265 ) -1131d 217 0 CALL: prolog:call(problog:problog_earthquake(_132255,_132262) ) -1132d 217 0 CALL: prolog:$execute(problog:problog_earthquake(_132255,_132262) ) -1133d 217 0 CALL: problog:problog_earthquake(_132255, _132262 ) -1134d 217 0 CALL: prolog:=..(problog_earthquake(1,-0.6596650473806767), [_132266,_132268|_132269] ) -1135d 217 0 CALL: lists:append(_1048387, [_132276], [-0.6596650473806767] ) -1136d 227 0 CALL: prolog:name(problog_earthquake, [_132278,_132280,_132282,_132284,_132286,_132282,_132290,_132292|_132293] ) -1137d 227 0 CALL: prolog:name(_1048386, [101,97,114,116,104,113,117,97,107,101] ) -1138d 227 0 CALL: prolog:=..(calls(_132244), [earthquake] ) -1139d 227 0 FAIL RETRY: lists:append(_1048387, [_132276], [-0.6596650473806767] ) -1140d 217 0 CALL: lists:append(_132279, [_132276], [] ) -1141d 227 0 FAIL RETRY: lists:append(_132279, [_132276], [] ) -1142d 217 0 FAIL RETRY: problog:problog_predicate(_1048368, _1048369 ) -1143d 178 0 CALL: prolog:atomic_concat([problog_,hears_alarm], _1048379 ) -1144d 178 0 CALL: prolog:functor(_1048381, problog_hears_alarm, 3 ) -1145d 178 0 CALL: prolog:arg(1, problog_hears_alarm(_132261,_132262,_132263), _132266 ) -1146d 178 0 CALL: prolog:call(problog:problog_hears_alarm(_132255,_132262,_132263) ) -1147d 178 0 CALL: prolog:$execute(problog:problog_hears_alarm(_132255,_132262,_132263) ) -1148d 178 0 CALL: problog:problog_hears_alarm(_132255, _132262, _132263 ) -1149d 178 0 CALL: prolog:=..(problog_hears_alarm(2,_132262,-0.8533637893529484), [_132267,_132269|_132270] ) -1150d 178 0 CALL: lists:append(_1048387, [_132279], [_132262,-0.8533637893529484] ) -1151d 202 0 FAIL RETRY: lists:append(_1048387, [_132279], [_132262,-0.8533637893529484] ) -1152d 178 0 CALL: lists:append(_132282, [_132279], [-0.8533637893529484] ) -1153d 202 0 CALL: prolog:name(problog_hears_alarm, [_132283,_132285,_132287,_132289,_132291,_132287,_132295,_132297|_132298] ) -1154d 202 0 CALL: prolog:name(_1048386, [104,101,97,114,115,95,97,108,97,114,109] ) -1155d 202 0 CALL: prolog:=..(calls(_132244), [hears_alarm,_132262] ) -1156d 202 0 FAIL RETRY: lists:append(_132282, [_132279], [-0.8533637893529484] ) -1157d 178 0 CALL: lists:append(_132284, [_132279], [] ) -1158d 202 0 FAIL RETRY: lists:append(_132284, [_132279], [] ) -1159d 178 0 FAIL RETRY: problog:::(_1048415, calls(_132244) ) -1160d 169 0 CALL: problog:continuous_fact(_132256,_132257, calls(_132244), _132258 ) -1161d 169 0 CALL: problog:get_internal_continuous_fact(_132258, _1048390, _1048397, _1048389, _1048394 ) -1162d 169 0 CALL: problog:problog_continuous_predicate(_1048378, _1048379, _1048394 ) -1164d 140 0 TRY_OR -1165d 165 0 CALL: prolog:current_predicate(user:example/1 ) -1166d 165 0 CALL: prolog:$yap_strip_module(user:example/1, _1048404, _1048403 ) -1167d 165 0 CALL: prolog:must_bind_to_type(predicate_indicator, example/1 ) -1168d 165 0 TRY_OR -1169d 188 0 CALL: error:may_bind_to_type(predicate_indicator, example/1 ) -1170d 197 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, example/1 ) -1171d 188 0 TRY_OR -1173d 188 0 CALL: error:may_bind_to_type(atom, example ) -1174d 205 0 FAIL RETRY: error:may_bind_to_type(atom, example ) -1175d 188 0 CALL: error:may_bind_to_type(integer, 1 ) -1176d 197 0 FAIL RETRY: error:may_bind_to_type(integer, 1 ) -1177d 165 0 CALL: prolog:$c_i_predicate(example/1, user ) -1178d 165 0 TRY_OR -1179d 182 0 CALL: prolog:ground(example/1 ) -1180d 165 0 CALL: prolog:functor(_132249, example, 1 ) -1181d 165 0 CALL: prolog:current_predicate(example, user:example(_132250) ) -1182d 165 0 CALL: prolog:$yap_strip_module(user:example(_132250), _1048400, _1048399 ) -1183d 165 0 CALL: prolog:functor(example(_132250), example, _1048398 ) -1184d 165 0 TRY_OR -1185d 184 0 CALL: prolog:$current_predicate(example, user, example(_132250), user ) -1186d 184 0 CALL: user:example(_1048418 ) -+s 0x5602af208fb0 - @0x7efdd88a30b8 0 -+s 0x5602af20e660 - @0x7efdd88a30b8 0 -- 0x5602af208fb0 - @0x7efdd88a30b8 184 -1187d 140 0 TRY_OR -1188d 163 0 CALL: prolog:current_predicate(user:test_example/1 ) -1189d 163 0 CALL: prolog:$yap_strip_module(user:test_example/1, _1048406, _1048405 ) -1190d 163 0 CALL: prolog:must_bind_to_type(predicate_indicator, test_example/1 ) -1191d 163 0 TRY_OR -1192d 186 0 CALL: error:may_bind_to_type(predicate_indicator, test_example/1 ) -1193d 195 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, test_example/1 ) -1194d 186 0 TRY_OR -1196d 186 0 CALL: error:may_bind_to_type(atom, test_example ) -1197d 203 0 FAIL RETRY: error:may_bind_to_type(atom, test_example ) -1198d 186 0 CALL: error:may_bind_to_type(integer, 1 ) -1199d 195 0 FAIL RETRY: error:may_bind_to_type(integer, 1 ) -1200d 163 0 CALL: prolog:$c_i_predicate(test_example/1, user ) -1201d 163 0 TRY_OR -1202d 180 0 CALL: prolog:ground(test_example/1 ) -1203d 163 0 CALL: prolog:functor(_132260, test_example, 1 ) -1204d 163 0 CALL: prolog:current_predicate(test_example, user:test_example(_132261) ) -1205d 163 0 CALL: prolog:$yap_strip_module(user:test_example(_132261), _1048402, _1048401 ) -1206d 163 0 CALL: prolog:functor(test_example(_132261), test_example, _1048400 ) -1207d 163 0 TRY_OR -1208d 182 0 CALL: prolog:$current_predicate(test_example, user, test_example(_132261), user ) -1209d 182 0 CALL: user:example(_1048429 ) -1210d 190 0 CALL: user:test_example(1 ) -1211d 190 0 FAIL RETRY: user:example(_1048429 ) -1212d 182 0 CALL: user:test_example(2 ) -1214d 163 0 CALL: prolog:$imported_predicate(test_example(_132261), user, _1048405, _1048406 ) -1215d 183 0 CALL: prolog:$is_system_predicate(test_example(_132261), prolog ) -1216d 183 0 FAIL RETRY: prolog:$imported_predicate(test_example(_132261), user, _1048405, _1048406 ) -1217d 163 0 CALL: prolog:$undefined(test_example(_132261), user ) -1219d 140 0 TRY_OR -1220d 162 0 CALL: prolog:current_predicate(user:known/3 ) -1221d 162 0 CALL: prolog:$yap_strip_module(user:known/3, _1048407, _1048406 ) -1222d 162 0 CALL: prolog:must_bind_to_type(predicate_indicator, known/3 ) -1223d 162 0 TRY_OR -1224d 185 0 CALL: error:may_bind_to_type(predicate_indicator, known/3 ) -1225d 194 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, known/3 ) -1226d 185 0 TRY_OR -1228d 185 0 CALL: error:may_bind_to_type(atom, known ) -1229d 202 0 FAIL RETRY: error:may_bind_to_type(atom, known ) -1230d 185 0 CALL: error:may_bind_to_type(integer, 3 ) -1231d 194 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -1232d 162 0 CALL: prolog:$c_i_predicate(known/3, user ) -1233d 162 0 TRY_OR -1234d 179 0 CALL: prolog:ground(known/3 ) -1235d 162 0 CALL: prolog:functor(_132260, known, 3 ) -1236d 162 0 CALL: prolog:current_predicate(known, user:known(_132261,_132262,_132263) ) -1237d 162 0 CALL: prolog:$yap_strip_module(user:known(_132261,_132262,_132263), _1048403, _1048402 ) -1238d 162 0 CALL: prolog:functor(known(_132261,_132262,_132263), known, _1048401 ) -1239d 162 0 TRY_OR -1240d 181 0 CALL: prolog:$current_predicate(known, user, known(_132261,_132262,_132263), user ) -1241d 181 0 CALL: user:example(_1048421 ) -1242d 189 0 CALL: user:known(1, _1048422, _1048423 ) -+s 0x5602af20beb0 - @0x7efdd88a30c8 0 -+s 0x5602af211350 - @0x7efdd88a30c8 0 -- 0x5602af211350 - @0x7efdd88a30c8 189 -+s 0x5602af2112d0 - @0x7efdd88a30c8 0 -+s 0x5602af20e710 - @0x7efdd88a30c8 0 -- 0x5602af20beb0 - @0x7efdd88a30c8 189 -1243d 140 0 TRY_OR -1244d 158 0 CALL: user:known(_1048429, _1048428, _1048426 ) -+s 0x5602af20beb0 - @0x7efdd88a30b8 0 -+s 0x5602af1ef430 - @0x7efdd88a30b8 0 -- 0x5602af20beb0 - @0x7efdd88a30b8 158 -1245d 168 0 CALL: prolog:\=(true, true ) -1246d 168 0 FAIL RETRY: user:known(_1048429, _1048428, _1048426 ) -1247d 168 0 CALL: prolog:\=(false, true ) -1248d 168 0 CALL: prolog:\=(false, false ) -1249d 168 0 FAIL RETRY: user:known(_1048429, _1048428, _1048426 ) -1250d 158 0 CALL: prolog:\=(true, true ) -1252d 140 0 TRY_OR -1253d 156 0 CALL: user:known(_1048429, _1048428, true ) -+s 0x5602af20beb0 - @0x7efdd88a30b8 0 -+s 0x5602af211350 - @0x7efdd88a30b8 0 -- 0x5602af211350 - @0x7efdd88a30b8 156 -+s 0x5602af20e820 - @0x7efdd88a30b8 0 -+s 0x5602af20e880 - @0x7efdd88a30b8 0 -- 0x5602af20beb0 - @0x7efdd88a30b8 156 -1254d 166 0 CALL: user:known(1, alarm, false ) -1255d 166 0 FAIL RETRY: user:known(_1048429, _1048428, true ) -1256d 156 0 CALL: user:known(2, calls(mary), false ) -+s 0x5602af20beb0 - @0x7efdd88a30d8 0 -+s 0x5602af212640 - @0x7efdd88a30d8 0 -- 0x5602af212640 - @0x7efdd88a30d8 156 -+s 0x5602af208fb0 - @0x7efdd88a30d8 0 -+s 0x5602af16ad40 - @0x7efdd88a30d8 0 -+s 0x5602af209f50 - @0x7efdd88a30d8 0 -- 0x5602af20beb0 - @0x7efdd88a30d8 156 -1258d 140 0 CALL: flags:problog_flag(reuse_initialized_bdds, _1048455 ) -1259d 140 0 CALL: gflags:flag_get(reuse_initialized_bdds, _1048455 ) -1260d 140 0 CALL: prolog:recorded(flag_values, flag(reuse_initialized_bdds,_132269), _132270 ) -1261d 140 0 TRY_OR -1262d 148 0 CALL: prolog:==(false, false ) -1263d 140 0 CALL: utils_learning:empty_bdd_directory -+s 0x5602af20e950 - @0x7efdd88a30d8 0 -+s 0x5602af209890 - @0x7efdd88a30d8 0 -- 0x5602af20e950 - @0x7efdd88a30d8 140 -1264d 148 0 CALL: flags:problog_flag(bdd_directory, _1048421 ) -1265d 148 0 CALL: gflags:flag_get(bdd_directory, _1048421 ) -1266d 148 0 CALL: prolog:recorded(flag_values, flag(bdd_directory,_132273), _132274 ) -1267d 140 0 CALL: utils:delete_file_pattern_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', 'query*' ) -1268d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', 'query*', _1048428 ) -1269d 140 0 CALL: os:path_separator(_1048420 ) -1270d 164 0 CALL: prolog:current_prolog_flag(windows, true ) -1271d 164 0 FAIL RETRY: os:path_separator(_1048420 ) -1272d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,'query*'], _1048428 ) -1273d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,'query*'], _1048428 ) -1274d 140 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query*', _1048429 ) -1275d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values','/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -+s 0x5602af212d40 - @0x7efdd88a30e8 0 -+s 0x5602af20eaa0 - @0x7efdd88a30e8 0 -- 0x5602af20eaa0 - @0x7efdd88a30e8 140 -+s 0x5602af20ed00 - @0x7efdd88a30e8 0 -+s 0x5602af20ed50 - @0x7efdd88a30e8 0 -- 0x5602af20ed00 - @0x7efdd88a30e8 140 -- 0x5602af212d40 - @0x7efdd88a30e8 140 -1276d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -+s 0x5602af212d40 - @0x7efdd88a30e8 0 -+s 0x5602af19db10 - @0x7efdd88a30e8 0 -- 0x5602af212d40 - @0x7efdd88a30e8 140 -1277d 154 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048415, utils:fail ) -1278d 154 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048415, utils:fail ) -1279d 170 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values') ) -+s 0x5602af20ee30 - @0x7efdd88a30e8 0 -1280d 170 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), user ) -1281d 187 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), user ) -1282d 170 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils ) -1283d 198 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils ) -1284d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils ) -1285d 170 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -1286d 170 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')], error ) -1287d 170 0 CALL: prolog:yap_flag(unknown, error, fail ) -1288d 170 0 CALL: prolog:$stop_creeping(_1048375 ) -1289d 170 0 TRY_OR -1290d 211 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132301:_132302 ) -1291d 220 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132304,_132305,_132306,_132307), user ) -1292d 220 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132301:_132302 ) -1293d 211 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132301:_132302 ) -1294d 211 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), [], _132301:_132302 ) -1295d 211 0 CALL: prolog:source_module(_132303 ) -1296d 211 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048355, _132307 ) -1297d 211 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')) ) -1298d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')) ) -1299d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')) ) -1300d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')) ) -1301d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132314, _132315 ) -1302d 211 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values')) ) -1303d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132319, _132320 ) -1304d 211 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132325:_132326 ) -1305d 245 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132328:_132329 ) -1309d 245 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132325:_132326 ) -1310d 211 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132328:_132329 ) -1311d 244 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, _132329, _132328 ) -1312d 260 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), prolog ) -1313d 260 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, _132329, _132328 ) -1314d 244 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils ) -1315d 244 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, _132329, _132328 ) -1316d 267 0 CALL: prolog:recorded('$import', '$import'(_132331,utils,_132333,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'),_132335,_132336), _1048298 ) -1317d 267 0 CALL: prolog:$continue_imported(_132328, operating_system_support, _132329, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values') ) -1318d 278 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support ) -1319d 267 0 CALL: prolog:\=(operating_system_support, utils ) -1320d 211 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, [], _1048343 ) -1321d 243 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132349, _1048322 ) -1322d 243 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132352, _132353 ) -1323d 243 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048323 ) -1324d 243 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, [], _1048343 ) -1325d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132349, _132350 ) -1326d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132351, _132352 ) -1327d 211 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048354, _1048356, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values') ) -1328d 211 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, user, operating_system_support, _1048354 ) -1329d 211 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support ) -1330d 211 0 TRY_OR -1331d 249 0 CALL: prolog:==(operating_system_support, utils ) -1333d 211 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048345 ) -1334d 242 0 CALL: prolog:get_value('$c_arith', true ) -1335d 211 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048345 ) -1336d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132356, _132357 ) -1337d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048345 ) -1338d 253 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048307, _1048308, _1048310 ) -1339d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _1048345 ) -1340d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132359, _132360 ) -1341d 253 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), utils, user, operating_system_support, _1048356 ) -1342d 253 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support ) -1343d 253 0 TRY_OR -1344d 269 0 CALL: prolog:==(operating_system_support, utils ) -1346d 253 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), _132301, _132302 ) -1347d 253 0 TRY_OR -1348d 261 0 CALL: prolog:\==(utils, operating_system_support ) -1349d 253 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), fail ) -1350d 170 0 CALL: prolog:yap_flag(unknown, _1048374, error ) -1351d 170 0 TRY_OR -1352d 208 0 CALL: prolog:==(false, true ) -1354d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'), operating_system_support ) -1355d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -1356d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048393 ) -1357d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', off, on, off ) -1358d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048390 ) -1359d 170 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048389, _1048385, _1048386, _1048387, _1048388, off ) -1360d 170 0 CALL: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', off, on, off ) -1361d 188 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', off, on, off ) -1362d 188 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', off, on, off ) -1363d 170 0 CALL: operating_system_support:unlink_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', off ) -1364d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048393 ) -1365d 170 0 CALL: operating_system_support:unlink('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048391 ) -1366d 170 0 CALL: operating_system_support:handle_system_internal(_132367, off, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values') ) -1367d 170 0 TRY_OR -1368d 184 0 CALL: prolog:==(170, 170 ) -1369d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -1370d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -1371d 154 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048415, utils:fail ) -1372d 154 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048415, utils:fail ) -1373d 170 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values') ) -1374d 170 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), user ) -1375d 187 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), user ) -1376d 170 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils ) -1377d 198 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils ) -1378d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils ) -1379d 170 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -1380d 170 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')], error ) -1381d 170 0 CALL: prolog:yap_flag(unknown, error, fail ) -1382d 170 0 CALL: prolog:$stop_creeping(_1048375 ) -1383d 170 0 TRY_OR -1384d 211 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132386:_132387 ) -1385d 220 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132389,_132390,_132391,_132392), user ) -1386d 220 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132386:_132387 ) -1387d 211 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132386:_132387 ) -1388d 211 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), [], _132386:_132387 ) -1389d 211 0 CALL: prolog:source_module(_132388 ) -1390d 211 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048355, _132392 ) -1391d 211 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')) ) -1392d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')) ) -1393d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')) ) -1394d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')) ) -1395d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132399, _132400 ) -1396d 211 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values')) ) -1397d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132404, _132405 ) -1398d 211 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132410:_132411 ) -1399d 245 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132413:_132414 ) -1403d 245 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132410:_132411 ) -1404d 211 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132413:_132414 ) -1405d 244 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, _132414, _132413 ) -1406d 260 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), prolog ) -1407d 260 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, _132414, _132413 ) -1408d 244 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils ) -1409d 244 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, _132414, _132413 ) -1410d 267 0 CALL: prolog:recorded('$import', '$import'(_132416,utils,_132418,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'),_132420,_132421), _1048298 ) -1411d 267 0 CALL: prolog:$continue_imported(_132413, operating_system_support, _132414, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values') ) -1412d 278 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support ) -1413d 267 0 CALL: prolog:\=(operating_system_support, utils ) -1414d 211 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, [], _1048343 ) -1415d 243 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132434, _1048322 ) -1416d 243 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132437, _132438 ) -1417d 243 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048323 ) -1418d 243 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, [], _1048343 ) -1419d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132434, _132435 ) -1420d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132436, _132437 ) -1421d 211 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048354, _1048356, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values') ) -1422d 211 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, user, operating_system_support, _1048354 ) -1423d 211 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support ) -1424d 211 0 TRY_OR -1425d 249 0 CALL: prolog:==(operating_system_support, utils ) -1427d 211 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048345 ) -1428d 242 0 CALL: prolog:get_value('$c_arith', true ) -1429d 211 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048345 ) -1430d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132441, _132442 ) -1431d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048345 ) -1432d 253 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048307, _1048308, _1048310 ) -1433d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _1048345 ) -1434d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132444, _132445 ) -1435d 253 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), utils, user, operating_system_support, _1048356 ) -1436d 253 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support ) -1437d 253 0 TRY_OR -1438d 269 0 CALL: prolog:==(operating_system_support, utils ) -1440d 253 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), _132386, _132387 ) -1441d 253 0 TRY_OR -1442d 261 0 CALL: prolog:\==(utils, operating_system_support ) -1443d 253 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), fail ) -1444d 170 0 CALL: prolog:yap_flag(unknown, _1048374, error ) -1445d 170 0 TRY_OR -1446d 208 0 CALL: prolog:==(false, true ) -1448d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'), operating_system_support ) -1449d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -1450d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048393 ) -1451d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', off, on, off ) -1452d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048390 ) -1453d 170 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048389, _1048385, _1048386, _1048387, _1048388, off ) -1454d 170 0 CALL: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', off, on, off ) -1455d 188 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', off, on, off ) -1456d 188 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', off, on, off ) -1457d 170 0 CALL: operating_system_support:unlink_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', off ) -1458d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048393 ) -1459d 170 0 CALL: operating_system_support:unlink('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048391 ) -1460d 170 0 CALL: operating_system_support:handle_system_internal(_132452, off, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values') ) -1461d 170 0 TRY_OR -1462d 184 0 CALL: prolog:==(170, 170 ) -1463d 140 0 CALL: utils:delete_files_silently([] ) -1464d 140 0 CALL: utils_learning:empty_output_directory -+s 0x5602af2179f0 - @0x7efdd88a30f8 0 -+s 0x5602af21a2d0 - @0x7efdd88a30f8 0 -- 0x5602af2179f0 - @0x7efdd88a30f8 140 -1465d 148 0 CALL: flags:problog_flag(output_directory, _1048421 ) -1466d 148 0 CALL: gflags:flag_get(output_directory, _1048421 ) -1467d 148 0 CALL: prolog:recorded(flag_values, flag(output_directory,_132457), _132458 ) -1468d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'log.dat', _1048419 ) -1469d 140 0 CALL: os:path_separator(_1048411 ) -1470d 173 0 CALL: prolog:current_prolog_flag(windows, true ) -1471d 173 0 FAIL RETRY: os:path_separator(_1048411 ) -1472d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'log.dat'], _1048419 ) -1473d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'log.dat'], _1048419 ) -1474d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'out.dat', _1048420 ) -1475d 140 0 CALL: os:path_separator(_1048411 ) -1476d 173 0 CALL: prolog:current_prolog_flag(windows, true ) -1477d 173 0 FAIL RETRY: os:path_separator(_1048411 ) -1478d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'out.dat'], _1048420 ) -1479d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'out.dat'], _1048420 ) -1480d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat' ) -1481d 163 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048406, utils:fail ) -1482d 163 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048406, utils:fail ) -1483d 179 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat') ) -1484d 179 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), 179, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), user ) -1485d 196 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), 179, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), user ) -1486d 179 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), 179, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils ) -1487d 207 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), 179, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils ) -1488d 179 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils ) -1489d 179 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat' ) -1490d 179 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')], error ) -1491d 179 0 CALL: prolog:yap_flag(unknown, error, fail ) -1492d 179 0 CALL: prolog:$stop_creeping(_1048366 ) -1493d 179 0 TRY_OR -1494d 220 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132487:_132488 ) -1495d 229 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132490,_132491,_132492,_132493), user ) -1496d 229 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132487:_132488 ) -1497d 220 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132487:_132488 ) -1498d 220 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), [], _132487:_132488 ) -1499d 220 0 CALL: prolog:source_module(_132489 ) -1500d 220 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048346, _132493 ) -1501d 220 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')) ) -1502d 244 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')) ) -1503d 244 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')) ) -1504d 244 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')) ) -1505d 220 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132500, _132501 ) -1506d 220 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat')) ) -1507d 220 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132505, _132506 ) -1508d 220 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132511:_132512 ) -1509d 254 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132514:_132515 ) -1513d 254 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132511:_132512 ) -1514d 220 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132514:_132515 ) -1515d 253 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, _132515, _132514 ) -1516d 269 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), prolog ) -1517d 269 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, _132515, _132514 ) -1518d 253 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils ) -1519d 253 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, _132515, _132514 ) -1520d 276 0 CALL: prolog:recorded('$import', '$import'(_132517,utils,_132519,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'),_132521,_132522), _1048289 ) -1521d 276 0 CALL: prolog:$continue_imported(_132514, operating_system_support, _132515, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat') ) -1522d 287 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support ) -1523d 276 0 CALL: prolog:\=(operating_system_support, utils ) -1524d 220 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, [], _1048334 ) -1525d 252 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132535, _1048313 ) -1526d 252 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132538, _132539 ) -1527d 252 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048314 ) -1528d 252 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, [], _1048334 ) -1529d 220 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132535, _132536 ) -1530d 220 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132537, _132538 ) -1531d 220 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048345, _1048347, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat') ) -1532d 220 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, user, operating_system_support, _1048345 ) -1533d 220 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support ) -1534d 220 0 TRY_OR -1535d 258 0 CALL: prolog:==(operating_system_support, utils ) -1537d 220 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048336 ) -1538d 251 0 CALL: prolog:get_value('$c_arith', true ) -1539d 220 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048336 ) -1540d 262 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132542, _132543 ) -1541d 262 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048336 ) -1542d 262 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048298, _1048299, _1048301 ) -1543d 262 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048336 ) -1544d 262 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132545, _132546 ) -1545d 262 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), utils, user, operating_system_support, _1048347 ) -1546d 262 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support ) -1547d 262 0 TRY_OR -1548d 278 0 CALL: prolog:==(operating_system_support, utils ) -1550d 262 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _132487, _132488 ) -1551d 262 0 TRY_OR -1552d 270 0 CALL: prolog:\==(utils, operating_system_support ) -1553d 262 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), fail ) -1554d 179 0 CALL: prolog:yap_flag(unknown, _1048365, error ) -1555d 179 0 TRY_OR -1556d 217 0 CALL: prolog:==(false, true ) -1558d 179 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), operating_system_support ) -1559d 179 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat' ) -1560d 179 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat', _1048384 ) -1561d 179 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat', off, on, off ) -1562d 179 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat', _1048381 ) -1563d 179 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat', _1048380, _1048376, _1048377, _1048378, _1048379, off ) -1564d 179 0 FAIL RETRY: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat'), _1048406, utils:fail ) -1565d 163 0 CALL: prolog:$get_exception(_1048406 ) -1566d 163 0 FAIL RETRY: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/log.dat' ) -1567d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat' ) -1568d 162 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048407, utils:fail ) -1569d 162 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048407, utils:fail ) -1570d 178 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat') ) -1571d 178 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), 178, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), user ) -1572d 195 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), 178, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), user ) -1573d 178 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), 178, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils ) -1574d 206 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), 178, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils ) -1575d 178 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils ) -1576d 178 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat' ) -1577d 178 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')], error ) -1578d 178 0 CALL: prolog:yap_flag(unknown, error, fail ) -1579d 178 0 CALL: prolog:$stop_creeping(_1048367 ) -1580d 178 0 TRY_OR -1581d 219 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132487:_132488 ) -1582d 228 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132490,_132491,_132492,_132493), user ) -1583d 228 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132487:_132488 ) -1584d 219 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132487:_132488 ) -1585d 219 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), [], _132487:_132488 ) -1586d 219 0 CALL: prolog:source_module(_132489 ) -1587d 219 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048347, _132493 ) -1588d 219 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')) ) -1589d 243 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')) ) -1590d 243 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')) ) -1591d 243 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')) ) -1592d 219 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132500, _132501 ) -1593d 219 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat')) ) -1594d 219 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132505, _132506 ) -1595d 219 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132511:_132512 ) -1596d 253 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132514:_132515 ) -1600d 253 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132511:_132512 ) -1601d 219 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132514:_132515 ) -1602d 252 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, _132515, _132514 ) -1603d 268 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), prolog ) -1604d 268 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, _132515, _132514 ) -1605d 252 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils ) -1606d 252 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, _132515, _132514 ) -1607d 275 0 CALL: prolog:recorded('$import', '$import'(_132517,utils,_132519,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'),_132521,_132522), _1048290 ) -1608d 275 0 CALL: prolog:$continue_imported(_132514, operating_system_support, _132515, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat') ) -1609d 286 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support ) -1610d 275 0 CALL: prolog:\=(operating_system_support, utils ) -1611d 219 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, [], _1048335 ) -1612d 251 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132535, _1048314 ) -1613d 251 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132538, _132539 ) -1614d 251 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048315 ) -1615d 251 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, [], _1048335 ) -1616d 219 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132535, _132536 ) -1617d 219 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132537, _132538 ) -1618d 219 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048346, _1048348, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat') ) -1619d 219 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, user, operating_system_support, _1048346 ) -1620d 219 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support ) -1621d 219 0 TRY_OR -1622d 257 0 CALL: prolog:==(operating_system_support, utils ) -1624d 219 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048337 ) -1625d 250 0 CALL: prolog:get_value('$c_arith', true ) -1626d 219 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048337 ) -1627d 261 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132542, _132543 ) -1628d 261 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048337 ) -1629d 261 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048299, _1048300, _1048302 ) -1630d 261 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _1048337 ) -1631d 261 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132545, _132546 ) -1632d 261 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), utils, user, operating_system_support, _1048348 ) -1633d 261 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support ) -1634d 261 0 TRY_OR -1635d 277 0 CALL: prolog:==(operating_system_support, utils ) -1637d 261 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), _132487, _132488 ) -1638d 261 0 TRY_OR -1639d 269 0 CALL: prolog:\==(utils, operating_system_support ) -1640d 261 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), fail ) -1641d 178 0 CALL: prolog:yap_flag(unknown, _1048366, error ) -1642d 178 0 TRY_OR -1643d 216 0 CALL: prolog:==(false, true ) -1645d 178 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat'), operating_system_support ) -1646d 178 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat' ) -1647d 178 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', _1048385 ) -1648d 178 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', off, on, off ) -1649d 178 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', _1048382 ) -1650d 178 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', _1048381, _1048377, _1048378, _1048379, _1048380, off ) -1651d 178 0 CALL: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', off, on, off ) -1652d 196 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', off, on, off ) -1653d 196 0 FAIL RETRY: operating_system_support:delete_file(regular, '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', off, on, off ) -1654d 178 0 CALL: operating_system_support:unlink_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', off ) -1655d 178 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', _1048385 ) -1656d 178 0 CALL: operating_system_support:unlink('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', _1048383 ) -1657d 178 0 CALL: operating_system_support:handle_system_internal(_132553, off, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat') ) -1658d 178 0 TRY_OR -1659d 192 0 CALL: prolog:==(178, 178 ) -1660d 140 0 CALL: utils:delete_file_pattern_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'values_*' ) -1661d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'values_*', _1048414 ) -1662d 140 0 CALL: os:path_separator(_1048406 ) -1663d 178 0 CALL: prolog:current_prolog_flag(windows, true ) -1664d 178 0 FAIL RETRY: os:path_separator(_1048406 ) -1665d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'values_*'], _1048414 ) -1666d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'values_*'], _1048414 ) -1667d 140 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*', _1048415 ) -1668d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'] ) -1669d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*' ) -1670d 168 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048401, utils:fail ) -1671d 168 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048401, utils:fail ) -1672d 184 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*') ) -1673d 184 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), user ) -1674d 201 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), user ) -1675d 184 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils ) -1676d 212 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils ) -1677d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils ) -1678d 184 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*' ) -1679d 184 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')], error ) -1680d 184 0 CALL: prolog:yap_flag(unknown, error, fail ) -1681d 184 0 CALL: prolog:$stop_creeping(_1048361 ) -1682d 184 0 TRY_OR -1683d 225 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132580:_132581 ) -1684d 234 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132583,_132584,_132585,_132586), user ) -1685d 234 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132580:_132581 ) -1686d 225 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132580:_132581 ) -1687d 225 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), [], _132580:_132581 ) -1688d 225 0 CALL: prolog:source_module(_132582 ) -1689d 225 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048341, _132586 ) -1690d 225 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')) ) -1691d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')) ) -1692d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')) ) -1693d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')) ) -1694d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132593, _132594 ) -1695d 225 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*')) ) -1696d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132598, _132599 ) -1697d 225 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132604:_132605 ) -1698d 259 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132607:_132608 ) -1702d 259 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132604:_132605 ) -1703d 225 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132607:_132608 ) -1704d 258 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, _132608, _132607 ) -1705d 274 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), prolog ) -1706d 274 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, _132608, _132607 ) -1707d 258 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils ) -1708d 258 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, _132608, _132607 ) -1709d 281 0 CALL: prolog:recorded('$import', '$import'(_132610,utils,_132612,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'),_132614,_132615), _1048284 ) -1710d 281 0 CALL: prolog:$continue_imported(_132607, operating_system_support, _132608, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*') ) -1711d 292 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support ) -1712d 281 0 CALL: prolog:\=(operating_system_support, utils ) -1713d 225 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, [], _1048329 ) -1714d 257 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132628, _1048308 ) -1715d 257 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132631, _132632 ) -1716d 257 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048309 ) -1717d 257 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, [], _1048329 ) -1718d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132628, _132629 ) -1719d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132630, _132631 ) -1720d 225 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048340, _1048342, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*') ) -1721d 225 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, user, operating_system_support, _1048340 ) -1722d 225 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support ) -1723d 225 0 TRY_OR -1724d 263 0 CALL: prolog:==(operating_system_support, utils ) -1726d 225 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048331 ) -1727d 256 0 CALL: prolog:get_value('$c_arith', true ) -1728d 225 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048331 ) -1729d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132635, _132636 ) -1730d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048331 ) -1731d 267 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048293, _1048294, _1048296 ) -1732d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048331 ) -1733d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132638, _132639 ) -1734d 267 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), utils, user, operating_system_support, _1048342 ) -1735d 267 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support ) -1736d 267 0 TRY_OR -1737d 283 0 CALL: prolog:==(operating_system_support, utils ) -1739d 267 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _132580, _132581 ) -1740d 267 0 TRY_OR -1741d 275 0 CALL: prolog:\==(utils, operating_system_support ) -1742d 267 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), fail ) -1743d 184 0 CALL: prolog:yap_flag(unknown, _1048360, error ) -1744d 184 0 TRY_OR -1745d 222 0 CALL: prolog:==(false, true ) -1747d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), operating_system_support ) -1748d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*' ) -1749d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*', _1048379 ) -1750d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*', off, on, off ) -1751d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*', _1048376 ) -1752d 184 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*', _1048375, _1048371, _1048372, _1048373, _1048374, off ) -1753d 184 0 FAIL RETRY: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*'), _1048401, utils:fail ) -1754d 168 0 CALL: prolog:$get_exception(_1048401 ) -1755d 168 0 FAIL RETRY: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/values_*' ) -1756d 140 0 CALL: utils:delete_files_silently([] ) -1757d 140 0 CALL: utils:delete_file_pattern_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'factprobs_*' ) -1758d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'factprobs_*', _1048414 ) -1759d 140 0 CALL: os:path_separator(_1048406 ) -1760d 178 0 CALL: prolog:current_prolog_flag(windows, true ) -1761d 178 0 FAIL RETRY: os:path_separator(_1048406 ) -1762d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'factprobs_*'], _1048414 ) -1763d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'factprobs_*'], _1048414 ) -1764d 140 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*', _1048415 ) -1765d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'] ) -1766d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*' ) -1767d 168 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048401, utils:fail ) -1768d 168 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048401, utils:fail ) -1769d 184 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*') ) -1770d 184 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), user ) -1771d 201 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), user ) -1772d 184 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils ) -1773d 212 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils ) -1774d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils ) -1775d 184 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*' ) -1776d 184 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')], error ) -1777d 184 0 CALL: prolog:yap_flag(unknown, error, fail ) -1778d 184 0 CALL: prolog:$stop_creeping(_1048361 ) -1779d 184 0 TRY_OR -1780d 225 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132588:_132589 ) -1781d 234 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132591,_132592,_132593,_132594), user ) -1782d 234 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132588:_132589 ) -1783d 225 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132588:_132589 ) -1784d 225 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), [], _132588:_132589 ) -1785d 225 0 CALL: prolog:source_module(_132590 ) -1786d 225 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048341, _132594 ) -1787d 225 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')) ) -1788d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')) ) -1789d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')) ) -1790d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')) ) -1791d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132601, _132602 ) -1792d 225 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*')) ) -1793d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132606, _132607 ) -1794d 225 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132612:_132613 ) -1795d 259 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132615:_132616 ) -1799d 259 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132612:_132613 ) -1800d 225 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132615:_132616 ) -1801d 258 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, _132616, _132615 ) -1802d 274 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), prolog ) -1803d 274 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, _132616, _132615 ) -1804d 258 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils ) -1805d 258 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, _132616, _132615 ) -1806d 281 0 CALL: prolog:recorded('$import', '$import'(_132618,utils,_132620,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'),_132622,_132623), _1048284 ) -1807d 281 0 CALL: prolog:$continue_imported(_132615, operating_system_support, _132616, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*') ) -1808d 292 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support ) -1809d 281 0 CALL: prolog:\=(operating_system_support, utils ) -1810d 225 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, [], _1048329 ) -1811d 257 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132636, _1048308 ) -1812d 257 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132639, _132640 ) -1813d 257 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048309 ) -1814d 257 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, [], _1048329 ) -1815d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132636, _132637 ) -1816d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132638, _132639 ) -1817d 225 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048340, _1048342, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*') ) -1818d 225 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, user, operating_system_support, _1048340 ) -1819d 225 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support ) -1820d 225 0 TRY_OR -1821d 263 0 CALL: prolog:==(operating_system_support, utils ) -1823d 225 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048331 ) -1824d 256 0 CALL: prolog:get_value('$c_arith', true ) -1825d 225 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048331 ) -1826d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132643, _132644 ) -1827d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048331 ) -1828d 267 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048293, _1048294, _1048296 ) -1829d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048331 ) -1830d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132646, _132647 ) -1831d 267 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), utils, user, operating_system_support, _1048342 ) -1832d 267 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support ) -1833d 267 0 TRY_OR -1834d 283 0 CALL: prolog:==(operating_system_support, utils ) -1836d 267 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _132588, _132589 ) -1837d 267 0 TRY_OR -1838d 275 0 CALL: prolog:\==(utils, operating_system_support ) -1839d 267 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), fail ) -1840d 184 0 CALL: prolog:yap_flag(unknown, _1048360, error ) -1841d 184 0 TRY_OR -1842d 222 0 CALL: prolog:==(false, true ) -1844d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), operating_system_support ) -1845d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*' ) -1846d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*', _1048379 ) -1847d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*', off, on, off ) -1848d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*', _1048376 ) -1849d 184 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*', _1048375, _1048371, _1048372, _1048373, _1048374, off ) -1850d 184 0 FAIL RETRY: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*'), _1048401, utils:fail ) -1851d 168 0 CALL: prolog:$get_exception(_1048401 ) -1852d 168 0 FAIL RETRY: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/factprobs_*' ) -1853d 140 0 CALL: utils:delete_files_silently([] ) -1854d 140 0 CALL: utils:delete_file_pattern_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'input_*' ) -1855d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'input_*', _1048414 ) -1856d 140 0 CALL: os:path_separator(_1048406 ) -1857d 178 0 CALL: prolog:current_prolog_flag(windows, true ) -1858d 178 0 FAIL RETRY: os:path_separator(_1048406 ) -1859d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'input_*'], _1048414 ) -1860d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'input_*'], _1048414 ) -1861d 140 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*', _1048415 ) -1862d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'] ) -1863d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*' ) -1864d 168 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048401, utils:fail ) -1865d 168 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048401, utils:fail ) -1866d 184 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*') ) -1867d 184 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), user ) -1868d 201 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), user ) -1869d 184 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils ) -1870d 212 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), 184, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils ) -1871d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils ) -1872d 184 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*' ) -1873d 184 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')], error ) -1874d 184 0 CALL: prolog:yap_flag(unknown, error, fail ) -1875d 184 0 CALL: prolog:$stop_creeping(_1048361 ) -1876d 184 0 TRY_OR -1877d 225 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132596:_132597 ) -1878d 234 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132599,_132600,_132601,_132602), user ) -1879d 234 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132596:_132597 ) -1880d 225 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132596:_132597 ) -1881d 225 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), [], _132596:_132597 ) -1882d 225 0 CALL: prolog:source_module(_132598 ) -1883d 225 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048341, _132602 ) -1884d 225 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')) ) -1885d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')) ) -1886d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')) ) -1887d 249 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')) ) -1888d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132609, _132610 ) -1889d 225 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*')) ) -1890d 225 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132614, _132615 ) -1891d 225 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132620:_132621 ) -1892d 259 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132623:_132624 ) -1896d 259 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132620:_132621 ) -1897d 225 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132623:_132624 ) -1898d 258 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, _132624, _132623 ) -1899d 274 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), prolog ) -1900d 274 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, _132624, _132623 ) -1901d 258 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils ) -1902d 258 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, _132624, _132623 ) -1903d 281 0 CALL: prolog:recorded('$import', '$import'(_132626,utils,_132628,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'),_132630,_132631), _1048284 ) -1904d 281 0 CALL: prolog:$continue_imported(_132623, operating_system_support, _132624, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*') ) -1905d 292 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support ) -1906d 281 0 CALL: prolog:\=(operating_system_support, utils ) -1907d 225 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, [], _1048329 ) -1908d 257 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132644, _1048308 ) -1909d 257 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132647, _132648 ) -1910d 257 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048309 ) -1911d 257 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, [], _1048329 ) -1912d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132644, _132645 ) -1913d 225 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132646, _132647 ) -1914d 225 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048340, _1048342, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*') ) -1915d 225 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, user, operating_system_support, _1048340 ) -1916d 225 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support ) -1917d 225 0 TRY_OR -1918d 263 0 CALL: prolog:==(operating_system_support, utils ) -1920d 225 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048331 ) -1921d 256 0 CALL: prolog:get_value('$c_arith', true ) -1922d 225 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048331 ) -1923d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132651, _132652 ) -1924d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048331 ) -1925d 267 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048293, _1048294, _1048296 ) -1926d 267 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048331 ) -1927d 267 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132654, _132655 ) -1928d 267 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), utils, user, operating_system_support, _1048342 ) -1929d 267 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support ) -1930d 267 0 TRY_OR -1931d 283 0 CALL: prolog:==(operating_system_support, utils ) -1933d 267 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _132596, _132597 ) -1934d 267 0 TRY_OR -1935d 275 0 CALL: prolog:\==(utils, operating_system_support ) -1936d 267 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), fail ) -1937d 184 0 CALL: prolog:yap_flag(unknown, _1048360, error ) -1938d 184 0 TRY_OR -1939d 222 0 CALL: prolog:==(false, true ) -1941d 184 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), operating_system_support ) -1942d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*' ) -1943d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*', _1048379 ) -1944d 184 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*', off, on, off ) -1945d 184 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*', _1048376 ) -1946d 184 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*', _1048375, _1048371, _1048372, _1048373, _1048374, off ) -1947d 184 0 FAIL RETRY: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*'), _1048401, utils:fail ) -1948d 168 0 CALL: prolog:$get_exception(_1048401 ) -1949d 168 0 FAIL RETRY: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/input_*' ) -1950d 140 0 CALL: utils:delete_files_silently([] ) -1951d 140 0 CALL: utils:delete_file_pattern_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'predictions_*' ) -1952d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', 'predictions_*', _1048428 ) -1953d 140 0 CALL: os:path_separator(_1048420 ) -1954d 164 0 CALL: prolog:current_prolog_flag(windows, true ) -1955d 164 0 FAIL RETRY: os:path_separator(_1048420 ) -1956d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'predictions_*'], _1048428 ) -1957d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,'predictions_*'], _1048428 ) -1958d 140 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*', _1048429 ) -1959d 140 0 CALL: utils:delete_files_silently(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'] ) -1960d 140 0 CALL: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*' ) -1961d 154 0 CALL: prolog:catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048415, utils:fail ) -1962d 154 0 CALL: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048415, utils:fail ) -1963d 170 0 CALL: prolog:$execute(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*') ) -1964d 170 0 CALL: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), user ) -1965d 187 0 FAIL RETRY: prolog:$call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), user ) -1966d 170 0 CALL: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils ) -1967d 198 0 FAIL RETRY: prolog:$call(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), 170, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils ) -1968d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils ) -1969d 170 0 CALL: utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*' ) -1970d 170 0 CALL: prolog:$undefp([utils|delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')], error ) -1971d 170 0 CALL: prolog:yap_flag(unknown, error, fail ) -1972d 170 0 CALL: prolog:$stop_creeping(_1048375 ) -1973d 170 0 TRY_OR -1974d 211 0 CALL: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132604:_132605 ) -1975d 220 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_132607,_132608,_132609,_132610), user ) -1976d 220 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132604:_132605 ) -1977d 211 0 CALL: prolog:expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132604:_132605 ) -1978d 211 0 CALL: prolog:$expand_meta_call(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), [], _132604:_132605 ) -1979d 211 0 CALL: prolog:source_module(_132606 ) -1980d 211 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048355, _132610 ) -1981d 211 0 CALL: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')) ) -1982d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')) ) -1983d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')) ) -1984d 235 0 FAIL RETRY: prolog:$expand_goals(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')) ) -1985d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132617, _132618 ) -1986d 211 0 CALL: prolog:$expand_goal(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, utils, []- (utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*')) ) -1987d 211 0 CALL: prolog:$yap_strip_module(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132622, _132623 ) -1988d 211 0 CALL: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132628:_132629 ) -1989d 245 0 CALL: prolog:_user_expand_goal(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132631:_132632 ) -1993d 245 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132628:_132629 ) -1994d 211 0 CALL: prolog:$import_expansion(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132631:_132632 ) -1995d 244 0 CALL: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, _132632, _132631 ) -1996d 260 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), prolog ) -1997d 260 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, _132632, _132631 ) -1998d 244 0 CALL: prolog:$undefined(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils ) -1999d 244 0 CALL: prolog:$get_undefined_predicates(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, _132632, _132631 ) -2000d 267 0 CALL: prolog:recorded('$import', '$import'(_132634,utils,_132636,delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'),_132638,_132639), _1048298 ) -2001d 267 0 CALL: prolog:$continue_imported(_132631, operating_system_support, _132632, delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*') ) -2002d 278 0 CALL: prolog:$pred_exists(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support ) -2003d 267 0 CALL: prolog:\=(operating_system_support, utils ) -2004d 211 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, [], _1048343 ) -2005d 243 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132652, _1048322 ) -2006d 243 0 CALL: prolog:functor(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132655, _132656 ) -2007d 243 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048323 ) -2008d 243 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, [], _1048343 ) -2009d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132652, _132653 ) -2010d 211 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132654, _132655 ) -2011d 211 0 CALL: prolog:$end_goal_expansion(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048354, _1048356, utils, user, operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*') ) -2012d 211 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, user, operating_system_support, _1048354 ) -2013d 211 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support ) -2014d 211 0 TRY_OR -2015d 249 0 CALL: prolog:==(operating_system_support, utils ) -2017d 211 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048345 ) -2018d 242 0 CALL: prolog:get_value('$c_arith', true ) -2019d 211 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048345 ) -2020d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132659, _132660 ) -2021d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048345 ) -2022d 253 0 CALL: prolog:$compop(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048307, _1048308, _1048310 ) -2023d 253 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support, utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048345 ) -2024d 253 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132662, _132663 ) -2025d 253 0 CALL: prolog:$match_mod(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), utils, user, operating_system_support, _1048356 ) -2026d 253 0 CALL: prolog:$is_system_predicate(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support ) -2027d 253 0 TRY_OR -2028d 269 0 CALL: prolog:==(operating_system_support, utils ) -2030d 253 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _132604, _132605 ) -2031d 253 0 TRY_OR -2032d 261 0 CALL: prolog:\==(utils, operating_system_support ) -2033d 253 0 CALL: prolog:\=(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), fail ) -2034d 170 0 CALL: prolog:yap_flag(unknown, _1048374, error ) -2035d 170 0 TRY_OR -2036d 208 0 CALL: prolog:==(false, true ) -2038d 170 0 CALL: prolog:$execute0(delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), operating_system_support ) -2039d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*' ) -2040d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*', _1048393 ) -2041d 170 0 CALL: operating_system_support:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*', off, on, off ) -2042d 170 0 CALL: prolog:true_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*', _1048390 ) -2043d 170 0 CALL: operating_system_support:file_property('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*', _1048389, _1048385, _1048386, _1048387, _1048388, off ) -2044d 170 0 FAIL RETRY: prolog:$catch(utils:delete_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*'), _1048415, utils:fail ) -2045d 154 0 CALL: prolog:$get_exception(_1048415 ) -2046d 154 0 FAIL RETRY: utils:delete_file_silently('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/predictions_*' ) -2047d 140 0 CALL: utils:delete_files_silently([] ) -2048d 140 0 CALL: logger:logger_write_header -2049d 140 0 CALL: prolog:bb_get(logger:logger_filename, _1048426 ) -2050d 140 0 CALL: prolog:bb_get(logger:logger_variables, _1048427 ) -2051d 140 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/out.dat', append, _1048429 ) -2052d 140 0 CALL: prolog:format('$stream'(3), '#####################################################################~n', logger:[] ) -2053d 140 0 CALL: prolog:format('$stream'(3), '# ~w~6+~w~7+~w~n', logger:['Pos','Type','Name'] ) -2054d 140 0 CALL: prolog:format('$stream'(3), '#####################################################################~n', logger:[] ) -2055d 140 0 CALL: logger:logger_write_header_intern([(iteration,int),(duration,time),(llh_training_set,float),(llh_test_set,float),(bdd_evaluation,time),(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 1, '$stream'(3) ) -+s 0x5602af22e490 - @0x7efdd88a3118 0 -+s 0x5602af234570 - @0x7efdd88a3118 0 -- 0x5602af234570 - @0x7efdd88a3118 140 -+s 0x5602af20ed00 - @0x7efdd88a3118 0 -+s 0x5602af231200 - @0x7efdd88a3118 0 -- 0x5602af20ed00 - @0x7efdd88a3118 140 -- 0x5602af22e490 - @0x7efdd88a3118 140 -2056d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[1,int,iteration] ) -2057d 140 0 CALL: logger:logger_write_header_intern([(duration,time),(llh_training_set,float),(llh_test_set,float),(bdd_evaluation,time),(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 2, '$stream'(3) ) -2058d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[2,time,duration] ) -2059d 140 0 CALL: logger:logger_write_header_intern([(llh_training_set,float),(llh_test_set,float),(bdd_evaluation,time),(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 3, '$stream'(3) ) -2060d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[3,float,llh_training_set] ) -2061d 140 0 CALL: logger:logger_write_header_intern([(llh_test_set,float),(bdd_evaluation,time),(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 4, '$stream'(3) ) -2062d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[4,float,llh_test_set] ) -2063d 140 0 CALL: logger:logger_write_header_intern([(bdd_evaluation,time),(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 5, '$stream'(3) ) -2064d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[5,time,bdd_evaluation] ) -2065d 140 0 CALL: logger:logger_write_header_intern([(ground_truth_diff,float),(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 6, '$stream'(3) ) -2066d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[6,float,ground_truth_diff] ) -2067d 140 0 CALL: logger:logger_write_header_intern([(ground_truth_mindiff,float),(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 7, '$stream'(3) ) -2068d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[7,float,ground_truth_mindiff] ) -2069d 140 0 CALL: logger:logger_write_header_intern([(ground_truth_maxdiff,float),(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 8, '$stream'(3) ) -2070d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[8,float,ground_truth_maxdiff] ) -2071d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation,time),(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 9, '$stream'(3) ) -2072d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[9,time,train_bdd_script_generation] ) -2073d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_grounding,time),(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 10, '$stream'(3) ) -2074d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[10,time,train_bdd_script_generation_grounding] ) -2075d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_completion,time),(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 11, '$stream'(3) ) -2076d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[11,time,train_bdd_script_generation_completion] ) -2077d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_propagation,time),(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 12, '$stream'(3) ) -2078d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[12,time,train_bdd_script_generation_propagation] ) -2079d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_splitting,time),(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 13, '$stream'(3) ) -2080d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[13,time,train_bdd_script_generation_splitting] ) -2081d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_active_ground_atoms,int),(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 14, '$stream'(3) ) -2082d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[14,int,train_bdd_script_generation_active_ground_atoms] ) -2083d 140 0 CALL: logger:logger_write_header_intern([(train_bdd_script_generation_propagated_ground_atoms,int),(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 15, '$stream'(3) ) -2084d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[15,int,train_bdd_script_generation_propagated_ground_atoms] ) -2085d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation,time),(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 16, '$stream'(3) ) -2086d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[16,time,test_bdd_script_generation] ) -2087d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_grounding,time),(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 17, '$stream'(3) ) -2088d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[17,time,test_bdd_script_generation_grounding] ) -2089d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_completion,time),(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 18, '$stream'(3) ) -2090d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[18,time,test_bdd_script_generation_completion] ) -2091d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_propagation,time),(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 19, '$stream'(3) ) -2092d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[19,time,test_bdd_script_generation_propagation] ) -2093d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_splitting,time),(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 20, '$stream'(3) ) -2094d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[20,time,test_bdd_script_generation_splitting] ) -2095d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_active_ground_atoms,int),(test_bdd_script_generation_propagated_ground_atoms,int)], 21, '$stream'(3) ) -2096d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[21,int,test_bdd_script_generation_active_ground_atoms] ) -2097d 140 0 CALL: logger:logger_write_header_intern([(test_bdd_script_generation_propagated_ground_atoms,int)], 22, '$stream'(3) ) -2098d 140 0 CALL: prolog:format('$stream'(3), '# ~q~6+~q~7+~q~n', logger:[22,int,test_bdd_script_generation_propagated_ground_atoms] ) -2099d 140 0 CALL: logger:logger_write_header_intern([], 23, '$stream'(3) ) -2100d 140 0 CALL: prolog:format('$stream'(3), '#####################################################################~n', logger:[] ) -2101d 140 0 CALL: prolog:close('$stream'(3) ) -2102d 140 0 CALL: print_learning:format_learning(1, 'Initializing everything~n', [] ) -+s 0x5602af23aaf0 - @0x7efdd88a3118 0 -+s 0x5602af23a8d0 - @0x7efdd88a3118 0 -- 0x5602af23aaf0 - @0x7efdd88a3118 140 -2103d 150 0 CALL: flags:problog_flag(verbosity_learning, _1048416 ) -2104d 150 0 CALL: gflags:flag_get(verbosity_learning, _1048416 ) -2105d 150 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132877), _132878 ) -2106d 150 0 CALL: prolog:>=(5, 1 ) -2107d 140 0 CALL: prolog:format('Initializing everything~n', print_learning:[] ) -2108d 140 0 CALL: prolog:flush_output(user ) -Initializing everything -2109d 140 0 TRY_OR -2110d 148 0 CALL: prolog:current_predicate(user:test_example/1 ) -2111d 148 0 CALL: prolog:$yap_strip_module(user:test_example/1, _1048421, _1048420 ) -2112d 148 0 CALL: prolog:must_bind_to_type(predicate_indicator, test_example/1 ) -2113d 148 0 TRY_OR -2114d 171 0 CALL: error:may_bind_to_type(predicate_indicator, test_example/1 ) -2115d 180 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, test_example/1 ) -2116d 171 0 TRY_OR -2118d 171 0 CALL: error:may_bind_to_type(atom, test_example ) -2119d 188 0 FAIL RETRY: error:may_bind_to_type(atom, test_example ) -2120d 171 0 CALL: error:may_bind_to_type(integer, 1 ) -2121d 180 0 FAIL RETRY: error:may_bind_to_type(integer, 1 ) -2122d 148 0 CALL: prolog:$c_i_predicate(test_example/1, user ) -2123d 148 0 TRY_OR -2124d 165 0 CALL: prolog:ground(test_example/1 ) -2125d 148 0 CALL: prolog:functor(_132888, test_example, 1 ) -2126d 148 0 CALL: prolog:current_predicate(test_example, user:test_example(_132889) ) -2127d 148 0 CALL: prolog:$yap_strip_module(user:test_example(_132889), _1048417, _1048416 ) -2128d 148 0 CALL: prolog:functor(test_example(_132889), test_example, _1048415 ) -2129d 148 0 TRY_OR -2130d 167 0 CALL: prolog:$current_predicate(test_example, user, test_example(_132889), user ) -2131d 140 0 CALL: utils:succeeds_n_times(user:test_example(_132897), _1048457 ) -2132d 140 0 TRY_OR -2133d 155 0 CALL: prolog:call(user:test_example(_132897) ) -2134d 155 0 CALL: prolog:$execute(user:test_example(_132897) ) -2135d 155 0 CALL: prolog:$call(user:test_example(_132897), 155, user:test_example(_132897), user ) -2136d 166 0 FAIL RETRY: prolog:$call(user:test_example(_132897), 155, user:test_example(_132897), user ) -2137d 155 0 CALL: prolog:$call(test_example(_132897), 155, user:test_example(_132897), user ) -2138d 177 0 FAIL RETRY: prolog:$call(test_example(_132897), 155, user:test_example(_132897), user ) -2139d 155 0 CALL: prolog:$execute0(test_example(_132897), user ) -2140d 155 0 CALL: user:test_example(_132897 ) -2142d 140 0 CALL: prolog:arg(1, counter(0), _132902 ) -2143d 140 0 CALL: print_learning:format_learning(3, '~q test example(s)~n', [0] ) -2144d 150 0 CALL: flags:problog_flag(verbosity_learning, _1048416 ) -2145d 150 0 CALL: gflags:flag_get(verbosity_learning, _1048416 ) -2146d 150 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132904), _132905 ) -2147d 150 0 CALL: prolog:>=(5, 3 ) -2148d 140 0 CALL: prolog:format('~q test example(s)~n', print_learning:[0] ) -2149d 140 0 CALL: prolog:flush_output(user ) -0 test example(s) -2150d 140 0 CALL: utils:succeeds_n_times(user:example(_132914), _1048458 ) -2151d 140 0 TRY_OR -2152d 155 0 CALL: prolog:call(user:example(_132914) ) -2153d 155 0 CALL: prolog:$execute(user:example(_132914) ) -2154d 155 0 CALL: user:example(_132914 ) -2155d 163 0 CALL: prolog:arg(1, counter(0), _132919 ) -2156d 163 0 CALL: prolog:nb_setarg(1, counter(0), 1 ) -2157d 163 0 FAIL RETRY: user:example(_132914 ) -2158d 155 0 CALL: prolog:arg(1, counter(1), _132919 ) -2159d 155 0 CALL: prolog:nb_setarg(1, counter(1), 2 ) -2161d 140 0 CALL: prolog:arg(1, counter(2), _132919 ) -2162d 140 0 CALL: print_learning:format_learning(3, '~q training example(s)~n', [2] ) -2163d 150 0 CALL: flags:problog_flag(verbosity_learning, _1048416 ) -2164d 150 0 CALL: gflags:flag_get(verbosity_learning, _1048416 ) -2165d 150 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132921), _132922 ) -2166d 150 0 CALL: prolog:>=(5, 3 ) -2167d 140 0 CALL: prolog:format('~q training example(s)~n', print_learning:[2] ) -2168d 140 0 CALL: prolog:flush_output(user ) -2 training example(s) -2169d 140 0 CALL: prolog:$current_choice_point(_1048459 ) -2170d 140 0 CALL: problog_lfi:initialize_fact_probabilities -2171d 140 0 CALL: problog:probclause_id(_1048425 ) -2172d 140 0 CALL: prolog:nb_getval(probclause_counter, _1048425 ) -2173d 140 0 CALL: prolog:__NB_getval__(probclause_counter, _1048425, _1048410 ) -2174d 140 0 CALL: prolog:nb_setval(probclause_counter, 4 ) -2175d 140 0 CALL: prolog:static_array(factprob, 3, float ) -+s 0x5602af23a890 - @0x7efdd88a3158 0 -+s 0x5602af23c860 - @0x7efdd88a3158 0 -2176d 140 0 TRY_OR -2177d 157 0 CALL: problog:get_fact_probability(_1048426, _1048427 ) -+s 0x5602af2104f0 - @0x7efdd88a3158 0 -+s 0x5602af230bd0 - @0x7efdd88a3158 0 -- 0x5602af2104f0 - @0x7efdd88a3158 157 -2178d 166 0 CALL: prolog:ground(_1048426 ) -2179d 166 0 FAIL RETRY: problog:get_fact_probability(_1048426, _1048427 ) -2180d 166 0 CALL: prolog:ground(_1048426 ) -2181d 166 0 FAIL RETRY: problog:get_fact_probability(_1048426, _1048427 ) -2182d 157 0 TRY_OR -2183d 178 0 CALL: prolog:ground(_1048426 ) -2185d 157 0 CALL: problog:get_internal_fact(_1048426, _1048409, _132927, _1048408 ) -2186d 157 0 CALL: problog:problog_predicate(_1048397, _1048398 ) -2187d 188 0 CALL: prolog:atomic_concat([problog_,burglary], _132927 ) -2188d 188 0 CALL: prolog:functor(_1048409, problog_burglary, 2 ) -2189d 188 0 CALL: prolog:arg(1, problog_burglary(_132933,_132934), _132937 ) -2190d 188 0 CALL: prolog:call(problog:problog_burglary(_132933,_132934) ) -2191d 188 0 CALL: prolog:$execute(problog:problog_burglary(_132933,_132934) ) -2192d 188 0 CALL: problog:problog_burglary(_132933, _132934 ) -2193d 188 0 CALL: prolog:arg(2, problog_burglary(0,-1.249826789005093), _132940 ) -2194d 188 0 TRY_OR -2196d 196 0 CALL: prolog:ground(-1.249826789005093 ) -2197d 188 0 CALL: prolog:is(_1048427, 3, -1.249826789005093 ) -2198d 188 0 TRY_OR -2199d 196 0 CALL: prolog:update_array(factprob, 0, 0.2865544269392134 ) -2200d 188 0 FAIL RETRY: problog:problog_predicate(_1048397, _1048398 ) -2201d 188 0 CALL: prolog:atomic_concat([problog_,earthquake], _132927 ) -2202d 188 0 CALL: prolog:functor(_1048409, problog_earthquake, 2 ) -2203d 188 0 CALL: prolog:arg(1, problog_earthquake(_132933,_132934), _132937 ) -2204d 188 0 CALL: prolog:call(problog:problog_earthquake(_132933,_132934) ) -2205d 188 0 CALL: prolog:$execute(problog:problog_earthquake(_132933,_132934) ) -2206d 188 0 CALL: problog:problog_earthquake(_132933, _132934 ) -2207d 188 0 CALL: prolog:arg(2, problog_earthquake(1,-0.6596650473806767), _132940 ) -2208d 188 0 TRY_OR -2210d 196 0 CALL: prolog:ground(-0.6596650473806767 ) -2211d 188 0 CALL: prolog:is(_1048427, 3, -0.6596650473806767 ) -2212d 188 0 TRY_OR -2213d 196 0 CALL: prolog:update_array(factprob, 1, 0.5170244841968428 ) -2214d 188 0 FAIL RETRY: problog:problog_predicate(_1048397, _1048398 ) -2215d 157 0 CALL: prolog:atomic_concat([problog_,hears_alarm], _132927 ) -2216d 157 0 CALL: prolog:functor(_1048409, problog_hears_alarm, 3 ) -2217d 157 0 CALL: prolog:arg(1, problog_hears_alarm(_132933,_132934,_132935), _132938 ) -2218d 157 0 CALL: prolog:call(problog:problog_hears_alarm(_132933,_132934,_132935) ) -2219d 157 0 CALL: prolog:$execute(problog:problog_hears_alarm(_132933,_132934,_132935) ) -2220d 157 0 CALL: problog:problog_hears_alarm(_132933, _132934, _132935 ) -2221d 157 0 CALL: prolog:arg(3, problog_hears_alarm(2,_132934,-0.8533637893529484), _132941 ) -2222d 157 0 TRY_OR -2224d 173 0 CALL: prolog:ground(-0.8533637893529484 ) -2225d 157 0 CALL: prolog:is(_1048427, 3, -0.8533637893529484 ) -2226d 157 0 TRY_OR -2227d 165 0 CALL: prolog:update_array(factprob, 2, 0.4259796135590997 ) -2229d 140 0 CALL: problog:probclause_id(_1048460 ) -2230d 140 0 CALL: prolog:nb_getval(probclause_counter, _1048460 ) -2231d 140 0 CALL: prolog:__NB_getval__(probclause_counter, _1048460, _1048420 ) -2232d 140 0 CALL: prolog:nb_setval(probclause_counter, 5 ) -2233d 140 0 CALL: prolog:static_array(factprob_temp, 4, float ) -+s 0x5602af23d350 - @0x7efdd88a3168 0 -+s 0x5602af23ce80 - @0x7efdd88a3168 0 -2234d 140 0 CALL: prolog:static_array(factusage, 4, int ) -+s 0x5602af23cfb0 - @0x7efdd88a3168 0 -+s 0x5602af225cf0 - @0x7efdd88a3168 0 -2235d 140 0 CALL: prolog:static_array(known_count_true_training, 4, int ) -+s 0x5602af232570 - @0x7efdd88a3168 0 -+s 0x5602af23d650 - @0x7efdd88a3168 0 -2236d 140 0 CALL: prolog:static_array(known_count_false_training, 4, int ) -+s 0x5602af2325b0 - @0x7efdd88a3168 0 -+s 0x5602af23d6c0 - @0x7efdd88a3168 0 -2237d 140 0 CALL: prolog:static_array(known_count_true_test, 4, int ) -+s 0x5602af2325f0 - @0x7efdd88a3168 0 -+s 0x5602af211220 - @0x7efdd88a3168 0 -2238d 140 0 CALL: prolog:static_array(known_count_false_test, 4, int ) -+s 0x5602af232630 - @0x7efdd88a3168 0 -+s 0x5602af210d30 - @0x7efdd88a3168 0 -2239d 140 0 CALL: prolog:$current_choice_point(_1048461 ) -2240d 140 0 CALL: problog_lfi:init_queries -2241d 140 0 CALL: flags:problog_flag(cluster_bdds, _1048424 ) -2242d 140 0 CALL: gflags:flag_get(cluster_bdds, _1048424 ) -2243d 140 0 CALL: prolog:recorded(flag_values, flag(cluster_bdds,_132929), _132930 ) -2244d 140 0 CALL: print_learning:format_learning(2, 'Build BDDs for examples~n', [] ) -2245d 167 0 CALL: flags:problog_flag(verbosity_learning, _1048399 ) -2246d 167 0 CALL: gflags:flag_get(verbosity_learning, _1048399 ) -2247d 167 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132933), _132934 ) -2248d 167 0 CALL: prolog:>=(5, 2 ) -2249d 140 0 CALL: prolog:format('Build BDDs for examples~n', print_learning:[] ) -2250d 140 0 CALL: prolog:flush_output(user ) -Build BDDs for examples -2251d 140 0 TRY_OR -2252d 165 0 CALL: user:example(_1048418 ) -2253d 173 0 TRY_OR -2254d 181 0 CALL: print_learning:format_learning(3, 'training example ~q: ', [1] ) -2255d 191 0 CALL: flags:problog_flag(verbosity_learning, _1048375 ) -2256d 191 0 CALL: gflags:flag_get(verbosity_learning, _1048375 ) -2257d 191 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132942), _132943 ) -2258d 191 0 CALL: prolog:>=(5, 3 ) -2259d 181 0 CALL: prolog:format('training example ~q: ', print_learning:[1] ) -2260d 181 0 CALL: prolog:flush_output(user ) -training example 1: 2261d 181 0 CALL: problog_lfi:init_one_query(1, training ) -+s 0x5602af23aaf0 - @0x7efdd88a3198 0 -+s 0x5602af189ad0 - @0x7efdd88a3198 0 -- 0x5602af23aaf0 - @0x7efdd88a3198 181 -2262d 190 0 CALL: utils_learning:create_known_values_file_name(1, _1048379 ) -+s 0x5602af23aaf0 - @0x7efdd88a3198 0 -+s 0x5602aec2ab50 - @0x7efdd88a3198 0 -- 0x5602af23aaf0 - @0x7efdd88a3198 190 -2263d 206 0 CALL: flags:problog_flag(bdd_directory, _1048361 ) -2264d 206 0 CALL: gflags:flag_get(bdd_directory, _1048361 ) -2265d 206 0 CALL: prolog:recorded(flag_values, flag(bdd_directory,_132950), _132951 ) -2266d 190 0 CALL: prolog:atomic_concat([query_,1,'_known_values'], _1048362 ) -2267d 190 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', query_1_known_values, _1048379 ) -2268d 190 0 CALL: os:path_separator(_1048370 ) -2269d 214 0 CALL: prolog:current_prolog_flag(windows, true ) -2270d 214 0 FAIL RETRY: os:path_separator(_1048370 ) -2271d 190 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_1_known_values], _1048379 ) -2272d 190 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_1_known_values], _1048379 ) -2273d 190 0 CALL: prolog:file_exists('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -2274d 190 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _132964, [expand(true),solutions(first),access(exist)] ) -2275d 190 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', [expand(true),solutions(first),access(exist)], _132964 ) -2276d 217 0 FAIL RETRY: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', [expand(true),solutions(first),access(exist)], _132964 ) -2277d 190 0 CALL: prolog:$absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', [expand(true),solutions(first),access(exist)], _132964 ) -2278d 190 0 CALL: prolog:gated_call('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',[expand(true),solutions(first),access(exist)],_132980,_132981,_132982,_132983,_132984,_132985,_132986,_132987,_132988), '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',_132980,_132964,_132981,_132987), _132995, '$absf_port'(_132995,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',_132964,_132981,_132982,_132983,_132984,_132985,_132986,_132987,_132988) ) -2279d 190 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',[expand(true),solutions(first),access(exist)],_132980,_132981,_132982,_132983,_132984,_132985,_132986,_132987,_132988) ) -2280d 227 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _132980 ) -2281d 227 0 CALL: prolog:current_prolog_flag(open_expands_filename, _132982 ) -2282d 227 0 CALL: prolog:current_prolog_flag(fileerrors, _132983 ) -2283d 227 0 CALL: prolog:current_prolog_flag(verbose_file_search, _132984 ) -2284d 227 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _132986 ) -2285d 227 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _132985 ) -2286d 227 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -2287d 227 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _133018 ) -2288d 227 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _132987 ) -2289d 227 0 TRY_OR -2290d 245 0 CALL: prolog:==(error, fail ) -2292d 227 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -2293d 227 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -2294d 227 0 CALL: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -2295d 242 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2296d 242 0 FAIL RETRY: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values' ) -2297d 227 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -2298d 241 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2299d 241 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -2300d 190 0 CALL: prolog:$gated_call(true, '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',opt(exist,true,[],error,txt,'','',first,false),_132964,t(no),first), _132995, '$absf_port'(_132995,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',_132964,t(no),false,true,false,true,false,first,true) ) -2301d 190 0 CALL: prolog:$tag_cleanup(_133027, cleanup(true,_132995,'$absf_port'(_132995,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',_132964,t(no),false,true,false,true,false,first,true),_133025,true,_133027) ) -2302d 190 0 CALL: prolog:$execute('$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values',opt(exist,true,[],error,txt,'','',first,false),_132964,t(no),first) ) -2303d 190 0 CALL: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', opt(exist,true,[],error,txt,'','',first,false), _132964, t(no), first ) -2304d 216 0 FAIL RETRY: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', opt(exist,true,[],error,txt,'','',first,false), _132964, t(no), first ) -2305d 190 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048363 ) -2306d 190 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048364 ) -2307d 190 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048358 ) -2308d 190 0 CALL: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2309d 232 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2310d 232 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2311d 190 0 CALL: prolog:$core_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048354, [] ) -2312d 190 0 CALL: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048343, _1048354, _1048344 ) -2313d 244 0 CALL: prolog:=..('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', [_133045,_133047] ) -2314d 244 0 FAIL RETRY: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048343, _1048354, _1048344 ) -2315d 190 0 CALL: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048343, _1048354, _1048344 ) -2316d 243 0 FAIL RETRY: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048343, _1048354, _1048344 ) -2317d 243 0 CALL: prolog:atom_codes('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048343 ) -2318d 190 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048354, _1048344 ) -2319d 190 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133220, _1048344 ) -2320d 190 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133222, _1048344 ) -2321d 190 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133224, _1048344 ) -2322d 190 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133226, _1048344 ) -2323d 190 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133228, _1048344 ) -2324d 190 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133230, _1048344 ) -2325d 190 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133232, _1048344 ) -2326d 190 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133234, _1048344 ) -2327d 190 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133236, _1048344 ) -2328d 190 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133238, _1048344 ) -2329d 190 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133240, _1048344 ) -2330d 190 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133242, _1048344 ) -2331d 190 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133244, _1048344 ) -2332d 190 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133246, _1048344 ) -2333d 190 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133248, _1048344 ) -2334d 190 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133250, _1048344 ) -2335d 190 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133252, _1048344 ) -2336d 190 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133254, _1048344 ) -2337d 190 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133256, _1048344 ) -2338d 190 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133258, _1048344 ) -2339d 190 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133260, _1048344 ) -2340d 190 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133262, _1048344 ) -2341d 190 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133264, _1048344 ) -2342d 190 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133266, _1048344 ) -2343d 190 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133268, _1048344 ) -2344d 190 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133270, _1048344 ) -2345d 190 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133272, _1048344 ) -2346d 190 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133274, _1048344 ) -2347d 190 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133276, _1048344 ) -2348d 190 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133278, _1048344 ) -2349d 190 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133280, _1048344 ) -2350d 190 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133282, _1048344 ) -2351d 190 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133284, _1048344 ) -2352d 190 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133286, _1048344 ) -2353d 190 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133288, _1048344 ) -2354d 190 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133290, _1048344 ) -2355d 190 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133292, _1048344 ) -2356d 190 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133294, _1048344 ) -2357d 190 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133296, _1048344 ) -2358d 190 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133298, _1048344 ) -2359d 190 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133300, _1048344 ) -2360d 190 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133302, _1048344 ) -2361d 190 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133304, _1048344 ) -2362d 190 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133306, _1048344 ) -2363d 190 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133308, _1048344 ) -2364d 190 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133310, _1048344 ) -2365d 190 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133312, _1048344 ) -2366d 190 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133314, _1048344 ) -2367d 190 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133316, _1048344 ) -2368d 190 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133318, _1048344 ) -2369d 190 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133320, _1048344 ) -2370d 190 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133322, _1048344 ) -2371d 190 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133324, _1048344 ) -2372d 190 0 CALL: prolog:$phrase_list([112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133326, _1048344 ) -2373d 190 0 CALL: prolog:$phrase_list([108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133328, _1048344 ) -2374d 190 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133330, _1048344 ) -2375d 190 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133332, _1048344 ) -2376d 190 0 CALL: prolog:$phrase_list([47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133334, _1048344 ) -2377d 190 0 CALL: prolog:$phrase_list([113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133336, _1048344 ) -2378d 190 0 CALL: prolog:$phrase_list([117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133338, _1048344 ) -2379d 190 0 CALL: prolog:$phrase_list([101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133340, _1048344 ) -2380d 190 0 CALL: prolog:$phrase_list([114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133342, _1048344 ) -2381d 190 0 CALL: prolog:$phrase_list([105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133344, _1048344 ) -2382d 190 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133346, _1048344 ) -2383d 190 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133348, _1048344 ) -2384d 190 0 CALL: prolog:$phrase_list([47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133350, _1048344 ) -2385d 190 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133352, _1048344 ) -2386d 190 0 CALL: prolog:$phrase_list([117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133354, _1048344 ) -2387d 190 0 CALL: prolog:$phrase_list([101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133356, _1048344 ) -2388d 190 0 CALL: prolog:$phrase_list([114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133358, _1048344 ) -2389d 190 0 CALL: prolog:$phrase_list([121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133360, _1048344 ) -2390d 190 0 CALL: prolog:$phrase_list([95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133362, _1048344 ) -2391d 190 0 CALL: prolog:$phrase_list([49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133364, _1048344 ) -2392d 190 0 CALL: prolog:$phrase_list([95,107,110,111,119,110,95,118,97,108,117,101,115], _133366, _1048344 ) -2393d 190 0 CALL: prolog:$phrase_list([107,110,111,119,110,95,118,97,108,117,101,115], _133368, _1048344 ) -2394d 190 0 CALL: prolog:$phrase_list([110,111,119,110,95,118,97,108,117,101,115], _133370, _1048344 ) -2395d 190 0 CALL: prolog:$phrase_list([111,119,110,95,118,97,108,117,101,115], _133372, _1048344 ) -2396d 190 0 CALL: prolog:$phrase_list([119,110,95,118,97,108,117,101,115], _133374, _1048344 ) -2397d 190 0 CALL: prolog:$phrase_list([110,95,118,97,108,117,101,115], _133376, _1048344 ) -2398d 190 0 CALL: prolog:$phrase_list([95,118,97,108,117,101,115], _133378, _1048344 ) -2399d 190 0 CALL: prolog:$phrase_list([118,97,108,117,101,115], _133380, _1048344 ) -2400d 190 0 CALL: prolog:$phrase_list([97,108,117,101,115], _133382, _1048344 ) -2401d 190 0 CALL: prolog:$phrase_list([108,117,101,115], _133384, _1048344 ) -2402d 190 0 CALL: prolog:$phrase_list([117,101,115], _133386, _1048344 ) -2403d 190 0 CALL: prolog:$phrase_list([101,115], _133388, _1048344 ) -2404d 190 0 CALL: prolog:$phrase_list([115], _133390, _1048344 ) -2405d 190 0 CALL: prolog:$phrase_list([], _133392, _1048344 ) -2406d 190 0 CALL: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _133392, _1048346 ) -2407d 241 0 CALL: lists:append(_1048324, [46|_133394], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2408d 261 0 FAIL RETRY: lists:append(_1048324, [46|_133394], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2409d 241 0 CALL: lists:append(_133396, [46|_133394], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2410d 261 0 FAIL RETRY: lists:append(_133396, [46|_133394], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2411d 241 0 CALL: lists:append(_133398, [46|_133394], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2412d 261 0 FAIL RETRY: lists:append(_133398, [46|_133394], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2413d 241 0 CALL: lists:append(_133400, [46|_133394], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2414d 261 0 FAIL RETRY: lists:append(_133400, [46|_133394], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2415d 241 0 CALL: lists:append(_133402, [46|_133394], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2416d 261 0 FAIL RETRY: lists:append(_133402, [46|_133394], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2417d 241 0 CALL: lists:append(_133404, [46|_133394], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2418d 261 0 FAIL RETRY: lists:append(_133404, [46|_133394], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2419d 241 0 CALL: lists:append(_133406, [46|_133394], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2420d 261 0 FAIL RETRY: lists:append(_133406, [46|_133394], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2421d 241 0 CALL: lists:append(_133408, [46|_133394], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2422d 261 0 FAIL RETRY: lists:append(_133408, [46|_133394], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2423d 241 0 CALL: lists:append(_133410, [46|_133394], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2424d 261 0 FAIL RETRY: lists:append(_133410, [46|_133394], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2425d 241 0 CALL: lists:append(_133412, [46|_133394], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2426d 261 0 FAIL RETRY: lists:append(_133412, [46|_133394], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2427d 241 0 CALL: lists:append(_133414, [46|_133394], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2428d 261 0 FAIL RETRY: lists:append(_133414, [46|_133394], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2429d 241 0 CALL: lists:append(_133416, [46|_133394], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2430d 261 0 FAIL RETRY: lists:append(_133416, [46|_133394], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2431d 241 0 CALL: lists:append(_133418, [46|_133394], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2432d 261 0 FAIL RETRY: lists:append(_133418, [46|_133394], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2433d 241 0 CALL: lists:append(_133420, [46|_133394], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2434d 261 0 FAIL RETRY: lists:append(_133420, [46|_133394], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2435d 241 0 CALL: lists:append(_133422, [46|_133394], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2436d 261 0 FAIL RETRY: lists:append(_133422, [46|_133394], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2437d 241 0 CALL: lists:append(_133424, [46|_133394], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2438d 261 0 FAIL RETRY: lists:append(_133424, [46|_133394], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2439d 241 0 CALL: lists:append(_133426, [46|_133394], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2440d 261 0 FAIL RETRY: lists:append(_133426, [46|_133394], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2441d 241 0 CALL: lists:append(_133428, [46|_133394], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2442d 261 0 FAIL RETRY: lists:append(_133428, [46|_133394], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2443d 241 0 CALL: lists:append(_133430, [46|_133394], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2444d 261 0 FAIL RETRY: lists:append(_133430, [46|_133394], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2445d 241 0 CALL: lists:append(_133432, [46|_133394], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2446d 261 0 FAIL RETRY: lists:append(_133432, [46|_133394], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2447d 241 0 CALL: lists:append(_133434, [46|_133394], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2448d 261 0 FAIL RETRY: lists:append(_133434, [46|_133394], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2449d 241 0 CALL: lists:append(_133436, [46|_133394], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2450d 261 0 FAIL RETRY: lists:append(_133436, [46|_133394], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2451d 241 0 CALL: lists:append(_133438, [46|_133394], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2452d 261 0 CALL: prolog:$id([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048325, [] ) -2453d 261 0 CALL: prolog:C(_1048325, 51, _1048307 ) -2454d 261 0 TRY_OR -2455d 278 0 CALL: prolog:>=(51, 97 ) -2457d 278 0 CALL: prolog:>=(51, 65 ) -2459d 278 0 CALL: prolog:>=(51, 48 ) -2460d 278 0 CALL: prolog:=<(51, 57 ) -2461d 261 0 CALL: prolog:$id([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133440, [] ) -2462d 261 0 CALL: prolog:C(_133440, 47, _1048307 ) -2463d 261 0 TRY_OR -2464d 278 0 CALL: prolog:>=(47, 97 ) -2466d 278 0 CALL: prolog:>=(47, 65 ) -2468d 278 0 CALL: prolog:>=(47, 48 ) -2470d 261 0 CALL: prolog:=:=(47, 95 ) -2471d 261 0 FAIL RETRY: lists:append(_133438, [46|_133394], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2472d 241 0 CALL: lists:append(_133440, [46|_133394], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2473d 261 0 FAIL RETRY: lists:append(_133440, [46|_133394], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2474d 241 0 CALL: lists:append(_133442, [46|_133394], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2475d 261 0 FAIL RETRY: lists:append(_133442, [46|_133394], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2476d 241 0 CALL: lists:append(_133444, [46|_133394], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2477d 261 0 FAIL RETRY: lists:append(_133444, [46|_133394], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2478d 241 0 CALL: lists:append(_133446, [46|_133394], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2479d 261 0 FAIL RETRY: lists:append(_133446, [46|_133394], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2480d 241 0 CALL: lists:append(_133448, [46|_133394], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2481d 261 0 FAIL RETRY: lists:append(_133448, [46|_133394], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2482d 241 0 CALL: lists:append(_133450, [46|_133394], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2483d 261 0 FAIL RETRY: lists:append(_133450, [46|_133394], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2484d 241 0 CALL: lists:append(_133452, [46|_133394], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2485d 261 0 FAIL RETRY: lists:append(_133452, [46|_133394], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2486d 241 0 CALL: lists:append(_133454, [46|_133394], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2487d 261 0 FAIL RETRY: lists:append(_133454, [46|_133394], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2488d 241 0 CALL: lists:append(_133456, [46|_133394], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2489d 261 0 FAIL RETRY: lists:append(_133456, [46|_133394], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2490d 241 0 CALL: lists:append(_133458, [46|_133394], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2491d 261 0 FAIL RETRY: lists:append(_133458, [46|_133394], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2492d 241 0 CALL: lists:append(_133460, [46|_133394], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2493d 261 0 FAIL RETRY: lists:append(_133460, [46|_133394], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2494d 241 0 CALL: lists:append(_133462, [46|_133394], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2495d 261 0 FAIL RETRY: lists:append(_133462, [46|_133394], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2496d 241 0 CALL: lists:append(_133464, [46|_133394], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2497d 261 0 FAIL RETRY: lists:append(_133464, [46|_133394], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2498d 241 0 CALL: lists:append(_133466, [46|_133394], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2499d 261 0 FAIL RETRY: lists:append(_133466, [46|_133394], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2500d 241 0 CALL: lists:append(_133468, [46|_133394], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2501d 261 0 FAIL RETRY: lists:append(_133468, [46|_133394], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2502d 241 0 CALL: lists:append(_133470, [46|_133394], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2503d 261 0 FAIL RETRY: lists:append(_133470, [46|_133394], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2504d 241 0 CALL: lists:append(_133472, [46|_133394], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2505d 261 0 FAIL RETRY: lists:append(_133472, [46|_133394], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2506d 241 0 CALL: lists:append(_133474, [46|_133394], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2507d 261 0 FAIL RETRY: lists:append(_133474, [46|_133394], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2508d 241 0 CALL: lists:append(_133476, [46|_133394], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2509d 261 0 FAIL RETRY: lists:append(_133476, [46|_133394], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2510d 241 0 CALL: lists:append(_133478, [46|_133394], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2511d 261 0 FAIL RETRY: lists:append(_133478, [46|_133394], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2512d 241 0 CALL: lists:append(_133480, [46|_133394], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2513d 261 0 FAIL RETRY: lists:append(_133480, [46|_133394], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2514d 241 0 CALL: lists:append(_133482, [46|_133394], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2515d 261 0 FAIL RETRY: lists:append(_133482, [46|_133394], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2516d 241 0 CALL: lists:append(_133484, [46|_133394], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2517d 261 0 FAIL RETRY: lists:append(_133484, [46|_133394], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2518d 241 0 CALL: lists:append(_133486, [46|_133394], [108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2519d 261 0 FAIL RETRY: lists:append(_133486, [46|_133394], [108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2520d 241 0 CALL: lists:append(_133488, [46|_133394], [111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2521d 261 0 FAIL RETRY: lists:append(_133488, [46|_133394], [111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2522d 241 0 CALL: lists:append(_133490, [46|_133394], [103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2523d 261 0 FAIL RETRY: lists:append(_133490, [46|_133394], [103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2524d 241 0 CALL: lists:append(_133492, [46|_133394], [95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2525d 261 0 FAIL RETRY: lists:append(_133492, [46|_133394], [95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2526d 241 0 CALL: lists:append(_133494, [46|_133394], [101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2527d 261 0 FAIL RETRY: lists:append(_133494, [46|_133394], [101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2528d 241 0 CALL: lists:append(_133496, [46|_133394], [120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2529d 261 0 FAIL RETRY: lists:append(_133496, [46|_133394], [120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2530d 241 0 CALL: lists:append(_133498, [46|_133394], [97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2531d 261 0 FAIL RETRY: lists:append(_133498, [46|_133394], [97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2532d 241 0 CALL: lists:append(_133500, [46|_133394], [109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2533d 261 0 FAIL RETRY: lists:append(_133500, [46|_133394], [109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2534d 241 0 CALL: lists:append(_133502, [46|_133394], [112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2535d 261 0 FAIL RETRY: lists:append(_133502, [46|_133394], [112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2536d 241 0 CALL: lists:append(_133504, [46|_133394], [108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2537d 261 0 FAIL RETRY: lists:append(_133504, [46|_133394], [108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2538d 241 0 CALL: lists:append(_133506, [46|_133394], [101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2539d 261 0 FAIL RETRY: lists:append(_133506, [46|_133394], [101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2540d 241 0 CALL: lists:append(_133508, [46|_133394], [115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2541d 261 0 FAIL RETRY: lists:append(_133508, [46|_133394], [115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2542d 241 0 CALL: lists:append(_133510, [46|_133394], [47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2543d 261 0 FAIL RETRY: lists:append(_133510, [46|_133394], [47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2544d 241 0 CALL: lists:append(_133512, [46|_133394], [113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2545d 261 0 FAIL RETRY: lists:append(_133512, [46|_133394], [113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2546d 241 0 CALL: lists:append(_133514, [46|_133394], [117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2547d 261 0 FAIL RETRY: lists:append(_133514, [46|_133394], [117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2548d 241 0 CALL: lists:append(_133516, [46|_133394], [101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2549d 261 0 FAIL RETRY: lists:append(_133516, [46|_133394], [101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2550d 241 0 CALL: lists:append(_133518, [46|_133394], [114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2551d 261 0 FAIL RETRY: lists:append(_133518, [46|_133394], [114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2552d 241 0 CALL: lists:append(_133520, [46|_133394], [105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2553d 261 0 FAIL RETRY: lists:append(_133520, [46|_133394], [105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2554d 241 0 CALL: lists:append(_133522, [46|_133394], [101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2555d 261 0 FAIL RETRY: lists:append(_133522, [46|_133394], [101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2556d 241 0 CALL: lists:append(_133524, [46|_133394], [115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2557d 261 0 FAIL RETRY: lists:append(_133524, [46|_133394], [115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2558d 241 0 CALL: lists:append(_133526, [46|_133394], [47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2559d 261 0 FAIL RETRY: lists:append(_133526, [46|_133394], [47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2560d 241 0 CALL: lists:append(_133528, [46|_133394], [113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2561d 261 0 FAIL RETRY: lists:append(_133528, [46|_133394], [113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2562d 241 0 CALL: lists:append(_133530, [46|_133394], [117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2563d 261 0 FAIL RETRY: lists:append(_133530, [46|_133394], [117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2564d 241 0 CALL: lists:append(_133532, [46|_133394], [101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2565d 261 0 FAIL RETRY: lists:append(_133532, [46|_133394], [101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2566d 241 0 CALL: lists:append(_133534, [46|_133394], [114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2567d 261 0 FAIL RETRY: lists:append(_133534, [46|_133394], [114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2568d 241 0 CALL: lists:append(_133536, [46|_133394], [121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2569d 261 0 FAIL RETRY: lists:append(_133536, [46|_133394], [121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2570d 241 0 CALL: lists:append(_133538, [46|_133394], [95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2571d 261 0 FAIL RETRY: lists:append(_133538, [46|_133394], [95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2572d 241 0 CALL: lists:append(_133540, [46|_133394], [49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2573d 261 0 FAIL RETRY: lists:append(_133540, [46|_133394], [49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2574d 241 0 CALL: lists:append(_133542, [46|_133394], [95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2575d 261 0 FAIL RETRY: lists:append(_133542, [46|_133394], [95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2576d 241 0 CALL: lists:append(_133544, [46|_133394], [107,110,111,119,110,95,118,97,108,117,101,115] ) -2577d 261 0 FAIL RETRY: lists:append(_133544, [46|_133394], [107,110,111,119,110,95,118,97,108,117,101,115] ) -2578d 241 0 CALL: lists:append(_133546, [46|_133394], [110,111,119,110,95,118,97,108,117,101,115] ) -2579d 261 0 FAIL RETRY: lists:append(_133546, [46|_133394], [110,111,119,110,95,118,97,108,117,101,115] ) -2580d 241 0 CALL: lists:append(_133548, [46|_133394], [111,119,110,95,118,97,108,117,101,115] ) -2581d 261 0 FAIL RETRY: lists:append(_133548, [46|_133394], [111,119,110,95,118,97,108,117,101,115] ) -2582d 241 0 CALL: lists:append(_133550, [46|_133394], [119,110,95,118,97,108,117,101,115] ) -2583d 261 0 FAIL RETRY: lists:append(_133550, [46|_133394], [119,110,95,118,97,108,117,101,115] ) -2584d 241 0 CALL: lists:append(_133552, [46|_133394], [110,95,118,97,108,117,101,115] ) -2585d 261 0 FAIL RETRY: lists:append(_133552, [46|_133394], [110,95,118,97,108,117,101,115] ) -2586d 241 0 CALL: lists:append(_133554, [46|_133394], [95,118,97,108,117,101,115] ) -2587d 261 0 FAIL RETRY: lists:append(_133554, [46|_133394], [95,118,97,108,117,101,115] ) -2588d 241 0 CALL: lists:append(_133556, [46|_133394], [118,97,108,117,101,115] ) -2589d 261 0 FAIL RETRY: lists:append(_133556, [46|_133394], [118,97,108,117,101,115] ) -2590d 241 0 CALL: lists:append(_133558, [46|_133394], [97,108,117,101,115] ) -2591d 261 0 FAIL RETRY: lists:append(_133558, [46|_133394], [97,108,117,101,115] ) -2592d 241 0 CALL: lists:append(_133560, [46|_133394], [108,117,101,115] ) -2593d 261 0 FAIL RETRY: lists:append(_133560, [46|_133394], [108,117,101,115] ) -2594d 241 0 CALL: lists:append(_133562, [46|_133394], [117,101,115] ) -2595d 261 0 FAIL RETRY: lists:append(_133562, [46|_133394], [117,101,115] ) -2596d 241 0 CALL: lists:append(_133564, [46|_133394], [101,115] ) -2597d 261 0 FAIL RETRY: lists:append(_133564, [46|_133394], [101,115] ) -2598d 241 0 CALL: lists:append(_133566, [46|_133394], [115] ) -2599d 261 0 FAIL RETRY: lists:append(_133566, [46|_133394], [115] ) -2600d 241 0 CALL: lists:append(_133568, [46|_133394], [] ) -2601d 261 0 FAIL RETRY: lists:append(_133568, [46|_133394], [] ) -2602d 241 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _133392, _1048346 ) -2603d 241 0 TRY_OR -2604d 263 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048320 ) -2605d 263 0 CALL: prolog:\=([], [] ) -2607d 241 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _133393 ) -2608d 241 0 TRY_OR -2609d 261 0 CALL: prolog:==(txt, source ) -2611d 241 0 CALL: user:prolog_file_type(_1048325, txt ) -2612d 241 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _133392, _1048346 ) -2613d 190 0 CALL: prolog:$absf_trace(' try no suffix', [], _133392, _1048346 ) -2614d 241 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2615d 241 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _133392, _1048346 ) -2616d 190 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _133392, [] ) -2617d 232 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _133393 ) -2618d 232 0 CALL: prolog:\=('', '' ) -2619d 232 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _133392, [] ) -2620d 190 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2621d 230 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2622d 230 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2623d 190 0 CALL: prolog:$variable_expansion([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _1048355 ) -2624d 230 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -2625d 190 0 CALL: prolog:$expand_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048355 ) -2626d 190 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -2627d 229 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2628d 229 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -2629d 190 0 CALL: prolog:$prefix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _1048357, [] ) -2630d 229 0 CALL: prolog:is_absolute_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2631d 190 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048357, [] ) -2632d 190 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133572, [] ) -2633d 190 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133574, [] ) -2634d 190 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133576, [] ) -2635d 190 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133578, [] ) -2636d 190 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133580, [] ) -2637d 190 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133582, [] ) -2638d 190 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133584, [] ) -2639d 190 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133586, [] ) -2640d 190 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133588, [] ) -2641d 190 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133590, [] ) -2642d 190 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133592, [] ) -2643d 190 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133594, [] ) -2644d 190 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133596, [] ) -2645d 190 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133598, [] ) -2646d 190 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133600, [] ) -2647d 190 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133602, [] ) -2648d 190 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133604, [] ) -2649d 190 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133606, [] ) -2650d 190 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133608, [] ) -2651d 190 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133610, [] ) -2652d 190 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133612, [] ) -2653d 190 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133614, [] ) -2654d 190 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133616, [] ) -2655d 190 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133618, [] ) -2656d 190 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133620, [] ) -2657d 190 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133622, [] ) -2658d 190 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133624, [] ) -2659d 190 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133626, [] ) -2660d 190 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133628, [] ) -2661d 190 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133630, [] ) -2662d 190 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133632, [] ) -2663d 190 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133634, [] ) -2664d 190 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133636, [] ) -2665d 190 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133638, [] ) -2666d 190 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133640, [] ) -2667d 190 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133642, [] ) -2668d 190 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133644, [] ) -2669d 190 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133646, [] ) -2670d 190 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133648, [] ) -2671d 190 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133650, [] ) -2672d 190 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133652, [] ) -2673d 190 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133654, [] ) -2674d 190 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133656, [] ) -2675d 190 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133658, [] ) -2676d 190 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133660, [] ) -2677d 190 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133662, [] ) -2678d 190 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133664, [] ) -2679d 190 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133666, [] ) -2680d 190 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133668, [] ) -2681d 190 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133670, [] ) -2682d 190 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133672, [] ) -2683d 190 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133674, [] ) -2684d 190 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133676, [] ) -2685d 190 0 CALL: prolog:$phrase_list([112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133678, [] ) -2686d 190 0 CALL: prolog:$phrase_list([108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133680, [] ) -2687d 190 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133682, [] ) -2688d 190 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133684, [] ) -2689d 190 0 CALL: prolog:$phrase_list([47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133686, [] ) -2690d 190 0 CALL: prolog:$phrase_list([113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133688, [] ) -2691d 190 0 CALL: prolog:$phrase_list([117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133690, [] ) -2692d 190 0 CALL: prolog:$phrase_list([101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133692, [] ) -2693d 190 0 CALL: prolog:$phrase_list([114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133694, [] ) -2694d 190 0 CALL: prolog:$phrase_list([105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133696, [] ) -2695d 190 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133698, [] ) -2696d 190 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133700, [] ) -2697d 190 0 CALL: prolog:$phrase_list([47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133702, [] ) -2698d 190 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133704, [] ) -2699d 190 0 CALL: prolog:$phrase_list([117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133706, [] ) -2700d 190 0 CALL: prolog:$phrase_list([101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133708, [] ) -2701d 190 0 CALL: prolog:$phrase_list([114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133710, [] ) -2702d 190 0 CALL: prolog:$phrase_list([121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133712, [] ) -2703d 190 0 CALL: prolog:$phrase_list([95,49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133714, [] ) -2704d 190 0 CALL: prolog:$phrase_list([49,95,107,110,111,119,110,95,118,97,108,117,101,115], _133716, [] ) -2705d 190 0 CALL: prolog:$phrase_list([95,107,110,111,119,110,95,118,97,108,117,101,115], _133718, [] ) -2706d 190 0 CALL: prolog:$phrase_list([107,110,111,119,110,95,118,97,108,117,101,115], _133720, [] ) -2707d 190 0 CALL: prolog:$phrase_list([110,111,119,110,95,118,97,108,117,101,115], _133722, [] ) -2708d 190 0 CALL: prolog:$phrase_list([111,119,110,95,118,97,108,117,101,115], _133724, [] ) -2709d 190 0 CALL: prolog:$phrase_list([119,110,95,118,97,108,117,101,115], _133726, [] ) -2710d 190 0 CALL: prolog:$phrase_list([110,95,118,97,108,117,101,115], _133728, [] ) -2711d 190 0 CALL: prolog:$phrase_list([95,118,97,108,117,101,115], _133730, [] ) -2712d 190 0 CALL: prolog:$phrase_list([118,97,108,117,101,115], _133732, [] ) -2713d 190 0 CALL: prolog:$phrase_list([97,108,117,101,115], _133734, [] ) -2714d 190 0 CALL: prolog:$phrase_list([108,117,101,115], _133736, [] ) -2715d 190 0 CALL: prolog:$phrase_list([117,101,115], _133738, [] ) -2716d 190 0 CALL: prolog:$phrase_list([101,115], _133740, [] ) -2717d 190 0 CALL: prolog:$phrase_list([115], _133742, [] ) -2718d 190 0 CALL: prolog:$phrase_list([], _133744, [] ) -2719d 190 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -2720d 227 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2721d 227 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -2722d 190 0 CALL: prolog:atom_codes(_1048360, [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,49,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -2723d 190 0 TRY_OR -2724d 190 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _1048359 ) -2725d 190 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values']] ) -2726d 225 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2727d 225 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values']] ) -2728d 190 0 CALL: lists:member(_1048361, ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2729d 224 0 CALL: prolog:real_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', _132964 ) -2730d 224 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2731d 233 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2732d 233 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2733d 224 0 CALL: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', txt, exist ) -2734d 234 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', txt, exist ) -2735d 234 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', txt, exist ) -2736d 234 0 CALL: prolog:$access_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', exist ) -2737d 234 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', txt, exist ) -2738d 224 0 CALL: prolog:$access_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', exist ) -2739d 224 0 FAIL RETRY: lists:member(_1048361, ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values'] ) -2740d 190 0 CALL: lists:member(_1048361, [] ) -2741d 241 0 CALL: prolog:$absf_trace(' !------- failed.', [] ) -2742d 265 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -2743d 265 0 FAIL RETRY: prolog:$absf_trace(' !------- failed.', [] ) -2744d 241 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -2745d 241 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -2746d 241 0 CALL: prolog:set_prolog_flag(file_name_variables, false ) -2747d 241 0 CALL: prolog:arg(1, t(no), _133753 ) -2749d 190 0 FAIL RETRY: problog_lfi:init_one_query(1, training ) -2750d 181 0 CALL: prolog:$current_choice_point(_1048388 ) -2751d 181 0 CALL: completion:propagate_evidence(1, training ) -+s 0x5602af256100 - @0x7efdd88a3198 0 -+s 0x5602af2558b0 - @0x7efdd88a3198 0 -- 0x5602af256100 - @0x7efdd88a3198 181 -2752d 196 0 TRY_OR -2753d 211 0 CALL: prolog:$current_choice_point(_1048372 ) -2754d 211 0 CALL: prolog:current_predicate(user:known/3 ) -2755d 211 0 CALL: prolog:$yap_strip_module(user:known/3, _1048358, _1048357 ) -2756d 211 0 CALL: prolog:must_bind_to_type(predicate_indicator, known/3 ) -2757d 211 0 TRY_OR -2758d 234 0 CALL: error:may_bind_to_type(predicate_indicator, known/3 ) -2759d 243 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, known/3 ) -2760d 234 0 TRY_OR -2762d 234 0 CALL: error:may_bind_to_type(atom, known ) -2763d 251 0 FAIL RETRY: error:may_bind_to_type(atom, known ) -2764d 234 0 CALL: error:may_bind_to_type(integer, 3 ) -2765d 243 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -2766d 211 0 CALL: prolog:$c_i_predicate(known/3, user ) -2767d 211 0 TRY_OR -2768d 228 0 CALL: prolog:ground(known/3 ) -2769d 211 0 CALL: prolog:functor(_132954, known, 3 ) -2770d 211 0 CALL: prolog:current_predicate(known, user:known(_132955,_132956,_132957) ) -2771d 211 0 CALL: prolog:$yap_strip_module(user:known(_132955,_132956,_132957), _1048354, _1048353 ) -2772d 211 0 CALL: prolog:functor(known(_132955,_132956,_132957), known, _1048352 ) -2773d 211 0 TRY_OR -2774d 230 0 CALL: prolog:$current_predicate(known, user, known(_132955,_132956,_132957), user ) -2775d 196 0 FAIL RETRY: completion:propagate_evidence(1, training ) -2776d 181 0 CALL: prolog:eraseall(rules ) -+s 0x5602af254ec0 - @0x7efdd88a3198 0 -2777d 181 0 CALL: prolog:eraseall(unpropagated_rules ) -+s 0x5602af232f80 - @0x7efdd88a3198 0 -2778d 181 0 CALL: prolog:eraseall(known_atoms ) -+s 0x5602af233030 - @0x7efdd88a3198 0 -2779d 181 0 CALL: grounder:grounder_reset -2780d 181 0 CALL: prolog:eraseall(reachable ) -+s 0x5602af2330e0 - @0x7efdd88a3198 0 -2781d 181 0 TRY_OR -2782d 226 0 CALL: prolog:==(training, test ) -2784d 181 0 CALL: logger:logger_start_timer(train_bdd_script_generation ) -2785d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation, _1048348 ) -2786d 181 0 TRY_OR -2787d 236 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation, null ) -2788d 181 0 CALL: prolog:statistics(walltime, [_132958,_132960] ) -+s 0x5602af233190 - @0x7efdd88a3198 0 -+s 0x5602af252fb0 - @0x7efdd88a3198 0 -- 0x5602af252fb0 - @0x7efdd88a3198 181 -+s 0x5602aebb37a0 - @0x7efdd88a3198 0 -+s 0x5602af2555a0 - @0x7efdd88a3198 0 -- 0x5602af233190 - @0x7efdd88a3198 181 -2789d 181 0 CALL: prolog:$walltime(_132958, _132960 ) -2790d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation, 290174 ) -2791d 181 0 CALL: logger:logger_start_timer(train_bdd_script_generation_grounding ) -2792d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_grounding, _1048348 ) -2793d 181 0 TRY_OR -2794d 236 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_grounding, null ) -2795d 181 0 CALL: prolog:statistics(walltime, [_132968,_132970] ) -2796d 181 0 CALL: prolog:$walltime(_132968, _132970 ) -2797d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_grounding, 290211 ) -2798d 181 0 CALL: print_learning:format_learning(5, d, [] ) -2799d 228 0 CALL: flags:problog_flag(verbosity_learning, _1048338 ) -2800d 228 0 CALL: gflags:flag_get(verbosity_learning, _1048338 ) -2801d 228 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_132977), _132978 ) -2802d 228 0 CALL: prolog:>=(5, 5 ) -2803d 181 0 CALL: prolog:format(d, print_learning:[] ) -2804d 181 0 CALL: prolog:flush_output(user ) -d2805d 181 0 TRY_OR -2806d 226 0 CALL: user:known(1, _1048361, _1048359 ) -2807d 226 0 TRY_OR -2808d 234 0 CALL: prolog:catch(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048357, completion:fail ) -2809d 234 0 CALL: prolog:$catch(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048357, completion:fail ) -2810d 244 0 CALL: prolog:$execute(completion:grounder_compute_reachable_atoms(alarm,1,_132988) ) -+s 0x5602af233410 - @0x7efdd88a31c8 0 -2811d 244 0 CALL: prolog:$call(completion:grounder_compute_reachable_atoms(alarm,1,_132988), 244, completion:grounder_compute_reachable_atoms(alarm,1,_132988), user ) -2812d 261 0 FAIL RETRY: prolog:$call(completion:grounder_compute_reachable_atoms(alarm,1,_132988), 244, completion:grounder_compute_reachable_atoms(alarm,1,_132988), user ) -2813d 244 0 CALL: prolog:$call(grounder_compute_reachable_atoms(alarm,1,_132988), 244, completion:grounder_compute_reachable_atoms(alarm,1,_132988), completion ) -2814d 272 0 FAIL RETRY: prolog:$call(grounder_compute_reachable_atoms(alarm,1,_132988), 244, completion:grounder_compute_reachable_atoms(alarm,1,_132988), completion ) -2815d 244 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(alarm,1,_132988), completion ) -2816d 244 0 CALL: completion:grounder_compute_reachable_atoms(alarm, 1, _132988 ) -2817d 244 0 CALL: prolog:$undefp([completion|grounder_compute_reachable_atoms(alarm,1,_132988)], error ) -2818d 244 0 CALL: prolog:yap_flag(unknown, error, fail ) -2819d 244 0 CALL: prolog:$stop_creeping(_1048301 ) -2820d 244 0 TRY_OR -2821d 285 0 CALL: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133002:_133003 ) -2822d 294 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_133005,_133006,_133007,_133008), user ) -2823d 294 0 FAIL RETRY: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133002:_133003 ) -2824d 285 0 CALL: prolog:expand_goal(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133002:_133003 ) -2825d 285 0 CALL: prolog:$expand_meta_call(completion:grounder_compute_reachable_atoms(alarm,1,_132988), [], _133002:_133003 ) -2826d 285 0 CALL: prolog:source_module(_133004 ) -2827d 285 0 CALL: prolog:$yap_strip_module(user:completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048281, _133008 ) -2828d 285 0 CALL: prolog:$expand_goals(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(alarm,1,_132988)) ) -2829d 309 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(alarm,1,_132988)) ) -2830d 309 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(alarm,1,_132988)) ) -2831d 309 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(alarm,1,_132988)) ) -2832d 285 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133015, _133016 ) -2833d 285 0 CALL: prolog:$expand_goal(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(alarm,1,_132988)) ) -2834d 285 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133020, _133021 ) -2835d 285 0 CALL: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133026:_133027 ) -2836d 319 0 CALL: prolog:_user_expand_goal(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133029:_133030 ) -2840d 319 0 FAIL RETRY: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133026:_133027 ) -2841d 285 0 CALL: prolog:$import_expansion(completion:grounder_compute_reachable_atoms(alarm,1,_132988), _133029:_133030 ) -2842d 318 0 CALL: prolog:$imported_predicate(grounder_compute_reachable_atoms(alarm,1,_132988), completion, _133030, _133029 ) -2843d 334 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(alarm,1,_132988), prolog ) -2844d 334 0 FAIL RETRY: prolog:$imported_predicate(grounder_compute_reachable_atoms(alarm,1,_132988), completion, _133030, _133029 ) -2845d 318 0 CALL: prolog:$undefined(grounder_compute_reachable_atoms(alarm,1,_132988), completion ) -2846d 318 0 CALL: prolog:$get_undefined_predicates(grounder_compute_reachable_atoms(alarm,1,_132988), completion, _133030, _133029 ) -2847d 341 0 CALL: prolog:recorded('$import', '$import'(_133032,completion,_133034,grounder_compute_reachable_atoms(alarm,1,_132988),_133036,_133037), _1048224 ) -2848d 341 0 CALL: prolog:$continue_imported(_133029, grounder, _133030, grounder_compute_reachable_atoms(alarm,1,_132988) ) -2849d 352 0 CALL: prolog:$pred_exists(grounder_compute_reachable_atoms(alarm,1,_132988), grounder ) -2850d 341 0 CALL: prolog:\=(grounder, completion ) -2851d 285 0 CALL: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), completion, [], _1048269 ) -2852d 317 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133054, _1048248 ) -2853d 317 0 CALL: prolog:functor(grounder_compute_reachable_atoms(alarm,1,_132988), _133057, _133058 ) -2854d 317 0 CALL: prolog:$meta_predicate(grounder_compute_reachable_atoms, grounder, 3, _1048249 ) -2855d 317 0 FAIL RETRY: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), completion, [], _1048269 ) -2856d 285 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133054, _133055 ) -2857d 285 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133056, _133057 ) -2858d 285 0 CALL: prolog:$end_goal_expansion(grounder_compute_reachable_atoms(alarm,1,_132988), _1048280, _1048282, completion, user, grounder, completion:grounder_compute_reachable_atoms(alarm,1,_132988) ) -2859d 285 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(alarm,1,_132988), completion, user, grounder, _1048280 ) -2860d 285 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(alarm,1,_132988), grounder ) -2861d 285 0 TRY_OR -2862d 323 0 CALL: prolog:==(grounder, completion ) -2864d 285 0 CALL: prolog:$c_built_in(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), grounder, completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048271 ) -2865d 316 0 CALL: prolog:get_value('$c_arith', true ) -2866d 285 0 CALL: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), grounder, completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048271 ) -2867d 327 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133061, _133062 ) -2868d 327 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), grounder, completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048271 ) -2869d 327 0 CALL: prolog:$compop(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _1048233, _1048234, _1048236 ) -2870d 327 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(alarm,1,_132988), grounder, completion:grounder_compute_reachable_atoms(alarm,1,_132988), _1048271 ) -2871d 327 0 CALL: prolog:$yap_strip_module(grounder:grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133064, _133065 ) -2872d 327 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(alarm,1,_132988), completion, user, grounder, _1048282 ) -2873d 327 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(alarm,1,_132988), grounder ) -2874d 327 0 TRY_OR -2875d 343 0 CALL: prolog:==(grounder, completion ) -2877d 327 0 CALL: prolog:$yap_strip_module(completion:grounder:grounder_compute_reachable_atoms(alarm,1,_132988), _133002, _133003 ) -2878d 327 0 TRY_OR -2879d 335 0 CALL: prolog:\==(completion, grounder ) -2880d 327 0 CALL: prolog:\=(grounder_compute_reachable_atoms(alarm,1,_132988), fail ) -2881d 244 0 CALL: prolog:yap_flag(unknown, _1048300, error ) -2882d 244 0 TRY_OR -2883d 282 0 CALL: prolog:==(false, true ) -2885d 244 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(alarm,1,_132988), grounder ) -2886d 244 0 CALL: grounder:grounder_compute_reachable_atoms(alarm, 1, _132988 ) -2887d 244 0 CALL: prolog:bb_put(grounder:dep_proven, false ) -+s 0x5602af259d40 - @0x7efdd88a31d8 0 -2888d 244 0 TRY_OR -2889d 267 0 CALL: grounder:tabled_meta_interpreter(alarm, 1 ) -+s 0x5602af253c00 - @0x7efdd88a31d8 0 -+s 0x5602af25aaf0 - @0x7efdd88a31d8 0 -- 0x5602af25aaf0 - @0x7efdd88a31d8 267 -+s 0x5602af2599b0 - @0x7efdd88a31d8 0 -+s 0x5602af252910 - @0x7efdd88a31d8 0 -- 0x5602af253c00 - @0x7efdd88a31d8 267 -2890d 276 0 CALL: prolog:writeln(1:alarm ) -2891d 276 0 FAIL RETRY: grounder:tabled_meta_interpreter(alarm, 1 ) -2892d 276 0 CALL: prolog:predicate_property(grounder:alarm, built_in ) -2893d 276 0 CALL: prolog:strip_module(grounder:alarm, _133078, _133079 ) -2894d 276 0 CALL: prolog:$predicate_property2(alarm, built_in, grounder ) -2895d 292 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -2896d 292 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -2897d 292 0 CALL: prolog:$pred_exists(alarm, grounder ) -2898d 292 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -2899d 276 0 CALL: prolog:$get_undefined_pred(alarm, grounder, _1048285, _1048286 ) -2900d 276 0 CALL: prolog:$get_undefined_predicates(alarm, grounder, _1048285, _1048286 ) -2901d 306 0 CALL: prolog:recorded('$import', '$import'(_133081,grounder,_133083,alarm,_133085,_133086), _1048259 ) -2902d 306 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048285, _1048286 ) -2903d 306 0 CALL: prolog:$pred_exists(alarm, user ) -2904d 306 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048285, _1048286 ) -2905d 306 0 CALL: prolog:recorded('$dialect', swi, _1048254 ) -2906d 306 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048285, _1048286 ) -2907d 276 0 CALL: prolog:$parent_module(grounder, _1048272 ) -2908d 276 0 FAIL RETRY: grounder:tabled_meta_interpreter(alarm, 1 ) -2909d 276 0 CALL: prolog:ground(alarm ) -2910d 267 0 TRY_OR -2911d 294 0 CALL: prolog:recorded(reachable, alarm, _1048289 ) -2913d 267 0 CALL: prolog:recorda(reachable, alarm, _1048291 ) -+s 0x5602af2335d0 - @0x7efdd88a31d8 0 -2914d 267 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(alarm, 1 ) -+s 0x5602af25b010 - @0x7efdd88a31e8 0 -+s 0x5602aec4d440 - @0x7efdd88a31e8 0 -- 0x5602af25b010 - @0x7efdd88a31e8 267 -2915d 276 0 CALL: problog:probabilistic_fact(_1048292, alarm, _1048293 ) -2916d 293 0 CALL: prolog:ground(alarm ) -2917d 276 0 CALL: prolog:=..(alarm, [_133075|_133076] ) -2918d 276 0 CALL: prolog:atomic_concat(problog_, alarm, _1048272 ) -2919d 276 0 CALL: lists:append([_133079], [_133081], _1048271 ) -2920d 276 0 CALL: lists:append([], [_133081], _133084 ) -2921d 276 0 CALL: prolog:=..(_1048274, [problog_alarm,_133079,_133081] ) -2922d 276 0 CALL: prolog:length([_133079,_133081], _1048273 ) -2923d 276 0 CALL: prolog:$skip_list([_133079,_133081], _1048273, _133090, _133091 ) -2924d 276 0 CALL: prolog:==([], [] ) -2925d 276 0 CALL: prolog:current_predicate(problog:problog_alarm/2 ) -2926d 276 0 CALL: prolog:$yap_strip_module(problog:problog_alarm/2, _1048268, _1048267 ) -2927d 276 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_alarm/2 ) -2928d 276 0 TRY_OR -2929d 324 0 CALL: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -2930d 333 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -2931d 324 0 TRY_OR -2933d 324 0 CALL: error:may_bind_to_type(atom, problog_alarm ) -2934d 341 0 FAIL RETRY: error:may_bind_to_type(atom, problog_alarm ) -2935d 324 0 CALL: error:may_bind_to_type(integer, 2 ) -2936d 333 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -2937d 276 0 CALL: prolog:$c_i_predicate(problog_alarm/2, problog ) -2938d 276 0 TRY_OR -2939d 318 0 CALL: prolog:ground(problog_alarm/2 ) -2940d 276 0 CALL: prolog:functor(_133098, problog_alarm, 2 ) -2941d 276 0 CALL: prolog:current_predicate(problog_alarm, problog:problog_alarm(_133099,_133100) ) -2942d 276 0 CALL: prolog:$yap_strip_module(problog:problog_alarm(_133099,_133100), _1048264, _1048263 ) -2943d 276 0 CALL: prolog:functor(problog_alarm(_133099,_133100), problog_alarm, _1048262 ) -2944d 276 0 TRY_OR -2945d 320 0 CALL: prolog:$current_predicate(problog_alarm, problog, problog_alarm(_133099,_133100), user ) -2947d 276 0 CALL: prolog:$imported_predicate(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2948d 321 0 CALL: prolog:$is_system_predicate(problog_alarm(_133099,_133100), prolog ) -2949d 321 0 FAIL RETRY: prolog:$imported_predicate(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2950d 276 0 CALL: prolog:$undefined(problog_alarm(_133099,_133100), problog ) -2951d 276 0 CALL: prolog:$get_undefined_predicates(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2952d 328 0 CALL: prolog:recorded('$import', '$import'(_133105,problog,_133107,problog_alarm(_133099,_133100),_133109,_133110), _1048237 ) -2953d 328 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2954d 328 0 CALL: prolog:$pred_exists(problog_alarm(_133099,_133100), user ) -2955d 328 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2956d 328 0 CALL: prolog:recorded('$dialect', swi, _1048232 ) -2957d 328 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133099,_133100), problog, _1048267, _1048268 ) -2958d 276 0 CALL: prolog:$parent_module(problog, _1048250 ) -2959d 276 0 FAIL RETRY: grounder:tabled_meta_interpreter_aux_ground_atom(alarm, 1 ) -2960d 267 0 CALL: prolog:current_predicate(user:myclause/3 ) -2961d 267 0 CALL: prolog:$yap_strip_module(user:myclause/3, _1048294, _1048293 ) -2962d 267 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/3 ) -2963d 267 0 TRY_OR -2964d 298 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/3 ) -2965d 307 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/3 ) -2966d 298 0 TRY_OR -2968d 298 0 CALL: error:may_bind_to_type(atom, myclause ) -2969d 315 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -2970d 298 0 CALL: error:may_bind_to_type(integer, 3 ) -2971d 307 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -2972d 267 0 CALL: prolog:$c_i_predicate(myclause/3, user ) -2973d 267 0 TRY_OR -2974d 292 0 CALL: prolog:ground(myclause/3 ) -2975d 267 0 CALL: prolog:functor(_133081, myclause, 3 ) -2976d 267 0 CALL: prolog:current_predicate(myclause, user:myclause(_133082,_133083,_133084) ) -2977d 267 0 CALL: prolog:$yap_strip_module(user:myclause(_133082,_133083,_133084), _1048290, _1048289 ) -2978d 267 0 CALL: prolog:functor(myclause(_133082,_133083,_133084), myclause, _1048288 ) -2979d 267 0 TRY_OR -2980d 294 0 CALL: prolog:$current_predicate(myclause, user, myclause(_133082,_133083,_133084), user ) -2981d 294 0 CALL: user:myclause(1, alarm, _1048301 ) -2982d 294 0 CALL: prolog:current_predicate(user:myclause/2 ) -2983d 294 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048268, _1048267 ) -2984d 294 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -2985d 294 0 TRY_OR -2986d 324 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -2987d 333 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -2988d 324 0 TRY_OR -2990d 324 0 CALL: error:may_bind_to_type(atom, myclause ) -2991d 341 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -2992d 324 0 CALL: error:may_bind_to_type(integer, 2 ) -2993d 333 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -2994d 294 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -2995d 294 0 TRY_OR -2996d 318 0 CALL: prolog:ground(myclause/2 ) -2997d 294 0 CALL: prolog:functor(_133094, myclause, 2 ) -2998d 294 0 CALL: prolog:current_predicate(myclause, user:myclause(_133095,_133096) ) -2999d 294 0 CALL: prolog:$yap_strip_module(user:myclause(_133095,_133096), _1048264, _1048263 ) -3000d 294 0 CALL: prolog:functor(myclause(_133095,_133096), myclause, _1048262 ) -3001d 294 0 TRY_OR -3002d 320 0 CALL: prolog:$current_predicate(myclause, user, myclause(_133095,_133096), user ) -3003d 320 0 CALL: user:myclause(alarm, _1048301 ) -+s 0x5602af233660 - @0x7efdd88a31e8 0 -+s 0x5602af25bea0 - @0x7efdd88a31e8 0 -- 0x5602af25bea0 - @0x7efdd88a31e8 320 -+s 0x5602af25b010 - @0x7efdd88a31e8 0 -+s 0x5602af25bea0 - @0x7efdd88a31e8 0 -+s 0x5602af2334c0 - @0x7efdd88a31e8 0 -- 0x5602af233660 - @0x7efdd88a31e8 320 -3004d 329 0 CALL: grounder:tabled_meta_interpreter(burglary, 1 ) -3005d 338 0 CALL: prolog:writeln(1:burglary ) -3006d 338 0 FAIL RETRY: grounder:tabled_meta_interpreter(burglary, 1 ) -3007d 338 0 CALL: prolog:predicate_property(grounder:burglary, built_in ) -3008d 338 0 CALL: prolog:strip_module(grounder:burglary, _133103, _133104 ) -3009d 338 0 CALL: prolog:$predicate_property2(burglary, built_in, grounder ) -3010d 354 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3011d 354 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3012d 354 0 CALL: prolog:$pred_exists(burglary, grounder ) -3013d 354 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3014d 338 0 CALL: prolog:$get_undefined_pred(burglary, grounder, _1048223, _1048224 ) -3015d 338 0 CALL: prolog:$get_undefined_predicates(burglary, grounder, _1048223, _1048224 ) -3016d 368 0 CALL: prolog:recorded('$import', '$import'(_133106,grounder,_133108,burglary,_133110,_133111), _1048197 ) -3017d 368 0 FAIL RETRY: prolog:$get_undefined_predicates(burglary, grounder, _1048223, _1048224 ) -3018d 368 0 CALL: prolog:$pred_exists(burglary, user ) -3019d 338 0 TRY_OR -3021d 338 0 CALL: prolog:$predicate_property(burglary, user, user, built_in ) -+s 0x5602af239da0 - @0x7efdd88a31f8 0 -+s 0x5602af2545f0 - @0x7efdd88a31f8 0 -- 0x5602af2545f0 - @0x7efdd88a31f8 338 -+s 0x5602af252380 - @0x7efdd88a31f8 0 -+s 0x5602af20f790 - @0x7efdd88a31f8 0 -+s 0x5602af254a00 - @0x7efdd88a31f8 0 -- 0x5602af239da0 - @0x7efdd88a31f8 338 -3022d 338 0 CALL: prolog:$is_system_predicate(burglary, user ) -3023d 338 0 FAIL RETRY: grounder:tabled_meta_interpreter(burglary, 1 ) -3024d 338 0 CALL: prolog:ground(burglary ) -3025d 329 0 TRY_OR -3026d 356 0 CALL: prolog:recorded(reachable, burglary, _1048227 ) -3028d 329 0 CALL: prolog:recorda(reachable, burglary, _1048229 ) -+s 0x5602af233820 - @0x7efdd88a31f8 0 -3029d 329 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(burglary, 1 ) -3030d 338 0 CALL: problog:probabilistic_fact(_1048230, burglary, _1048231 ) -3031d 355 0 CALL: prolog:ground(burglary ) -3032d 338 0 CALL: prolog:=..(burglary, [_133100|_133101] ) -3033d 338 0 CALL: prolog:atomic_concat(problog_, burglary, _1048210 ) -3034d 338 0 CALL: lists:append([_133104], [_133106], _1048209 ) -3035d 338 0 CALL: lists:append([], [_133106], _133109 ) -3036d 338 0 CALL: prolog:=..(_1048212, [problog_burglary,_133104,_133106] ) -3037d 338 0 CALL: prolog:length([_133104,_133106], _1048211 ) -3038d 338 0 CALL: prolog:$skip_list([_133104,_133106], _1048211, _133115, _133116 ) -3039d 338 0 CALL: prolog:==([], [] ) -3040d 338 0 CALL: prolog:current_predicate(problog:problog_burglary/2 ) -3041d 338 0 CALL: prolog:$yap_strip_module(problog:problog_burglary/2, _1048206, _1048205 ) -3042d 338 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_burglary/2 ) -3043d 338 0 TRY_OR -3044d 386 0 CALL: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -3045d 395 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -3046d 386 0 TRY_OR -3048d 386 0 CALL: error:may_bind_to_type(atom, problog_burglary ) -3049d 403 0 FAIL RETRY: error:may_bind_to_type(atom, problog_burglary ) -3050d 386 0 CALL: error:may_bind_to_type(integer, 2 ) -3051d 395 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3052d 338 0 CALL: prolog:$c_i_predicate(problog_burglary/2, problog ) -3053d 338 0 TRY_OR -3054d 380 0 CALL: prolog:ground(problog_burglary/2 ) -3055d 338 0 CALL: prolog:functor(_133123, problog_burglary, 2 ) -3056d 338 0 CALL: prolog:current_predicate(problog_burglary, problog:problog_burglary(_133124,_133125) ) -3057d 338 0 CALL: prolog:$yap_strip_module(problog:problog_burglary(_133124,_133125), _1048202, _1048201 ) -3058d 338 0 CALL: prolog:functor(problog_burglary(_133124,_133125), problog_burglary, _1048200 ) -3059d 338 0 TRY_OR -3060d 382 0 CALL: prolog:$current_predicate(problog_burglary, problog, problog_burglary(_133124,_133125), user ) -3061d 382 0 CALL: problog:problog_burglary(_133104, _133106 ) -3062d 382 0 CALL: prolog:is(_1048230, 3, -1.249826789005093 ) -3063d 329 0 CALL: prolog:bb_put(grounder:dep_proven, true ) -3064d 329 0 FAIL RETRY: user:myclause(alarm, _1048301 ) -3065d 320 0 CALL: grounder:tabled_meta_interpreter(earthquake, 1 ) -3066d 329 0 CALL: prolog:writeln(1:earthquake ) -3067d 329 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 1 ) -3068d 329 0 CALL: prolog:predicate_property(grounder:earthquake, built_in ) -3069d 329 0 CALL: prolog:strip_module(grounder:earthquake, _133103, _133104 ) -3070d 329 0 CALL: prolog:$predicate_property2(earthquake, built_in, grounder ) -3071d 345 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3072d 345 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3073d 345 0 CALL: prolog:$pred_exists(earthquake, grounder ) -3074d 345 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3075d 329 0 CALL: prolog:$get_undefined_pred(earthquake, grounder, _1048232, _1048233 ) -3076d 329 0 CALL: prolog:$get_undefined_predicates(earthquake, grounder, _1048232, _1048233 ) -3077d 359 0 CALL: prolog:recorded('$import', '$import'(_133106,grounder,_133108,earthquake,_133110,_133111), _1048206 ) -3078d 359 0 FAIL RETRY: prolog:$get_undefined_predicates(earthquake, grounder, _1048232, _1048233 ) -3079d 359 0 CALL: prolog:$pred_exists(earthquake, user ) -3080d 329 0 TRY_OR -3082d 329 0 CALL: prolog:$predicate_property(earthquake, user, user, built_in ) -3083d 329 0 CALL: prolog:$is_system_predicate(earthquake, user ) -3084d 329 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 1 ) -3085d 329 0 CALL: prolog:ground(earthquake ) -3086d 320 0 TRY_OR -3087d 347 0 CALL: prolog:recorded(reachable, earthquake, _1048236 ) -+s 0x5602af25e100 - @0x7efdd88a31f8 0 -+s 0x5602af25db70 - @0x7efdd88a31f8 0 -- 0x5602af25db70 - @0x7efdd88a31f8 347 -+s 0x5602aec70ef0 - @0x7efdd88a31f8 0 -+s 0x5602af233660 - @0x7efdd88a31f8 0 -- 0x5602af25e100 - @0x7efdd88a31f8 347 -3089d 320 0 CALL: prolog:recorda(reachable, earthquake, _1048238 ) -+s 0x5602af2339c0 - @0x7efdd88a31f8 0 -+s 0x5602af233a50 - @0x7efdd88a31f8 0 -- 0x5602aec70ef0 - @0x7efdd88a31f8 320 -3090d 320 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(earthquake, 1 ) -3091d 329 0 CALL: problog:probabilistic_fact(_1048239, earthquake, _1048240 ) -3092d 346 0 CALL: prolog:ground(earthquake ) -3093d 329 0 CALL: prolog:=..(earthquake, [_133100|_133101] ) -3094d 329 0 CALL: prolog:atomic_concat(problog_, earthquake, _1048219 ) -3095d 329 0 CALL: lists:append([_133104], [_133106], _1048218 ) -3096d 329 0 CALL: lists:append([], [_133106], _133109 ) -3097d 329 0 CALL: prolog:=..(_1048221, [problog_earthquake,_133104,_133106] ) -3098d 329 0 CALL: prolog:length([_133104,_133106], _1048220 ) -3099d 329 0 CALL: prolog:$skip_list([_133104,_133106], _1048220, _133115, _133116 ) -3100d 329 0 CALL: prolog:==([], [] ) -3101d 329 0 CALL: prolog:current_predicate(problog:problog_earthquake/2 ) -3102d 329 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake/2, _1048215, _1048214 ) -3103d 329 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3104d 329 0 TRY_OR -3105d 377 0 CALL: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3106d 386 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3107d 377 0 TRY_OR -3109d 377 0 CALL: error:may_bind_to_type(atom, problog_earthquake ) -3110d 394 0 FAIL RETRY: error:may_bind_to_type(atom, problog_earthquake ) -3111d 377 0 CALL: error:may_bind_to_type(integer, 2 ) -3112d 386 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3113d 329 0 CALL: prolog:$c_i_predicate(problog_earthquake/2, problog ) -3114d 329 0 TRY_OR -3115d 371 0 CALL: prolog:ground(problog_earthquake/2 ) -3116d 329 0 CALL: prolog:functor(_133123, problog_earthquake, 2 ) -3117d 329 0 CALL: prolog:current_predicate(problog_earthquake, problog:problog_earthquake(_133124,_133125) ) -3118d 329 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake(_133124,_133125), _1048211, _1048210 ) -3119d 329 0 CALL: prolog:functor(problog_earthquake(_133124,_133125), problog_earthquake, _1048209 ) -3120d 329 0 TRY_OR -3121d 373 0 CALL: prolog:$current_predicate(problog_earthquake, problog, problog_earthquake(_133124,_133125), user ) -3122d 373 0 CALL: problog:problog_earthquake(_133104, _133106 ) -3123d 373 0 CALL: prolog:is(_1048239, 3, -0.6596650473806767 ) -3124d 320 0 CALL: prolog:bb_put(grounder:dep_proven, true ) -3126d 294 0 CALL: prolog:$imported_predicate(myclause(_133095,_133096), user, _1048267, _1048268 ) -3127d 321 0 CALL: prolog:$is_system_predicate(myclause(_133095,_133096), prolog ) -3128d 321 0 FAIL RETRY: prolog:$imported_predicate(myclause(_133095,_133096), user, _1048267, _1048268 ) -3129d 294 0 CALL: prolog:$undefined(myclause(_133095,_133096), user ) -3131d 267 0 CALL: prolog:$imported_predicate(myclause(_133082,_133083,_133084), user, _1048293, _1048294 ) -3132d 295 0 CALL: prolog:$is_system_predicate(myclause(_133082,_133083,_133084), prolog ) -3133d 295 0 FAIL RETRY: prolog:$imported_predicate(myclause(_133082,_133083,_133084), user, _1048293, _1048294 ) -3134d 267 0 CALL: prolog:$undefined(myclause(_133082,_133083,_133084), user ) -3136d 244 0 CALL: prolog:bb_delete(grounder:dep_proven, _132988 ) -3137d 244 0 TRY_OR -3138d 258 0 CALL: prolog:==(244, 244 ) -3139d 234 0 TRY_OR -3140d 242 0 TRY_OR -3141d 250 0 CALL: prolog:==(true, true ) -3143d 181 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_grounding ) -3144d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_grounding, _1048352 ) -3145d 181 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_grounding, _1048355 ) -3146d 181 0 CALL: prolog:statistics(walltime, [_132985,_132987] ) -3147d 181 0 CALL: prolog:$walltime(_132985, _132987 ) -3148d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_grounding, null ) -3149d 181 0 TRY_OR -3150d 227 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_grounding ) -3151d 227 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_grounding, _1048341 ) -3152d 227 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, _1048342 ) -3153d 227 0 CALL: prolog:\=(null, null ) -3155d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_grounding, 1838 ) -3156d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_grounding, _1048351 ) -3157d 181 0 TRY_OR -3158d 233 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, null ) -3159d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_grounding, 1838 ) -3160d 181 0 CALL: logger:logger_start_timer(train_bdd_script_generation_completion ) -3161d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_completion, _1048356 ) -3162d 181 0 TRY_OR -3163d 228 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_completion, null ) -3164d 181 0 CALL: prolog:statistics(walltime, [_132998,_133000] ) -3165d 181 0 CALL: prolog:$walltime(_132998, _133000 ) -3166d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_completion, 292133 ) -3167d 181 0 CALL: print_learning:format_learning(5, c, [] ) -3168d 220 0 CALL: flags:problog_flag(verbosity_learning, _1048346 ) -3169d 220 0 CALL: gflags:flag_get(verbosity_learning, _1048346 ) -3170d 220 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_133007), _133008 ) -3171d 220 0 CALL: prolog:>=(5, 5 ) -3172d 181 0 CALL: prolog:format(c, print_learning:[] ) -3173d 181 0 CALL: prolog:flush_output(user ) -1:alarm -1:burglary -1:earthquake -c3174d 181 0 CALL: prolog:$current_choice_point(_1048365 ) -3175d 181 0 CALL: completion:completion(1 ) -3176d 181 0 TRY_OR -3177d 238 0 CALL: grounder:grounder_reachable_atom(_1048348 ) -3178d 238 0 CALL: prolog:recorded(reachable, _1048348, _133012 ) -+s 0x5602af233ae0 - @0x7efdd88a3198 0 -+s 0x5602af233b50 - @0x7efdd88a3198 0 -+s 0x5602af233f80 - @0x7efdd88a3198 0 -+s 0x5602af25f990 - @0x7efdd88a3198 0 -+s 0x5602af233be0 - @0x7efdd88a3198 0 -- 0x5602af233ae0 - @0x7efdd88a3198 238 -3179d 249 0 CALL: grounder:grounder_completion_for_atom(earthquake, 1, _1048349 ) -3180d 249 0 CALL: prolog:findall(_133018, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), _1048319 ) -3181d 249 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048319 ) -+s 0x5602af233c10 - @0x7efdd88a31e8 0 -+s 0x5602af25f820 - @0x7efdd88a31e8 0 -- 0x5602af25f820 - @0x7efdd88a31e8 249 -+s 0x5602af25fbc0 - @0x7efdd88a31e8 0 -+s 0x5602af254090 - @0x7efdd88a31e8 0 -- 0x5602af233c10 - @0x7efdd88a31e8 249 -3182d 273 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048319 ) -3183d 249 0 TRY_OR -3184d 280 0 CALL: error:has_type(list_or_partial_list, _1048319 ) -3185d 280 0 CALL: error:is_list_or_partial_list(_1048319 ) -3186d 280 0 CALL: prolog:$skip_list(_133035, _1048319, _133036 ) -3187d 249 0 CALL: prolog:$findall(_133018, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), [], _133036 ) -3188d 249 0 CALL: nb:nb_queue(_1048311 ) -3189d 249 0 TRY_OR -3190d 274 0 CALL: prolog:$execute(grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)) ) -3191d 274 0 CALL: prolog:$call(grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3192d 285 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3193d 274 0 CALL: prolog:$call(user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3194d 274 0 CALL: prolog:$call(user:myclause(1,earthquake,_133031), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3195d 316 0 FAIL RETRY: prolog:$call(user:myclause(1,earthquake,_133031), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3196d 274 0 CALL: prolog:$call(myclause(1,earthquake,_133031), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3197d 327 0 FAIL RETRY: prolog:$call(myclause(1,earthquake,_133031), 274, grounder: (user:myclause(1,earthquake,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3198d 274 0 CALL: prolog:$execute0(myclause(1,earthquake,_133031), user ) -3199d 274 0 CALL: user:myclause(1, earthquake, _133031 ) -3200d 274 0 CALL: prolog:current_predicate(user:myclause/2 ) -3201d 274 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048246, _1048245 ) -3202d 274 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -3203d 274 0 TRY_OR -3204d 346 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3205d 355 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3206d 346 0 TRY_OR -3208d 346 0 CALL: error:may_bind_to_type(atom, myclause ) -3209d 363 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -3210d 346 0 CALL: error:may_bind_to_type(integer, 2 ) -3211d 355 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3212d 274 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -3213d 274 0 TRY_OR -3214d 340 0 CALL: prolog:ground(myclause/2 ) -3215d 274 0 CALL: prolog:functor(_137144, myclause, 2 ) -3216d 274 0 CALL: prolog:current_predicate(myclause, user:myclause(_137145,_137146) ) -3217d 274 0 CALL: prolog:$yap_strip_module(user:myclause(_137145,_137146), _1048242, _1048241 ) -3218d 274 0 CALL: prolog:functor(myclause(_137145,_137146), myclause, _1048240 ) -3219d 274 0 TRY_OR -3220d 342 0 CALL: prolog:$current_predicate(myclause, user, myclause(_137145,_137146), user ) -3221d 342 0 CALL: user:myclause(earthquake, _133031 ) -3223d 274 0 CALL: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048245, _1048246 ) -3224d 343 0 CALL: prolog:$is_system_predicate(myclause(_137145,_137146), prolog ) -3225d 343 0 FAIL RETRY: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048245, _1048246 ) -3226d 274 0 CALL: prolog:$undefined(myclause(_137145,_137146), user ) -3228d 249 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _133036, [] ) -3229d 249 0 CALL: prolog:\==([], [] ) -3230d 249 0 FAIL RETRY: idb:recorded(reachable, _1048348, _133012 ) -3231d 249 0 CALL: grounder:grounder_completion_for_atom(burglary, 1, _1048349 ) -3232d 249 0 CALL: prolog:findall(_133018, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), _1048319 ) -3233d 249 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048319 ) -3234d 273 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048319 ) -3235d 249 0 TRY_OR -3236d 280 0 CALL: error:has_type(list_or_partial_list, _1048319 ) -3237d 280 0 CALL: error:is_list_or_partial_list(_1048319 ) -3238d 280 0 CALL: prolog:$skip_list(_133035, _1048319, _133036 ) -3239d 249 0 CALL: prolog:$findall(_133018, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), [], _133036 ) -3240d 249 0 CALL: nb:nb_queue(_1048311 ) -3241d 249 0 TRY_OR -3242d 274 0 CALL: prolog:$execute(grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)) ) -3243d 274 0 CALL: prolog:$call(grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3244d 285 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3245d 274 0 CALL: prolog:$call(user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3246d 274 0 CALL: prolog:$call(user:myclause(1,burglary,_133031), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3247d 316 0 FAIL RETRY: prolog:$call(user:myclause(1,burglary,_133031), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3248d 274 0 CALL: prolog:$call(myclause(1,burglary,_133031), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3249d 327 0 FAIL RETRY: prolog:$call(myclause(1,burglary,_133031), 274, grounder: (user:myclause(1,burglary,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3250d 274 0 CALL: prolog:$execute0(myclause(1,burglary,_133031), user ) -3251d 274 0 CALL: user:myclause(1, burglary, _133031 ) -3252d 274 0 CALL: prolog:current_predicate(user:myclause/2 ) -3253d 274 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048246, _1048245 ) -3254d 274 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -3255d 274 0 TRY_OR -3256d 346 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3257d 355 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3258d 346 0 TRY_OR -3260d 346 0 CALL: error:may_bind_to_type(atom, myclause ) -3261d 363 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -3262d 346 0 CALL: error:may_bind_to_type(integer, 2 ) -3263d 355 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3264d 274 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -3265d 274 0 TRY_OR -3266d 340 0 CALL: prolog:ground(myclause/2 ) -3267d 274 0 CALL: prolog:functor(_137144, myclause, 2 ) -3268d 274 0 CALL: prolog:current_predicate(myclause, user:myclause(_137145,_137146) ) -3269d 274 0 CALL: prolog:$yap_strip_module(user:myclause(_137145,_137146), _1048242, _1048241 ) -3270d 274 0 CALL: prolog:functor(myclause(_137145,_137146), myclause, _1048240 ) -3271d 274 0 TRY_OR -3272d 342 0 CALL: prolog:$current_predicate(myclause, user, myclause(_137145,_137146), user ) -3273d 342 0 CALL: user:myclause(burglary, _133031 ) -3275d 274 0 CALL: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048245, _1048246 ) -3276d 343 0 CALL: prolog:$is_system_predicate(myclause(_137145,_137146), prolog ) -3277d 343 0 FAIL RETRY: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048245, _1048246 ) -3278d 274 0 CALL: prolog:$undefined(myclause(_137145,_137146), user ) -3280d 249 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _133036, [] ) -3281d 249 0 CALL: prolog:\==([], [] ) -3282d 249 0 FAIL RETRY: idb:recorded(reachable, _1048348, _133012 ) -3283d 238 0 CALL: grounder:grounder_completion_for_atom(alarm, 1, _1048349 ) -3284d 238 0 CALL: prolog:findall(_133018, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), _1048330 ) -3285d 238 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048330 ) -3286d 262 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048330 ) -3287d 238 0 TRY_OR -3288d 269 0 CALL: error:has_type(list_or_partial_list, _1048330 ) -3289d 269 0 CALL: error:is_list_or_partial_list(_1048330 ) -3290d 269 0 CALL: prolog:$skip_list(_133035, _1048330, _133036 ) -3291d 238 0 CALL: prolog:$findall(_133018, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), [], _133036 ) -3292d 238 0 CALL: nb:nb_queue(_1048322 ) -3293d 238 0 TRY_OR -3294d 263 0 CALL: prolog:$execute(grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)) ) -3295d 263 0 CALL: prolog:$call(grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3296d 274 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3297d 263 0 CALL: prolog:$call(user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3298d 263 0 CALL: prolog:$call(user:myclause(1,alarm,_133031), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3299d 305 0 FAIL RETRY: prolog:$call(user:myclause(1,alarm,_133031), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), grounder ) -3300d 263 0 CALL: prolog:$call(myclause(1,alarm,_133031), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3301d 316 0 FAIL RETRY: prolog:$call(myclause(1,alarm,_133031), 263, grounder: (user:myclause(1,alarm,_133031),grounder_ground_term_with_reachable_atoms(_133031,_133018)), user ) -3302d 263 0 CALL: prolog:$execute0(myclause(1,alarm,_133031), user ) -3303d 263 0 CALL: user:myclause(1, alarm, _133031 ) -3304d 263 0 CALL: prolog:current_predicate(user:myclause/2 ) -3305d 263 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048257, _1048256 ) -3306d 263 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -3307d 263 0 TRY_OR -3308d 335 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3309d 344 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -3310d 335 0 TRY_OR -3312d 335 0 CALL: error:may_bind_to_type(atom, myclause ) -3313d 352 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -3314d 335 0 CALL: error:may_bind_to_type(integer, 2 ) -3315d 344 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3316d 263 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -3317d 263 0 TRY_OR -3318d 329 0 CALL: prolog:ground(myclause/2 ) -3319d 263 0 CALL: prolog:functor(_137144, myclause, 2 ) -3320d 263 0 CALL: prolog:current_predicate(myclause, user:myclause(_137145,_137146) ) -3321d 263 0 CALL: prolog:$yap_strip_module(user:myclause(_137145,_137146), _1048253, _1048252 ) -3322d 263 0 CALL: prolog:functor(myclause(_137145,_137146), myclause, _1048251 ) -3323d 263 0 TRY_OR -3324d 331 0 CALL: prolog:$current_predicate(myclause, user, myclause(_137145,_137146), user ) -3325d 331 0 CALL: user:myclause(alarm, _133031 ) -3326d 340 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms(burglary,_133018), 263, grounder: (user:myclause(1,alarm,burglary),grounder_ground_term_with_reachable_atoms(burglary,_133018)), grounder ) -3327d 351 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms(burglary,_133018), 263, grounder: (user:myclause(1,alarm,burglary),grounder_ground_term_with_reachable_atoms(burglary,_133018)), grounder ) -3328d 340 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms(burglary,_133018), grounder ) -3329d 340 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(burglary, _133018 ) -+s 0x5602af2545f0 - @0x7efdd88a31d8 0 -+s 0x5602af263500 - @0x7efdd88a31d8 0 -- 0x5602af263500 - @0x7efdd88a31d8 340 -+s 0x5602af263500 - @0x7efdd88a31d8 0 -+s 0x5602af263470 - @0x7efdd88a31d8 0 -+s 0x5602af233d70 - @0x7efdd88a31d8 0 -- 0x5602af2545f0 - @0x7efdd88a31d8 340 -3330d 349 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(burglary, _133018 ) -3331d 349 0 CALL: prolog:predicate_property(grounder:burglary, built_in ) -3332d 349 0 CALL: prolog:strip_module(grounder:burglary, _137153, _137154 ) -3333d 349 0 CALL: prolog:$predicate_property2(burglary, built_in, grounder ) -3334d 365 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3335d 365 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3336d 365 0 CALL: prolog:$pred_exists(burglary, grounder ) -3337d 365 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -3338d 349 0 CALL: prolog:$get_undefined_pred(burglary, grounder, _1048212, _1048213 ) -3339d 349 0 CALL: prolog:$get_undefined_predicates(burglary, grounder, _1048212, _1048213 ) -3340d 379 0 CALL: prolog:recorded('$import', '$import'(_137156,grounder,_137158,burglary,_137160,_137161), _1048186 ) -3341d 379 0 FAIL RETRY: prolog:$get_undefined_predicates(burglary, grounder, _1048212, _1048213 ) -3342d 379 0 CALL: prolog:$pred_exists(burglary, user ) -3343d 349 0 TRY_OR -3345d 349 0 CALL: prolog:$predicate_property(burglary, user, user, built_in ) -3346d 349 0 CALL: prolog:$is_system_predicate(burglary, user ) -3347d 349 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(burglary, _133018 ) -3348d 340 0 CALL: prolog:recorded(reachable, burglary, _137152 ) -3349d 340 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), '$atom'(burglary) ) -3350d 340 0 FAIL RETRY: user:myclause(alarm, _133031 ) -3351d 331 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms(earthquake,_133018), 263, grounder: (user:myclause(1,alarm,earthquake),grounder_ground_term_with_reachable_atoms(earthquake,_133018)), grounder ) -3352d 342 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms(earthquake,_133018), 263, grounder: (user:myclause(1,alarm,earthquake),grounder_ground_term_with_reachable_atoms(earthquake,_133018)), grounder ) -3353d 331 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms(earthquake,_133018), grounder ) -3354d 331 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _133018 ) -3355d 340 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _133018 ) -3356d 340 0 CALL: prolog:predicate_property(grounder:earthquake, built_in ) -3357d 340 0 CALL: prolog:strip_module(grounder:earthquake, _137153, _137154 ) -3358d 340 0 CALL: prolog:$predicate_property2(earthquake, built_in, grounder ) -3359d 356 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3360d 356 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3361d 356 0 CALL: prolog:$pred_exists(earthquake, grounder ) -3362d 356 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -3363d 340 0 CALL: prolog:$get_undefined_pred(earthquake, grounder, _1048221, _1048222 ) -3364d 340 0 CALL: prolog:$get_undefined_predicates(earthquake, grounder, _1048221, _1048222 ) -3365d 370 0 CALL: prolog:recorded('$import', '$import'(_137156,grounder,_137158,earthquake,_137160,_137161), _1048195 ) -3366d 370 0 FAIL RETRY: prolog:$get_undefined_predicates(earthquake, grounder, _1048221, _1048222 ) -3367d 370 0 CALL: prolog:$pred_exists(earthquake, user ) -3368d 340 0 TRY_OR -3370d 340 0 CALL: prolog:$predicate_property(earthquake, user, user, built_in ) -3371d 340 0 CALL: prolog:$is_system_predicate(earthquake, user ) -3372d 340 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _133018 ) -3373d 331 0 CALL: prolog:recorded(reachable, earthquake, _137152 ) -3374d 331 0 CALL: nb:nb_queue_enqueue(queue(0,['$atom'(burglary) |_133045],_133045,1), '$atom'(earthquake) ) -3376d 263 0 CALL: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048256, _1048257 ) -3377d 332 0 CALL: prolog:$is_system_predicate(myclause(_137145,_137146), prolog ) -3378d 332 0 FAIL RETRY: prolog:$imported_predicate(myclause(_137145,_137146), user, _1048256, _1048257 ) -3379d 263 0 CALL: prolog:$undefined(myclause(_137145,_137146), user ) -3381d 238 0 CALL: nb:nb_queue_close(queue(0,['$atom'(burglary),'$atom'(earthquake) |_133049],_133049,2), _133036, [] ) -3382d 238 0 CALL: prolog:\==(['$atom'(burglary),'$atom'(earthquake)], [] ) -3383d 238 0 CALL: termhandling:list_to_disjunction(['$atom'(burglary),'$atom'(earthquake)], _133015 ) -+s 0x5602af233e90 - @0x7efdd88a31c8 0 -+s 0x5602af2645a0 - @0x7efdd88a31c8 0 -- 0x5602af2645a0 - @0x7efdd88a31c8 238 -+s 0x5602af2647c0 - @0x7efdd88a31c8 0 -+s 0x5602af2648a0 - @0x7efdd88a31c8 0 -- 0x5602af2648a0 - @0x7efdd88a31c8 238 -+s 0x5602af233f00 - @0x7efdd88a31c8 0 -+s 0x5602af253c00 - @0x7efdd88a31c8 0 -- 0x5602af233e90 - @0x7efdd88a31c8 238 -3384d 238 0 CALL: termhandling:list_to_disjunction(['$atom'(earthquake)], _133052 ) -3385d 238 0 TRY_OR -3386d 246 0 CALL: prolog:$current_choice_point(_1048345 ) -3387d 246 0 CALL: termhandling:propagate_interpretation(<=>('$atom'(alarm),('$atom'(burglary);'$atom'(earthquake))), 1, _1048350 ) -+s 0x5602af234000 - @0x7efdd88a31d8 0 -+s 0x5602af263e00 - @0x7efdd88a31d8 0 -- 0x5602af263e00 - @0x7efdd88a31d8 246 -+s 0x5602af255eb0 - @0x7efdd88a31d8 0 -+s 0x5602af233c10 - @0x7efdd88a31d8 0 -+s 0x5602af2340f0 - @0x7efdd88a31d8 0 -- 0x5602af234000 - @0x7efdd88a31d8 246 -3388d 246 0 CALL: termhandling:propagate_interpretation('$atom'(alarm), 1, _133054 ) -3389d 246 0 TRY_OR -3390d 270 0 CALL: user:known(1, alarm, _133054 ) -3391d 246 0 CALL: termhandling:propagate_interpretation('$atom'(burglary);'$atom'(earthquake), 1, _133055 ) -3392d 246 0 CALL: termhandling:propagate_interpretation('$atom'(burglary), 1, _133057 ) -3393d 246 0 TRY_OR -3394d 270 0 CALL: user:known(1, burglary, _133057 ) -3396d 246 0 CALL: termhandling:propagate_interpretation('$atom'(earthquake), 1, _133058 ) -3397d 246 0 TRY_OR -3398d 262 0 CALL: user:known(1, earthquake, _133058 ) -3400d 246 0 CALL: termhandling:simplify(<=>(true,('$atom'(burglary);'$atom'(earthquake))), _1048351, _1048346 ) -+s 0x5602af264950 - @0x7efdd88a31e8 0 -+s 0x5602af255250 - @0x7efdd88a31e8 0 -- 0x5602af264950 - @0x7efdd88a31e8 246 -3401d 256 0 CALL: termhandling:simplify_intern(<=>(true,('$atom'(burglary);'$atom'(earthquake))), _1048312, _1048311 ) -+s 0x5602af234000 - @0x7efdd88a31f8 0 -+s 0x5602af263e00 - @0x7efdd88a31f8 0 -- 0x5602af263e00 - @0x7efdd88a31f8 256 -+s 0x5602af20eb00 - @0x7efdd88a31f8 0 -+s 0x5602af2341b0 - @0x7efdd88a31f8 0 -+s 0x5602af234260 - @0x7efdd88a31f8 0 -- 0x5602af234000 - @0x7efdd88a31f8 256 -3402d 256 0 CALL: termhandling:simplify_intern_implication(true, '$atom'(burglary);'$atom'(earthquake), _1048312, _1048311 ) -+s 0x5602af234320 - @0x7efdd88a31f8 0 -+s 0x5602af264db0 - @0x7efdd88a31f8 0 -- 0x5602af264db0 - @0x7efdd88a31f8 256 -+s 0x5602af2343d0 - @0x7efdd88a31f8 0 -+s 0x5602af253600 - @0x7efdd88a31f8 0 -- 0x5602af234320 - @0x7efdd88a31f8 256 -3403d 256 0 CALL: prolog:==(true, true ) -3404d 246 0 CALL: termhandling:simplify('$atom'(burglary);'$atom'(earthquake), _1048351, _133059 ) -3405d 256 0 CALL: termhandling:simplify_intern('$atom'(burglary);'$atom'(earthquake), _1048312, _1048311 ) -3406d 256 0 CALL: termhandling:simplify_intern_or('$atom'(burglary), '$atom'(earthquake), _1048312, _1048311 ) -+s 0x5602af234320 - @0x7efdd88a3208 0 -+s 0x5602af264ed0 - @0x7efdd88a3208 0 -- 0x5602af264ed0 - @0x7efdd88a3208 256 -+s 0x5602af234430 - @0x7efdd88a3208 0 -+s 0x5602af264fc0 - @0x7efdd88a3208 0 -- 0x5602af234320 - @0x7efdd88a3208 256 -3407d 275 0 FAIL RETRY: termhandling:simplify_intern_or('$atom'(burglary), '$atom'(earthquake), _1048312, _1048311 ) -3408d 275 0 FAIL RETRY: termhandling:simplify_intern_or('$atom'(burglary), '$atom'(earthquake), _1048312, _1048311 ) -3409d 256 0 CALL: termhandling:simplify_intern('$atom'(burglary), _133061, _1048303 ) -3410d 256 0 CALL: termhandling:simplify_intern('$atom'(earthquake), _133062, _1048304 ) -3411d 256 0 CALL: termhandling:or(false, false, _1048311 ) -+s 0x5602af264950 - @0x7efdd88a3208 0 -+s 0x5602af264ed0 - @0x7efdd88a3208 0 -- 0x5602af264ed0 - @0x7efdd88a3208 256 -+s 0x5602af234490 - @0x7efdd88a3208 0 -+s 0x5602af2652e0 - @0x7efdd88a3208 0 -- 0x5602af264950 - @0x7efdd88a3208 256 -3412d 256 0 CALL: prolog:==(false, true ) -3413d 256 0 FAIL RETRY: termhandling:simplify('$atom'(burglary);'$atom'(earthquake), _1048351, _133059 ) -3414d 246 0 TRY_OR -3415d 254 0 CALL: prolog:\==('$atom'(burglary);'$atom'(earthquake), false ) -3416d 254 0 CALL: completion:record_constraint_cs_check('$atom'(burglary);'$atom'(earthquake) ) -+s 0x5602af2545f0 - @0x7efdd88a3208 0 -+s 0x5602af233e90 - @0x7efdd88a3208 0 -- 0x5602af233e90 - @0x7efdd88a3208 254 -+s 0x5602af264950 - @0x7efdd88a3208 0 -+s 0x5602af234320 - @0x7efdd88a3208 0 -+s 0x5602af2654a0 - @0x7efdd88a3208 0 -- 0x5602af2545f0 - @0x7efdd88a3208 254 -3417d 254 0 CALL: prolog:recorda(rules, '$atom'(burglary);'$atom'(earthquake), _133060 ) -+s 0x5602af2655d0 - @0x7efdd88a3208 0 -3419d 181 0 TRY_OR -3420d 229 0 CALL: user:known(1, _1048355, _1048356 ) -3421d 229 0 TRY_OR -3422d 237 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(alarm),true), _1048357 ) -+s 0x5602af265760 - @0x7efdd88a31b8 0 -3424d 181 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_completion ) -3425d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_completion, _1048354 ) -3426d 181 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_completion, _1048357 ) -3427d 181 0 CALL: prolog:statistics(walltime, [_133015,_133017] ) -3428d 181 0 CALL: prolog:$walltime(_133015, _133017 ) -3429d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_completion, null ) -3430d 181 0 TRY_OR -3431d 225 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_completion ) -3432d 225 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_completion, _1048343 ) -3433d 225 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, _1048344 ) -3434d 225 0 CALL: prolog:\=(null, null ) -3436d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_completion, 1698 ) -3437d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_completion, _1048353 ) -3438d 181 0 TRY_OR -3439d 231 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, null ) -3440d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_completion, 1698 ) -3441d 181 0 CALL: grounder:grounder_reset -3442d 181 0 CALL: prolog:eraseall(reachable ) -- 0x5602af233f80 - @0x7efdd88a3198 181 -- 0x5602af25f990 - @0x7efdd88a3198 181 -- 0x5602af233be0 - @0x7efdd88a3198 181 -- 0x5602af233b50 - @0x7efdd88a3198 181 -- 0x5602af233a50 - @0x7efdd88a3198 181 -- 0x5602af233660 - @0x7efdd88a3198 181 -- 0x5602af2339c0 - @0x7efdd88a3198 181 -- 0x5602af233820 - @0x7efdd88a3198 181 -- 0x5602af2335d0 - @0x7efdd88a3198 181 -3443d 181 0 CALL: prolog:garbage_collect_atoms -3444d 181 0 CALL: prolog:$atom_gc -- 0x5602aec720a0 - @0x7efdd88a3198 181 -- 0x5602aec59490 - @0x7efdd88a3198 181 -- 0x5602aeeded50 - @0x7efdd88a3198 181 -- 0x5602aefa6d10 - @0x7efdd88a3198 181 -- 0x5602aec05c40 - @0x7efdd88a3198 181 -- 0x5602aec66000 - @0x7efdd88a3198 181 -- 0x5602aebfdb40 - @0x7efdd88a3198 181 -- 0x5602aeffcb40 - @0x7efdd88a3198 181 -- 0x5602aec47a00 - @0x7efdd88a3198 181 -- 0x5602aec06da0 - @0x7efdd88a3198 181 -- 0x5602aec429e0 - @0x7efdd88a3198 181 -- 0x5602aec41a40 - @0x7efdd88a3198 181 -- 0x5602aebdd3a0 - @0x7efdd88a3198 181 -- 0x5602af019d60 - @0x7efdd88a3198 181 -- 0x5602aec49090 - @0x7efdd88a3198 181 -- 0x5602aec4fbd0 - @0x7efdd88a3198 181 -- 0x5602aec49340 - @0x7efdd88a3198 181 -- 0x5602aec7c680 - @0x7efdd88a3198 181 -- 0x5602aec42750 - @0x7efdd88a3198 181 -- 0x5602aebdc4b0 - @0x7efdd88a3198 181 -- 0x5602aeff6a60 - @0x7efdd88a3198 181 -- 0x5602aec6df30 - @0x7efdd88a3198 181 -- 0x5602aebe2590 - @0x7efdd88a3198 181 -- 0x5602aec823a0 - @0x7efdd88a3198 181 -- 0x5602af1ac120 - @0x7efdd88a3198 181 -- 0x5602af1db290 - @0x7efdd88a3198 181 -- 0x5602aec6ade0 - @0x7efdd88a3198 181 -- 0x5602aeed9880 - @0x7efdd88a3198 181 -- 0x5602aec3ca30 - @0x7efdd88a3198 181 -- 0x5602aec503c0 - @0x7efdd88a3198 181 -- 0x5602aebfe250 - @0x7efdd88a3198 181 -- 0x5602aebe7ee0 - @0x7efdd88a3198 181 -- 0x5602aebffec0 - @0x7efdd88a3198 181 -- 0x5602aebe77b0 - @0x7efdd88a3198 181 -- 0x5602af050f70 - @0x7efdd88a3198 181 -- 0x5602aec453c0 - @0x7efdd88a3198 181 -- 0x5602aec72f00 - @0x7efdd88a3198 181 -- 0x5602aebf7660 - @0x7efdd88a3198 181 -- 0x5602aec519a0 - @0x7efdd88a3198 181 -- 0x5602aebe9e90 - @0x7efdd88a3198 181 -- 0x5602aebea420 - @0x7efdd88a3198 181 -- 0x5602aebff120 - @0x7efdd88a3198 181 -- 0x5602aebdacf0 - @0x7efdd88a3198 181 -- 0x5602aec03310 - @0x7efdd88a3198 181 -- 0x5602af04d0c0 - @0x7efdd88a3198 181 -- 0x5602aebf0100 - @0x7efdd88a3198 181 -- 0x5602aebfe360 - @0x7efdd88a3198 181 -- 0x5602aebfaf10 - @0x7efdd88a3198 181 -- 0x5602aec59b30 - @0x7efdd88a3198 181 -- 0x5602aec70b70 - @0x7efdd88a3198 181 -- 0x5602aec57d00 - @0x7efdd88a3198 181 -- 0x5602aebdab80 - @0x7efdd88a3198 181 -- 0x5602aebfc8f0 - @0x7efdd88a3198 181 -- 0x5602af08d430 - @0x7efdd88a3198 181 -- 0x5602aec3cce0 - @0x7efdd88a3198 181 -- 0x5602aec53000 - @0x7efdd88a3198 181 -- 0x5602aec5dc70 - @0x7efdd88a3198 181 -- 0x5602aebf0580 - @0x7efdd88a3198 181 -- 0x5602aec711e0 - @0x7efdd88a3198 181 -- 0x5602aec4e6f0 - @0x7efdd88a3198 181 -- 0x5602aec008b0 - @0x7efdd88a3198 181 -- 0x5602aebdd7f0 - @0x7efdd88a3198 181 -- 0x5602aebdb5f0 - @0x7efdd88a3198 181 -- 0x5602af0ef870 - @0x7efdd88a3198 181 -- 0x5602af1b8070 - @0x7efdd88a3198 181 -- 0x5602aec61d70 - @0x7efdd88a3198 181 -- 0x5602aebff040 - @0x7efdd88a3198 181 -- 0x5602aec01a60 - @0x7efdd88a3198 181 -- 0x5602aec29e80 - @0x7efdd88a3198 181 -- 0x5602aec7ae20 - @0x7efdd88a3198 181 -- 0x5602aebfa450 - @0x7efdd88a3198 181 -- 0x5602aec47320 - @0x7efdd88a3198 181 -- 0x5602aec3bae0 - @0x7efdd88a3198 181 -- 0x5602aec71110 - @0x7efdd88a3198 181 -- 0x5602aebfcda0 - @0x7efdd88a3198 181 -- 0x5602af037a30 - @0x7efdd88a3198 181 -- 0x5602aebe79a0 - @0x7efdd88a3198 181 -- 0x5602aec5ab90 - @0x7efdd88a3198 181 -- 0x5602aec4a8b0 - @0x7efdd88a3198 181 -- 0x5602af1d6290 - @0x7efdd88a3198 181 -- 0x5602aec46fc0 - @0x7efdd88a3198 181 -- 0x5602af1da390 - @0x7efdd88a3198 181 -- 0x5602af007d60 - @0x7efdd88a3198 181 -- 0x5602aeeb9da0 - @0x7efdd88a3198 181 -- 0x5602aebde870 - @0x7efdd88a3198 181 -- 0x5602aefa7a20 - @0x7efdd88a3198 181 -- 0x5602aec816d0 - @0x7efdd88a3198 181 -- 0x5602aec67f40 - @0x7efdd88a3198 181 -- 0x5602aec6c7f0 - @0x7efdd88a3198 181 -- 0x5602aec5e1d0 - @0x7efdd88a3198 181 -- 0x5602aec62600 - @0x7efdd88a3198 181 -- 0x5602aec5b860 - @0x7efdd88a3198 181 -- 0x5602aec6b320 - @0x7efdd88a3198 181 -- 0x5602aec001c0 - @0x7efdd88a3198 181 -- 0x5602aec7bbe0 - @0x7efdd88a3198 181 -- 0x5602af1bf880 - @0x7efdd88a3198 181 -- 0x5602af156390 - @0x7efdd88a3198 181 -- 0x5602aec7d010 - @0x7efdd88a3198 181 -- 0x5602aec6eaf0 - @0x7efdd88a3198 181 -- 0x5602aec798d0 - @0x7efdd88a3198 181 -- 0x5602af02cbe0 - @0x7efdd88a3198 181 -- 0x5602af042430 - @0x7efdd88a3198 181 -- 0x5602af03b560 - @0x7efdd88a3198 181 -- 0x5602aec69a00 - @0x7efdd88a3198 181 -- 0x5602aec81f10 - @0x7efdd88a3198 181 -- 0x5602aeee3bc0 - @0x7efdd88a3198 181 -- 0x5602aeff2bd0 - @0x7efdd88a3198 181 -- 0x5602aebfbc50 - @0x7efdd88a3198 181 -- 0x5602aec2a2b0 - @0x7efdd88a3198 181 -- 0x5602aebed730 - @0x7efdd88a3198 181 -- 0x5602aec4c4f0 - @0x7efdd88a3198 181 -- 0x5602aec59130 - @0x7efdd88a3198 181 -- 0x5602aec5f260 - @0x7efdd88a3198 181 -- 0x5602aec7d710 - @0x7efdd88a3198 181 -- 0x5602af1cb050 - @0x7efdd88a3198 181 -- 0x5602aec59dd0 - @0x7efdd88a3198 181 -- 0x5602af0071f0 - @0x7efdd88a3198 181 -- 0x5602af02a570 - @0x7efdd88a3198 181 -- 0x5602aec7ad50 - @0x7efdd88a3198 181 -- 0x5602aec7d8d0 - @0x7efdd88a3198 181 -- 0x5602aec63b40 - @0x7efdd88a3198 181 -- 0x5602af047a30 - @0x7efdd88a3198 181 -- 0x5602aeb40220 - @0x7efdd88a3198 181 -- 0x5602aefa12f0 - @0x7efdd88a3198 181 -- 0x5602aec26030 - @0x7efdd88a3198 181 -- 0x5602aef0d560 - @0x7efdd88a3198 181 -- 0x5602af037940 - @0x7efdd88a3198 181 -- 0x5602aec4f920 - @0x7efdd88a3198 181 -- 0x5602aec68010 - @0x7efdd88a3198 181 -- 0x5602af011b30 - @0x7efdd88a3198 181 -- 0x5602aef1c520 - @0x7efdd88a3198 181 -- 0x5602af15b770 - @0x7efdd88a3198 181 -- 0x5602aec070f0 - @0x7efdd88a3198 181 -- 0x5602aeecbe50 - @0x7efdd88a3198 181 -- 0x5602af007d90 - @0x7efdd88a3198 181 -- 0x5602aebf2300 - @0x7efdd88a3198 181 -- 0x5602aebe9360 - @0x7efdd88a3198 181 -- 0x5602aeea69f0 - @0x7efdd88a3198 181 -- 0x5602aec02d60 - @0x7efdd88a3198 181 -- 0x5602af1e43a0 - @0x7efdd88a3198 181 -- 0x5602af1cd6a0 - @0x7efdd88a3198 181 -- 0x5602af04d0f0 - @0x7efdd88a3198 181 -- 0x5602aec626d0 - @0x7efdd88a3198 181 -- 0x5602aebe2bb0 - @0x7efdd88a3198 181 -- 0x5602aec616a0 - @0x7efdd88a3198 181 -- 0x5602aeffa350 - @0x7efdd88a3198 181 -- 0x5602af1d5fb0 - @0x7efdd88a3198 181 -- 0x5602aec7eef0 - @0x7efdd88a3198 181 -- 0x5602af0c99f0 - @0x7efdd88a3198 181 -- 0x5602aec43100 - @0x7efdd88a3198 181 -- 0x5602aebb3a70 - @0x7efdd88a3198 181 -- 0x5602aec4d730 - @0x7efdd88a3198 181 -- 0x5602aebf2b20 - @0x7efdd88a3198 181 -- 0x5602aec4bf70 - @0x7efdd88a3198 181 -- 0x5602aec7a3f0 - @0x7efdd88a3198 181 -- 0x5602aec5ba40 - @0x7efdd88a3198 181 -- 0x5602af084290 - @0x7efdd88a3198 181 -- 0x5602aebec1b0 - @0x7efdd88a3198 181 -- 0x5602aec77980 - @0x7efdd88a3198 181 -- 0x5602aec24d80 - @0x7efdd88a3198 181 -- 0x5602aebe4250 - @0x7efdd88a3198 181 -- 0x5602af09eef0 - @0x7efdd88a3198 181 -- 0x5602af055760 - @0x7efdd88a3198 181 -- 0x5602af01ac60 - @0x7efdd88a3198 181 -- 0x5602aec60460 - @0x7efdd88a3198 181 -- 0x5602af01b2e0 - @0x7efdd88a3198 181 -- 0x5602aec3d3e0 - @0x7efdd88a3198 181 -- 0x5602aec8d8d0 - @0x7efdd88a3198 181 -- 0x5602af02a540 - @0x7efdd88a3198 181 -- 0x5602aec4d640 - @0x7efdd88a3198 181 -- 0x5602aeedb080 - @0x7efdd88a3198 181 -- 0x5602af1b62b0 - @0x7efdd88a3198 181 -- 0x5602aef37030 - @0x7efdd88a3198 181 -- 0x5602aec5a810 - @0x7efdd88a3198 181 -- 0x5602aec00e70 - @0x7efdd88a3198 181 -- 0x5602af046540 - @0x7efdd88a3198 181 -- 0x5602aeff6750 - @0x7efdd88a3198 181 -- 0x5602af027540 - @0x7efdd88a3198 181 -- 0x5602aec4c5c0 - @0x7efdd88a3198 181 -- 0x5602aec5dd40 - @0x7efdd88a3198 181 -- 0x5602aeec2c70 - @0x7efdd88a3198 181 -- 0x5602aebfc1b0 - @0x7efdd88a3198 181 -- 0x5602aebf5620 - @0x7efdd88a3198 181 -- 0x5602af015300 - @0x7efdd88a3198 181 -- 0x5602aec511f0 - @0x7efdd88a3198 181 -- 0x5602aec6f2e0 - @0x7efdd88a3198 181 -- 0x5602aefce530 - @0x7efdd88a3198 181 -- 0x5602aec75c70 - @0x7efdd88a3198 181 -- 0x5602af024ff0 - @0x7efdd88a3198 181 -- 0x5602aec71dd0 - @0x7efdd88a3198 181 -- 0x5602aec46870 - @0x7efdd88a3198 181 -- 0x5602aebdc250 - @0x7efdd88a3198 181 -- 0x5602aec51550 - @0x7efdd88a3198 181 -- 0x5602aec78f40 - @0x7efdd88a3198 181 -- 0x5602aeee5ce0 - @0x7efdd88a3198 181 -- 0x5602aebe2380 - @0x7efdd88a3198 181 -- 0x5602aeef7c70 - @0x7efdd88a3198 181 -- 0x5602aec73ec0 - @0x7efdd88a3198 181 -- 0x5602aec4ca90 - @0x7efdd88a3198 181 -- 0x5602aebdef60 - @0x7efdd88a3198 181 -- 0x5602aeebe370 - @0x7efdd88a3198 181 -- 0x5602aec775c0 - @0x7efdd88a3198 181 -- 0x5602aebfaec0 - @0x7efdd88a3198 181 -- 0x5602aec2ad90 - @0x7efdd88a3198 181 -- 0x5602aebfddf0 - @0x7efdd88a3198 181 -- 0x5602aec7dbe0 - @0x7efdd88a3198 181 -- 0x5602aebdb160 - @0x7efdd88a3198 181 -- 0x5602aef7c0d0 - @0x7efdd88a3198 181 -- 0x5602aec01490 - @0x7efdd88a3198 181 -- 0x5602aec45560 - @0x7efdd88a3198 181 -- 0x5602aebe4400 - @0x7efdd88a3198 181 -- 0x5602aec71870 - @0x7efdd88a3198 181 -- 0x5602aebe8c00 - @0x7efdd88a3198 181 -- 0x5602aebf82f0 - @0x7efdd88a3198 181 -- 0x5602af01ad80 - @0x7efdd88a3198 181 -- 0x5602aec3e870 - @0x7efdd88a3198 181 -- 0x5602aec54fe0 - @0x7efdd88a3198 181 -- 0x5602aec5de50 - @0x7efdd88a3198 181 -- 0x5602aec41ed0 - @0x7efdd88a3198 181 -- 0x5602aebf2a70 - @0x7efdd88a3198 181 -- 0x5602af159f00 - @0x7efdd88a3198 181 -- 0x5602aebad560 - @0x7efdd88a3198 181 -- 0x5602aec673d0 - @0x7efdd88a3198 181 -- 0x5602aefa1320 - @0x7efdd88a3198 181 -- 0x5602aec3c220 - @0x7efdd88a3198 181 -- 0x5602aebe47a0 - @0x7efdd88a3198 181 -- 0x5602af03dc20 - @0x7efdd88a3198 181 -- 0x5602aec69480 - @0x7efdd88a3198 181 -- 0x5602aec6d000 - @0x7efdd88a3198 181 -- 0x5602aeff4030 - @0x7efdd88a3198 181 -- 0x5602aebea5e0 - @0x7efdd88a3198 181 -- 0x5602aec4afb0 - @0x7efdd88a3198 181 -- 0x5602aec01e60 - @0x7efdd88a3198 181 -- 0x5602aefedff0 - @0x7efdd88a3198 181 -- 0x5602aec4d570 - @0x7efdd88a3198 181 -- 0x5602aebda380 - @0x7efdd88a3198 181 -- 0x5602af0099f0 - @0x7efdd88a3198 181 -- 0x5602aec64d40 - @0x7efdd88a3198 181 -- 0x5602aec49410 - @0x7efdd88a3198 181 -- 0x5602aec4dff0 - @0x7efdd88a3198 181 -- 0x5602aec709d0 - @0x7efdd88a3198 181 -- 0x5602aeedad90 - @0x7efdd88a3198 181 -- 0x5602aef1bf90 - @0x7efdd88a3198 181 -- 0x5602af009c80 - @0x7efdd88a3198 181 -- 0x5602aec68d80 - @0x7efdd88a3198 181 -- 0x5602af06b180 - @0x7efdd88a3198 181 -- 0x5602aebcbe00 - @0x7efdd88a3198 181 -- 0x5602aeef7c90 - @0x7efdd88a3198 181 -- 0x5602aebeaa90 - @0x7efdd88a3198 181 -- 0x5602aec703f0 - @0x7efdd88a3198 181 -- 0x5602aec7c230 - @0x7efdd88a3198 181 -- 0x5602aec533a0 - @0x7efdd88a3198 181 -- 0x5602aeec6410 - @0x7efdd88a3198 181 -- 0x5602aebfbc90 - @0x7efdd88a3198 181 -- 0x5602aec62ff0 - @0x7efdd88a3198 181 -- 0x5602aec66b30 - @0x7efdd88a3198 181 -- 0x5602aec737e0 - @0x7efdd88a3198 181 -- 0x5602af129df0 - @0x7efdd88a3198 181 -- 0x5602aebf4030 - @0x7efdd88a3198 181 -- 0x5602af057740 - @0x7efdd88a3198 181 -- 0x5602aec51030 - @0x7efdd88a3198 181 -- 0x5602aec78130 - @0x7efdd88a3198 181 -- 0x5602af05f1d0 - @0x7efdd88a3198 181 -- 0x5602aec49e90 - @0x7efdd88a3198 181 -- 0x5602aec69620 - @0x7efdd88a3198 181 -- 0x5602aebf0b50 - @0x7efdd88a3198 181 -- 0x5602aebde540 - @0x7efdd88a3198 181 -- 0x5602aebf4890 - @0x7efdd88a3198 181 -- 0x5602af1da360 - @0x7efdd88a3198 181 -- 0x5602aebf0850 - @0x7efdd88a3198 181 -- 0x5602aec5c550 - @0x7efdd88a3198 181 -- 0x5602aec57f70 - @0x7efdd88a3198 181 -- 0x5602af049ca0 - @0x7efdd88a3198 181 -- 0x5602aebfa2d0 - @0x7efdd88a3198 181 -- 0x5602af0163f0 - @0x7efdd88a3198 181 -- 0x5602aec774f0 - @0x7efdd88a3198 181 -- 0x5602aebe7c70 - @0x7efdd88a3198 181 -- 0x5602aebe17b0 - @0x7efdd88a3198 181 -- 0x5602af01b170 - @0x7efdd88a3198 181 -- 0x5602aebe5cc0 - @0x7efdd88a3198 181 -- 0x5602af1e0900 - @0x7efdd88a3198 181 -- 0x5602aec612e0 - @0x7efdd88a3198 181 -- 0x5602aec52c80 - @0x7efdd88a3198 181 -- 0x5602aebeaff0 - @0x7efdd88a3198 181 -- 0x5602aec75ad0 - @0x7efdd88a3198 181 -- 0x5602aebe6eb0 - @0x7efdd88a3198 181 -- 0x5602aec4fca0 - @0x7efdd88a3198 181 -- 0x5602af1d3740 - @0x7efdd88a3198 181 -- 0x5602aec53c60 - @0x7efdd88a3198 181 -- 0x5602aebffdd0 - @0x7efdd88a3198 181 -- 0x5602aebfa780 - @0x7efdd88a3198 181 -- 0x5602aec04e20 - @0x7efdd88a3198 181 -- 0x5602af01b0e0 - @0x7efdd88a3198 181 -- 0x5602aeffcca0 - @0x7efdd88a3198 181 -- 0x5602aeec95f0 - @0x7efdd88a3198 181 -- 0x5602af06dd50 - @0x7efdd88a3198 181 -- 0x5602af16a310 - @0x7efdd88a3198 181 -- 0x5602aef00670 - @0x7efdd88a3198 181 -- 0x5602aec64640 - @0x7efdd88a3198 181 -- 0x5602af02cbb0 - @0x7efdd88a3198 181 -- 0x5602af02aeb0 - @0x7efdd88a3198 181 -- 0x5602aec5bb10 - @0x7efdd88a3198 181 -- 0x5602aec488b0 - @0x7efdd88a3198 181 -- 0x5602aec6a230 - @0x7efdd88a3198 181 -- 0x5602af000f40 - @0x7efdd88a3198 181 -- 0x5602aec56870 - @0x7efdd88a3198 181 -- 0x5602af05bf90 - @0x7efdd88a3198 181 -- 0x5602af00fed0 - @0x7efdd88a3198 181 -- 0x5602aec45630 - @0x7efdd88a3198 181 -- 0x5602aec7e180 - @0x7efdd88a3198 181 -- 0x5602aec62ad0 - @0x7efdd88a3198 181 -- 0x5602aec56940 - @0x7efdd88a3198 181 -- 0x5602aeff61f0 - @0x7efdd88a3198 181 -- 0x5602aefd4d70 - @0x7efdd88a3198 181 -- 0x5602af00ff60 - @0x7efdd88a3198 181 -- 0x5602aebdac30 - @0x7efdd88a3198 181 -- 0x5602aec60b60 - @0x7efdd88a3198 181 -- 0x5602aec66a60 - @0x7efdd88a3198 181 -- 0x5602aec68ab0 - @0x7efdd88a3198 181 -- 0x5602af19e9f0 - @0x7efdd88a3198 181 -- 0x5602aec49610 - @0x7efdd88a3198 181 -- 0x5602aebea820 - @0x7efdd88a3198 181 -- 0x5602aec7def0 - @0x7efdd88a3198 181 -- 0x5602aebea330 - @0x7efdd88a3198 181 -- 0x5602aec02160 - @0x7efdd88a3198 181 -- 0x5602aeee8400 - @0x7efdd88a3198 181 -- 0x5602aec4ba10 - @0x7efdd88a3198 181 -- 0x5602aec82dc0 - @0x7efdd88a3198 181 -- 0x5602aeff2090 - @0x7efdd88a3198 181 -- 0x5602aebf65c0 - @0x7efdd88a3198 181 -- 0x5602af081920 - @0x7efdd88a3198 181 -- 0x5602aec52930 - @0x7efdd88a3198 181 -- 0x5602aec4e550 - @0x7efdd88a3198 181 -- 0x5602aebfed80 - @0x7efdd88a3198 181 -- 0x5602af016420 - @0x7efdd88a3198 181 -- 0x5602aeea2310 - @0x7efdd88a3198 181 -- 0x5602aeff5ee0 - @0x7efdd88a3198 181 -- 0x5602aebf07e0 - @0x7efdd88a3198 181 -- 0x5602af039790 - @0x7efdd88a3198 181 -- 0x5602aec868e0 - @0x7efdd88a3198 181 -- 0x5602aec5f800 - @0x7efdd88a3198 181 -- 0x5602aec55900 - @0x7efdd88a3198 181 -- 0x5602aec7e630 - @0x7efdd88a3198 181 -- 0x5602aec4b850 - @0x7efdd88a3198 181 -- 0x5602af067ad0 - @0x7efdd88a3198 181 -- 0x5602af01b1d0 - @0x7efdd88a3198 181 -- 0x5602aec29d00 - @0x7efdd88a3198 181 -- 0x5602af1db4f0 - @0x7efdd88a3198 181 -- 0x5602af050640 - @0x7efdd88a3198 181 -- 0x5602aec82f80 - @0x7efdd88a3198 181 -- 0x5602aeec2690 - @0x7efdd88a3198 181 -- 0x5602aec62e30 - @0x7efdd88a3198 181 -- 0x5602aec248b0 - @0x7efdd88a3198 181 -- 0x5602af01ac90 - @0x7efdd88a3198 181 -- 0x5602aec77330 - @0x7efdd88a3198 181 -- 0x5602aef37010 - @0x7efdd88a3198 181 -- 0x5602aebde230 - @0x7efdd88a3198 181 -- 0x5602af042620 - @0x7efdd88a3198 181 -- 0x5602aeffcbe0 - @0x7efdd88a3198 181 -- 0x5602aec6f210 - @0x7efdd88a3198 181 -- 0x5602af0367f0 - @0x7efdd88a3198 181 -- 0x5602af1db320 - @0x7efdd88a3198 181 -- 0x5602aec839e0 - @0x7efdd88a3198 181 -- 0x5602aec42070 - @0x7efdd88a3198 181 -- 0x5602af01ae40 - @0x7efdd88a3198 181 -- 0x5602aebff180 - @0x7efdd88a3198 181 -- 0x5602af1cb240 - @0x7efdd88a3198 181 -- 0x5602aebdd840 - @0x7efdd88a3198 181 -- 0x5602aebd9730 - @0x7efdd88a3198 181 -- 0x5602aebeb5a0 - @0x7efdd88a3198 181 -- 0x5602af0253e0 - @0x7efdd88a3198 181 -- 0x5602aec49f60 - @0x7efdd88a3198 181 -- 0x5602aebdfed0 - @0x7efdd88a3198 181 -- 0x5602aebddfa0 - @0x7efdd88a3198 181 -- 0x5602af009cb0 - @0x7efdd88a3198 181 -- 0x5602af1bf840 - @0x7efdd88a3198 181 -- 0x5602aec045e0 - @0x7efdd88a3198 181 -- 0x5602aec29860 - @0x7efdd88a3198 181 -- 0x5602aebe8140 - @0x7efdd88a3198 181 -- 0x5602aec428f0 - @0x7efdd88a3198 181 -- 0x5602aec523e0 - @0x7efdd88a3198 181 -- 0x5602aec27ef0 - @0x7efdd88a3198 181 -- 0x5602aec64c70 - @0x7efdd88a3198 181 -- 0x5602aef1c0a0 - @0x7efdd88a3198 181 -- 0x5602aec5c910 - @0x7efdd88a3198 181 -- 0x5602aec4a640 - @0x7efdd88a3198 181 -- 0x5602aebefd40 - @0x7efdd88a3198 181 -- 0x5602aec6a070 - @0x7efdd88a3198 181 -- 0x5602aec69200 - @0x7efdd88a3198 181 -- 0x5602aec02670 - @0x7efdd88a3198 181 -- 0x5602aec62260 - @0x7efdd88a3198 181 -- 0x5602af039080 - @0x7efdd88a3198 181 -- 0x5602aef04f30 - @0x7efdd88a3198 181 -- 0x5602aec5cf40 - @0x7efdd88a3198 181 -- 0x5602aebe1b10 - @0x7efdd88a3198 181 -- 0x5602aebda120 - @0x7efdd88a3198 181 -- 0x5602aec74530 - @0x7efdd88a3198 181 -- 0x5602aebef0f0 - @0x7efdd88a3198 181 -- 0x5602aec6bf40 - @0x7efdd88a3198 181 -- 0x5602af01b020 - @0x7efdd88a3198 181 -- 0x5602aeff67e0 - @0x7efdd88a3198 181 -- 0x5602aebec2a0 - @0x7efdd88a3198 181 -- 0x5602aebe9390 - @0x7efdd88a3198 181 -- 0x5602af037970 - @0x7efdd88a3198 181 -- 0x5602aec64fb0 - @0x7efdd88a3198 181 -- 0x5602aec48010 - @0x7efdd88a3198 181 -- 0x5602aebf34c0 - @0x7efdd88a3198 181 -- 0x5602aeff2aa0 - @0x7efdd88a3198 181 -- 0x5602aec81510 - @0x7efdd88a3198 181 -- 0x5602aebebff0 - @0x7efdd88a3198 181 -- 0x5602aef8c930 - @0x7efdd88a3198 181 -- 0x5602aebdc8b0 - @0x7efdd88a3198 181 -- 0x5602aec46940 - @0x7efdd88a3198 181 -- 0x5602aec4e620 - @0x7efdd88a3198 181 -- 0x5602aec5f190 - @0x7efdd88a3198 181 -- 0x5602af1db4c0 - @0x7efdd88a3198 181 -- 0x5602aec05ed0 - @0x7efdd88a3198 181 -- 0x5602aec4de50 - @0x7efdd88a3198 181 -- 0x5602aeff9f60 - @0x7efdd88a3198 181 -- 0x5602af1d6010 - @0x7efdd88a3198 181 -- 0x5602aec473f0 - @0x7efdd88a3198 181 -- 0x5602aec283b0 - @0x7efdd88a3198 181 -- 0x5602af19ef70 - @0x7efdd88a3198 181 -- 0x5602aebffab0 - @0x7efdd88a3198 181 -- 0x5602aec5f8d0 - @0x7efdd88a3198 181 -- 0x5602aec58940 - @0x7efdd88a3198 181 -- 0x5602aebedf50 - @0x7efdd88a3198 181 -- 0x5602aec4b150 - @0x7efdd88a3198 181 -- 0x5602af1cd700 - @0x7efdd88a3198 181 -- 0x5602aec057c0 - @0x7efdd88a3198 181 -- 0x5602af037910 - @0x7efdd88a3198 181 -- 0x5602aefeb5b0 - @0x7efdd88a3198 181 -- 0x5602aec7c320 - @0x7efdd88a3198 181 -- 0x5602aeff4090 - @0x7efdd88a3198 181 -- 0x5602af0168b0 - @0x7efdd88a3198 181 -- 0x5602aebea090 - @0x7efdd88a3198 181 -- 0x5602aec03140 - @0x7efdd88a3198 181 -- 0x5602aebda190 - @0x7efdd88a3198 181 -- 0x5602af083710 - @0x7efdd88a3198 181 -- 0x5602aec3b740 - @0x7efdd88a3198 181 -- 0x5602af03dbf0 - @0x7efdd88a3198 181 -- 0x5602aebeedf0 - @0x7efdd88a3198 181 -- 0x5602af1cb020 - @0x7efdd88a3198 181 -- 0x5602aec54740 - @0x7efdd88a3198 181 -- 0x5602aeeb31e0 - @0x7efdd88a3198 181 -- 0x5602aec52e20 - @0x7efdd88a3198 181 -- 0x5602aec4cb60 - @0x7efdd88a3198 181 -- 0x5602aec73460 - @0x7efdd88a3198 181 -- 0x5602aec067d0 - @0x7efdd88a3198 181 -- 0x5602aec4ed20 - @0x7efdd88a3198 181 -- 0x5602aec7ed50 - @0x7efdd88a3198 181 -- 0x5602aec7f7d0 - @0x7efdd88a3198 181 -- 0x5602aec81220 - @0x7efdd88a3198 181 -- 0x5602aee75c10 - @0x7efdd88a3198 181 -- 0x5602aec817a0 - @0x7efdd88a3198 181 -- 0x5602aec6b250 - @0x7efdd88a3198 181 -- 0x5602aec4dcb0 - @0x7efdd88a3198 181 -- 0x5602aec02fd0 - @0x7efdd88a3198 181 -- 0x5602af053ee0 - @0x7efdd88a3198 181 -- 0x5602aec2a7d0 - @0x7efdd88a3198 181 -- 0x5602aec5d660 - @0x7efdd88a3198 181 -- 0x5602aec7a6a0 - @0x7efdd88a3198 181 -- 0x5602aec3ba10 - @0x7efdd88a3198 181 -- 0x5602aefd56f0 - @0x7efdd88a3198 181 -- 0x5602aec3c5c0 - @0x7efdd88a3198 181 -- 0x5602aec7c160 - @0x7efdd88a3198 181 -- 0x5602aebf7de0 - @0x7efdd88a3198 181 -- 0x5602aefebb30 - @0x7efdd88a3198 181 -- 0x5602aebdcc80 - @0x7efdd88a3198 181 -- 0x5602aef27b40 - @0x7efdd88a3198 181 -- 0x5602aec3e5a0 - @0x7efdd88a3198 181 -- 0x5602aec52ae0 - @0x7efdd88a3198 181 -- 0x5602aebf0930 - @0x7efdd88a3198 181 -- 0x5602aec48620 - @0x7efdd88a3198 181 -- 0x5602aec20b00 - @0x7efdd88a3198 181 -- 0x5602af04f050 - @0x7efdd88a3198 181 -- 0x5602aef0ecc0 - @0x7efdd88a3198 181 -- 0x5602af0665a0 - @0x7efdd88a3198 181 -- 0x5602aebfa120 - @0x7efdd88a3198 181 -- 0x5602af01b050 - @0x7efdd88a3198 181 -- 0x5602aec40eb0 - @0x7efdd88a3198 181 -- 0x5602af053f10 - @0x7efdd88a3198 181 -- 0x5602af1d3990 - @0x7efdd88a3198 181 -- 0x5602af00ff00 - @0x7efdd88a3198 181 -- 0x5602aec26570 - @0x7efdd88a3198 181 -- 0x5602aebd9d60 - @0x7efdd88a3198 181 -- 0x5602af158d80 - @0x7efdd88a3198 181 -- 0x5602af1e0930 - @0x7efdd88a3198 181 -- 0x5602af050140 - @0x7efdd88a3198 181 -- 0x5602aef27b60 - @0x7efdd88a3198 181 -- 0x5602aeeeb1f0 - @0x7efdd88a3198 181 -- 0x5602aec4e350 - @0x7efdd88a3198 181 -- 0x5602aebf5f40 - @0x7efdd88a3198 181 -- 0x5602aec57b40 - @0x7efdd88a3198 181 -- 0x5602af057950 - @0x7efdd88a3198 181 -- 0x5602af031e10 - @0x7efdd88a3198 181 -- 0x5602aec3d580 - @0x7efdd88a3198 181 -- 0x5602aec53700 - @0x7efdd88a3198 181 -- 0x5602aee8cc80 - @0x7efdd88a3198 181 -- 0x5602aec567a0 - @0x7efdd88a3198 181 -- 0x5602af045c10 - @0x7efdd88a3198 181 -- 0x5602aec8e8c0 - @0x7efdd88a3198 181 -- 0x5602aebe2cc0 - @0x7efdd88a3198 181 -- 0x5602aec7bda0 - @0x7efdd88a3198 181 -- 0x5602aec5fdd0 - @0x7efdd88a3198 181 -- 0x5602aec3dbb0 - @0x7efdd88a3198 181 -- 0x5602aebe6350 - @0x7efdd88a3198 181 -- 0x5602aefd4bd0 - @0x7efdd88a3198 181 -- 0x5602aec43eb0 - @0x7efdd88a3198 181 -- 0x5602af1e0b40 - @0x7efdd88a3198 181 -- 0x5602aefd4dd0 - @0x7efdd88a3198 181 -- 0x5602af1b80a0 - @0x7efdd88a3198 181 -- 0x5602aec5b270 - @0x7efdd88a3198 181 -- 0x5602aeeb5220 - @0x7efdd88a3198 181 -- 0x5602aebfc200 - @0x7efdd88a3198 181 -- 0x5602aeff6b20 - @0x7efdd88a3198 181 -- 0x5602aec212f0 - @0x7efdd88a3198 181 -- 0x5602aec551c0 - @0x7efdd88a3198 181 -- 0x5602aec725a0 - @0x7efdd88a3198 181 -- 0x5602aebf0150 - @0x7efdd88a3198 181 -- 0x5602aeedfd80 - @0x7efdd88a3198 181 -- 0x5602aec78d60 - @0x7efdd88a3198 181 -- 0x5602aef01ec0 - @0x7efdd88a3198 181 -- 0x5602aec517e0 - @0x7efdd88a3198 181 -- 0x5602af004a50 - @0x7efdd88a3198 181 -- 0x5602af04e5e0 - @0x7efdd88a3198 181 -- 0x5602aec6fdb0 - @0x7efdd88a3198 181 -- 0x5602aebdbbd0 - @0x7efdd88a3198 181 -- 0x5602aeffcc10 - @0x7efdd88a3198 181 -- 0x5602aec27a90 - @0x7efdd88a3198 181 -- 0x5602aebdede0 - @0x7efdd88a3198 181 -- 0x5602aebe5950 - @0x7efdd88a3198 181 -- 0x5602aec7b5f0 - @0x7efdd88a3198 181 -- 0x5602aef9f2c0 - @0x7efdd88a3198 181 -- 0x5602aec4d370 - @0x7efdd88a3198 181 -- 0x5602af014de0 - @0x7efdd88a3198 181 -- 0x5602aec44dd0 - @0x7efdd88a3198 181 -- 0x5602aec05d00 - @0x7efdd88a3198 181 -- 0x5602aeff6af0 - @0x7efdd88a3198 181 -- 0x5602aec43030 - @0x7efdd88a3198 181 -- 0x5602af03bf50 - @0x7efdd88a3198 181 -- 0x5602aec5ec50 - @0x7efdd88a3198 181 -- 0x5602aec7ee20 - @0x7efdd88a3198 181 -- 0x5602aebe7610 - @0x7efdd88a3198 181 -- 0x5602aebeb940 - @0x7efdd88a3198 181 -- 0x5602aebf7520 - @0x7efdd88a3198 181 -- 0x5602aec05bf0 - @0x7efdd88a3198 181 -- 0x5602aec66700 - @0x7efdd88a3198 181 -- 0x5602aec65730 - @0x7efdd88a3198 181 -- 0x5602aeedd2a0 - @0x7efdd88a3198 181 -- 0x5602af16c5d0 - @0x7efdd88a3198 181 -- 0x5602aeefa420 - @0x7efdd88a3198 181 -- 0x5602aec40de0 - @0x7efdd88a3198 181 -- 0x5602aeebd140 - @0x7efdd88a3198 181 -- 0x5602af189b50 - @0x7efdd88a3198 181 -- 0x5602af1d6440 - @0x7efdd88a3198 181 -- 0x5602aec513b0 - @0x7efdd88a3198 181 -- 0x5602aec74130 - @0x7efdd88a3198 181 -- 0x5602af1b61c0 - @0x7efdd88a3198 181 -- 0x5602aebf3320 - @0x7efdd88a3198 181 -- 0x5602aec6ef40 - @0x7efdd88a3198 181 -- 0x5602aec58870 - @0x7efdd88a3198 181 -- 0x5602af14ba40 - @0x7efdd88a3198 181 -- 0x5602aec00340 - @0x7efdd88a3198 181 -- 0x5602aec5d8f0 - @0x7efdd88a3198 181 -- 0x5602af04b4c0 - @0x7efdd88a3198 181 -- 0x5602aec460c0 - @0x7efdd88a3198 181 -- 0x5602aebae370 - @0x7efdd88a3198 181 -- 0x5602af066570 - @0x7efdd88a3198 181 -- 0x5602af01af30 - @0x7efdd88a3198 181 -- 0x5602aec24db0 - @0x7efdd88a3198 181 -- 0x5602aec01520 - @0x7efdd88a3198 181 -- 0x5602aebf20e0 - @0x7efdd88a3198 181 -- 0x5602aebc4b60 - @0x7efdd88a3198 181 -- 0x5602aec43770 - @0x7efdd88a3198 181 -- 0x5602aebfe0c0 - @0x7efdd88a3198 181 -- 0x5602aebe1560 - @0x7efdd88a3198 181 -- 0x5602aec025b0 - @0x7efdd88a3198 181 -- 0x5602aec55740 - @0x7efdd88a3198 181 -- 0x5602aeee6f80 - @0x7efdd88a3198 181 -- 0x5602aebf96b0 - @0x7efdd88a3198 181 -- 0x5602aebe2b00 - @0x7efdd88a3198 181 -- 0x5602aebef970 - @0x7efdd88a3198 181 -- 0x5602af14bbb0 - @0x7efdd88a3198 181 -- 0x5602aeffa320 - @0x7efdd88a3198 181 -- 0x5602aee9ac30 - @0x7efdd88a3198 181 -- 0x5602aec58040 - @0x7efdd88a3198 181 -- 0x5602af179b00 - @0x7efdd88a3198 181 -- 0x5602aec688f0 - @0x7efdd88a3198 181 -- 0x5602af1d5fe0 - @0x7efdd88a3198 181 -- 0x5602aec4f330 - @0x7efdd88a3198 181 -- 0x5602aec50cb0 - @0x7efdd88a3198 181 -- 0x5602aec3c960 - @0x7efdd88a3198 181 -- 0x5602aec45130 - @0x7efdd88a3198 181 -- 0x5602aec25800 - @0x7efdd88a3198 181 -- 0x5602aee8e630 - @0x7efdd88a3198 181 -- 0x5602aec6b6c0 - @0x7efdd88a3198 181 -- 0x5602af01af90 - @0x7efdd88a3198 181 -- 0x5602aec73b60 - @0x7efdd88a3198 181 -- 0x5602aefa1340 - @0x7efdd88a3198 181 -- 0x5602af19eaf0 - @0x7efdd88a3198 181 -- 0x5602aebef7f0 - @0x7efdd88a3198 181 -- 0x5602aec5b6c0 - @0x7efdd88a3198 181 -- 0x5602af007190 - @0x7efdd88a3198 181 -- 0x5602aec66ed0 - @0x7efdd88a3198 181 -- 0x5602aec71d00 - @0x7efdd88a3198 181 -- 0x5602aeff9f30 - @0x7efdd88a3198 181 -- 0x5602aec630c0 - @0x7efdd88a3198 181 -- 0x5602af01af60 - @0x7efdd88a3198 181 -- 0x5602aebebaf0 - @0x7efdd88a3198 181 -- 0x5602aebf0680 - @0x7efdd88a3198 181 -- 0x5602aee8ef10 - @0x7efdd88a3198 181 -- 0x5602aebda300 - @0x7efdd88a3198 181 -- 0x5602aec68f60 - @0x7efdd88a3198 181 -- 0x5602af1d6330 - @0x7efdd88a3198 181 -- 0x5602aec7c910 - @0x7efdd88a3198 181 -- 0x5602af19efa0 - @0x7efdd88a3198 181 -- 0x5602aebfc9a0 - @0x7efdd88a3198 181 -- 0x5602af082d90 - @0x7efdd88a3198 181 -- 0x5602aebf2c00 - @0x7efdd88a3198 181 -- 0x5602aec7d1b0 - @0x7efdd88a3198 181 -- 0x5602af009c50 - @0x7efdd88a3198 181 -- 0x5602af1a5250 - @0x7efdd88a3198 181 -- 0x5602af0c74d0 - @0x7efdd88a3198 181 -- 0x5602aec51c30 - @0x7efdd88a3198 181 -- 0x5602aec3ce80 - @0x7efdd88a3198 181 -- 0x5602aec7f8a0 - @0x7efdd88a3198 181 -- 0x5602aeff1e90 - @0x7efdd88a3198 181 -- 0x5602af20beb0 - @0x7efdd88a3198 181 -- 0x5602aebe97f0 - @0x7efdd88a3198 181 -- 0x5602aec7d0e0 - @0x7efdd88a3198 181 -- 0x5602af050fd0 - @0x7efdd88a3198 181 -- 0x5602aec7f610 - @0x7efdd88a3198 181 -- 0x5602aec3b550 - @0x7efdd88a3198 181 -- 0x5602aebe00c0 - @0x7efdd88a3198 181 -- 0x5602af045b50 - @0x7efdd88a3198 181 -- 0x5602aec506a0 - @0x7efdd88a3198 181 -- 0x5602aec63d20 - @0x7efdd88a3198 181 -- 0x5602af1ac0c0 - @0x7efdd88a3198 181 -- 0x5602af1ac0f0 - @0x7efdd88a3198 181 -- 0x5602af193990 - @0x7efdd88a3198 181 -- 0x5602af055790 - @0x7efdd88a3198 181 -- 0x5602aebe16e0 - @0x7efdd88a3198 181 -- 0x5602aebd9990 - @0x7efdd88a3198 181 -- 0x5602af01b3a0 - @0x7efdd88a3198 181 -- 0x5602aec822b0 - @0x7efdd88a3198 181 -- 0x5602aec7b270 - @0x7efdd88a3198 181 -- 0x5602aee9dd60 - @0x7efdd88a3198 181 -- 0x5602aec7aef0 - @0x7efdd88a3198 181 -- 0x5602aec74060 - @0x7efdd88a3198 181 -- 0x5602aebf6a50 - @0x7efdd88a3198 181 -- 0x5602aebf9110 - @0x7efdd88a3198 181 -- 0x5602af11ba10 - @0x7efdd88a3198 181 -- 0x5602aec01220 - @0x7efdd88a3198 181 -- 0x5602af1592c0 - @0x7efdd88a3198 181 -- 0x5602aec4fb00 - @0x7efdd88a3198 181 -- 0x5602aec548e0 - @0x7efdd88a3198 181 -- 0x5602aec58110 - @0x7efdd88a3198 181 -- 0x5602aec476a0 - @0x7efdd88a3198 181 -- 0x5602aec043e0 - @0x7efdd88a3198 181 -- 0x5602af1cb2a0 - @0x7efdd88a3198 181 -- 0x5602aec01b60 - @0x7efdd88a3198 181 -- 0x5602aec66c00 - @0x7efdd88a3198 181 -- 0x5602aefa0360 - @0x7efdd88a3198 181 -- 0x5602aec5d9c0 - @0x7efdd88a3198 181 -- 0x5602aec2aef0 - @0x7efdd88a3198 181 -- 0x5602aec63330 - @0x7efdd88a3198 181 -- 0x5602aec67160 - @0x7efdd88a3198 181 -- 0x5602aec04030 - @0x7efdd88a3198 181 -- 0x5602aef0e700 - @0x7efdd88a3198 181 -- 0x5602af007dc0 - @0x7efdd88a3198 181 -- 0x5602aeffa3a0 - @0x7efdd88a3198 181 -- 0x5602af08cd10 - @0x7efdd88a3198 181 -- 0x5602aec2a800 - @0x7efdd88a3198 181 -- 0x5602aee7f7f0 - @0x7efdd88a3198 181 -- 0x5602af1aeec0 - @0x7efdd88a3198 181 -- 0x5602aec5f440 - @0x7efdd88a3198 181 -- 0x5602aebfbfa0 - @0x7efdd88a3198 181 -- 0x5602af1062e0 - @0x7efdd88a3198 181 -- 0x5602aec3bc80 - @0x7efdd88a3198 181 -- 0x5602aeebc720 - @0x7efdd88a3198 181 -- 0x5602aec6ab50 - @0x7efdd88a3198 181 -- 0x5602aec67230 - @0x7efdd88a3198 181 -- 0x5602aefa6dd0 - @0x7efdd88a3198 181 -- 0x5602aec51ec0 - @0x7efdd88a3198 181 -- 0x5602aec29350 - @0x7efdd88a3198 181 -- 0x5602aec5eb80 - @0x7efdd88a3198 181 -- 0x5602af21ae10 - @0x7efdd88a3198 181 -- 0x5602af00ff90 - @0x7efdd88a3198 181 -- 0x5602aec789a0 - @0x7efdd88a3198 181 -- 0x5602aebed1e0 - @0x7efdd88a3198 181 -- 0x5602af1db490 - @0x7efdd88a3198 181 -- 0x5602aec3fd50 - @0x7efdd88a3198 181 -- 0x5602aec5d820 - @0x7efdd88a3198 181 -- 0x5602aec518b0 - @0x7efdd88a3198 181 -- 0x5602af1a5550 - @0x7efdd88a3198 181 -- 0x5602aebfb730 - @0x7efdd88a3198 181 -- 0x5602af1b6160 - @0x7efdd88a3198 181 -- 0x5602aebdccb0 - @0x7efdd88a3198 181 -- 0x5602aec6be20 - @0x7efdd88a3198 181 -- 0x5602aef0d530 - @0x7efdd88a3198 181 -- 0x5602aec4a3b0 - @0x7efdd88a3198 181 -- 0x5602aebe9cb0 - @0x7efdd88a3198 181 -- 0x5602af1d6260 - @0x7efdd88a3198 181 -- 0x5602aebe8b70 - @0x7efdd88a3198 181 -- 0x5602aebeb160 - @0x7efdd88a3198 181 -- 0x5602aec60c30 - @0x7efdd88a3198 181 -- 0x5602aec42820 - @0x7efdd88a3198 181 -- 0x5602af1cb270 - @0x7efdd88a3198 181 -- 0x5602af1e7c20 - @0x7efdd88a3198 181 -- 0x5602aebe4b50 - @0x7efdd88a3198 181 -- 0x5602aec75010 - @0x7efdd88a3198 181 -- 0x5602aec3b480 - @0x7efdd88a3198 181 -- 0x5602aec52830 - @0x7efdd88a3198 181 -- 0x5602af19eed0 - @0x7efdd88a3198 181 -- 0x5602aec6d2b0 - @0x7efdd88a3198 181 -- 0x5602af03bf80 - @0x7efdd88a3198 181 -- 0x5602aec3f770 - @0x7efdd88a3198 181 -- 0x5602aec73d00 - @0x7efdd88a3198 181 -- 0x5602aec77c10 - @0x7efdd88a3198 181 -- 0x5602aec3fe20 - @0x7efdd88a3198 181 -- 0x5602aec4b2f0 - @0x7efdd88a3198 181 -- 0x5602af01b140 - @0x7efdd88a3198 181 -- 0x5602af1de4b0 - @0x7efdd88a3198 181 -- 0x5602af0425f0 - @0x7efdd88a3198 181 -- 0x5602af0379d0 - @0x7efdd88a3198 181 -- 0x5602aebe2680 - @0x7efdd88a3198 181 -- 0x5602af03e1d0 - @0x7efdd88a3198 181 -- 0x5602af1780b0 - @0x7efdd88a3198 181 -- 0x5602af15f0b0 - @0x7efdd88a3198 181 -- 0x5602aec8cb20 - @0x7efdd88a3198 181 -- 0x5602af1d38c0 - @0x7efdd88a3198 181 -- 0x5602aec705b0 - @0x7efdd88a3198 181 -- 0x5602aebe7650 - @0x7efdd88a3198 181 -- 0x5602af03a8c0 - @0x7efdd88a3198 181 -- 0x5602aec5fb60 - @0x7efdd88a3198 181 -- 0x5602aebe1150 - @0x7efdd88a3198 181 -- 0x5602af11e670 - @0x7efdd88a3198 181 -- 0x5602aec5c620 - @0x7efdd88a3198 181 -- 0x5602aec1fcd0 - @0x7efdd88a3198 181 -- 0x5602af01aea0 - @0x7efdd88a3198 181 -- 0x5602aebf4cd0 - @0x7efdd88a3198 181 -- 0x5602aec44890 - @0x7efdd88a3198 181 -- 0x5602aec45b60 - @0x7efdd88a3198 181 -- 0x5602aebe0eb0 - @0x7efdd88a3198 181 -- 0x5602aec03db0 - @0x7efdd88a3198 181 -- 0x5602aebf8b00 - @0x7efdd88a3198 181 -- 0x5602af0379a0 - @0x7efdd88a3198 181 -- 0x5602aebda820 - @0x7efdd88a3198 181 -- 0x5602aebd8f60 - @0x7efdd88a3198 181 -- 0x5602af1b6220 - @0x7efdd88a3198 181 -- 0x5602af1b2590 - @0x7efdd88a3198 181 -- 0x5602aec634d0 - @0x7efdd88a3198 181 -- 0x5602af1a8990 - @0x7efdd88a3198 181 -- 0x5602aec5a8e0 - @0x7efdd88a3198 181 -- 0x5602aec2af20 - @0x7efdd88a3198 181 -- 0x5602aec79390 - @0x7efdd88a3198 181 -- 0x5602aebf7d90 - @0x7efdd88a3198 181 -- 0x5602aec066b0 - @0x7efdd88a3198 181 -- 0x5602aebf8120 - @0x7efdd88a3198 181 -- 0x5602af1e0990 - @0x7efdd88a3198 181 -- 0x5602aec80490 - @0x7efdd88a3198 181 -- 0x5602aec74330 - @0x7efdd88a3198 181 -- 0x5602af055730 - @0x7efdd88a3198 181 -- 0x5602aebfe980 - @0x7efdd88a3198 181 -- 0x5602aebf6f90 - @0x7efdd88a3198 181 -- 0x5602aebeddf0 - @0x7efdd88a3198 181 -- 0x5602af01b200 - @0x7efdd88a3198 181 -- 0x5602af029c40 - @0x7efdd88a3198 181 -- 0x5602af156a90 - @0x7efdd88a3198 181 -- 0x5602aec27ec0 - @0x7efdd88a3198 181 -- 0x5602aebe9d70 - @0x7efdd88a3198 181 -- 0x5602aec42b80 - @0x7efdd88a3198 181 -- 0x5602af193a00 - @0x7efdd88a3198 181 -- 0x5602af11e850 - @0x7efdd88a3198 181 -- 0x5602aebe63e0 - @0x7efdd88a3198 181 -- 0x5602aebf5e80 - @0x7efdd88a3198 181 -- 0x5602af028f00 - @0x7efdd88a3198 181 -- 0x5602aeff67b0 - @0x7efdd88a3198 181 -- 0x5602aec6cd70 - @0x7efdd88a3198 181 -- 0x5602aeea6a20 - @0x7efdd88a3198 181 -- 0x5602aebeb820 - @0x7efdd88a3198 181 -- 0x5602af0665d0 - @0x7efdd88a3198 181 -- 0x5602aec609c0 - @0x7efdd88a3198 181 -- 0x5602af1c54c0 - @0x7efdd88a3198 181 -- 0x5602aebede30 - @0x7efdd88a3198 181 -- 0x5602af1acd10 - @0x7efdd88a3198 181 -- 0x5602aebe3e50 - @0x7efdd88a3198 181 -- 0x5602aec7b1a0 - @0x7efdd88a3198 181 -- 0x5602aebf37b0 - @0x7efdd88a3198 181 -- 0x5602aec53560 - @0x7efdd88a3198 181 -- 0x5602af067750 - @0x7efdd88a3198 181 -- 0x5602aec48fc0 - @0x7efdd88a3198 181 -- 0x5602aeff2310 - @0x7efdd88a3198 181 -- 0x5602aeeac590 - @0x7efdd88a3198 181 -- 0x5602aec52bb0 - @0x7efdd88a3198 181 -- 0x5602aec7fe00 - @0x7efdd88a3198 181 -- 0x5602aebedc30 - @0x7efdd88a3198 181 -- 0x5602aec73c30 - @0x7efdd88a3198 181 -- 0x5602aec5e550 - @0x7efdd88a3198 181 -- 0x5602aec55e60 - @0x7efdd88a3198 181 -- 0x5602aec6fcb0 - @0x7efdd88a3198 181 -- 0x5602aec803c0 - @0x7efdd88a3198 181 -- 0x5602af0ae410 - @0x7efdd88a3198 181 -- 0x5602aec7cd80 - @0x7efdd88a3198 181 -- 0x5602af000ee0 - @0x7efdd88a3198 181 -- 0x5602af16a340 - @0x7efdd88a3198 181 -- 0x5602aec5d4a0 - @0x7efdd88a3198 181 -- 0x5602af031e70 - @0x7efdd88a3198 181 -- 0x5602aec60530 - @0x7efdd88a3198 181 -- 0x5602aec72400 - @0x7efdd88a3198 181 -- 0x5602aebfd890 - @0x7efdd88a3198 181 -- 0x5602aec3f3b0 - @0x7efdd88a3198 181 -- 0x5602aeedc3b0 - @0x7efdd88a3198 181 -- 0x5602aec20010 - @0x7efdd88a3198 181 -- 0x5602aec74a70 - @0x7efdd88a3198 181 -- 0x5602aee82460 - @0x7efdd88a3198 181 -- 0x5602aec47930 - @0x7efdd88a3198 181 -- 0x5602aec770c0 - @0x7efdd88a3198 181 -- 0x5602aee9ac60 - @0x7efdd88a3198 181 -- 0x5602aec4f4f0 - @0x7efdd88a3198 181 -- 0x5602aec61210 - @0x7efdd88a3198 181 -- 0x5602aebed5e0 - @0x7efdd88a3198 181 -- 0x5602aebdcab0 - @0x7efdd88a3198 181 -- 0x5602aebe5c70 - @0x7efdd88a3198 181 -- 0x5602aebf5670 - @0x7efdd88a3198 181 -- 0x5602aec562b0 - @0x7efdd88a3198 181 -- 0x5602aebe10c0 - @0x7efdd88a3198 181 -- 0x5602aebdaa40 - @0x7efdd88a3198 181 -- 0x5602aec65b30 - @0x7efdd88a3198 181 -- 0x5602aebf5bf0 - @0x7efdd88a3198 181 -- 0x5602aec6a860 - @0x7efdd88a3198 181 -- 0x5602af19f000 - @0x7efdd88a3198 181 -- 0x5602aebecd20 - @0x7efdd88a3198 181 -- 0x5602af003df0 - @0x7efdd88a3198 181 -- 0x5602aeffcd10 - @0x7efdd88a3198 181 -- 0x5602af1db630 - @0x7efdd88a3198 181 -- 0x5602aec4b220 - @0x7efdd88a3198 181 -- 0x5602aefa7a40 - @0x7efdd88a3198 181 -- 0x5602aec74e50 - @0x7efdd88a3198 181 -- 0x5602aec7a230 - @0x7efdd88a3198 181 -- 0x5602aec4b490 - @0x7efdd88a3198 181 -- 0x5602af23deb0 - @0x7efdd88a3198 181 -- 0x5602aec5d010 - @0x7efdd88a3198 181 -- 0x5602aeeac5c0 - @0x7efdd88a3198 181 -- 0x5602aec4f260 - @0x7efdd88a3198 181 -- 0x5602aebf0440 - @0x7efdd88a3198 181 -- 0x5602aebe3590 - @0x7efdd88a3198 181 -- 0x5602af182a20 - @0x7efdd88a3198 181 -- 0x5602aec7ffc0 - @0x7efdd88a3198 181 -- 0x5602aec65950 - @0x7efdd88a3198 181 -- 0x5602aec43840 - @0x7efdd88a3198 181 -- 0x5602aec4d800 - @0x7efdd88a3198 181 -- 0x5602aec7bea0 - @0x7efdd88a3198 181 -- 0x5602aebe6970 - @0x7efdd88a3198 181 -- 0x5602af01b460 - @0x7efdd88a3198 181 -- 0x5602aec206b0 - @0x7efdd88a3198 181 -- 0x5602aec592f0 - @0x7efdd88a3198 181 -- 0x5602aeee9a90 - @0x7efdd88a3198 181 -- 0x5602af083440 - @0x7efdd88a3198 181 -- 0x5602af011aa0 - @0x7efdd88a3198 181 -- 0x5602aec48e20 - @0x7efdd88a3198 181 -- 0x5602aebfe610 - @0x7efdd88a3198 181 -- 0x5602aebee450 - @0x7efdd88a3198 181 -- 0x5602aebe1dc0 - @0x7efdd88a3198 181 -- 0x5602af08ab30 - @0x7efdd88a3198 181 -- 0x5602af02a0d0 - @0x7efdd88a3198 181 -- 0x5602aebf6c50 - @0x7efdd88a3198 181 -- 0x5602aec66e00 - @0x7efdd88a3198 181 -- 0x5602aec20cc0 - @0x7efdd88a3198 181 -- 0x5602aebd3e20 - @0x7efdd88a3198 181 -- 0x5602aee84e90 - @0x7efdd88a3198 181 -- 0x5602aebda9f0 - @0x7efdd88a3198 181 -- 0x5602aec80560 - @0x7efdd88a3198 181 -- 0x5602aec54810 - @0x7efdd88a3198 181 -- 0x5602aec7d280 - @0x7efdd88a3198 181 -- 0x5602aec23600 - @0x7efdd88a3198 181 -- 0x5602aeea60e0 - @0x7efdd88a3198 181 -- 0x5602aebe91e0 - @0x7efdd88a3198 181 -- 0x5602aec5ac60 - @0x7efdd88a3198 181 -- 0x5602aeee8430 - @0x7efdd88a3198 181 -- 0x5602aebe18a0 - @0x7efdd88a3198 181 -- 0x5602af1c3390 - @0x7efdd88a3198 181 -- 0x5602aebf0300 - @0x7efdd88a3198 181 -- 0x5602aec6a790 - @0x7efdd88a3198 181 -- 0x5602aec57ea0 - @0x7efdd88a3198 181 -- 0x5602af18fbe0 - @0x7efdd88a3198 181 -- 0x5602aec3f840 - @0x7efdd88a3198 181 -- 0x5602aec51480 - @0x7efdd88a3198 181 -- 0x5602aec46ce0 - @0x7efdd88a3198 181 -- 0x5602aebf12e0 - @0x7efdd88a3198 181 -- 0x5602aec768f0 - @0x7efdd88a3198 181 -- 0x5602aec06500 - @0x7efdd88a3198 181 -- 0x5602aebde340 - @0x7efdd88a3198 181 -- 0x5602af067b60 - @0x7efdd88a3198 181 -- 0x5602aebfa8c0 - @0x7efdd88a3198 181 -- 0x5602aec498c0 - @0x7efdd88a3198 181 -- 0x5602aec41270 - @0x7efdd88a3198 181 -- 0x5602af19eea0 - @0x7efdd88a3198 181 -- 0x5602af1e09f0 - @0x7efdd88a3198 181 -- 0x5602aef7f5c0 - @0x7efdd88a3198 181 -- 0x5602af08ccb0 - @0x7efdd88a3198 181 -- 0x5602af038680 - @0x7efdd88a3198 181 -- 0x5602aec747e0 - @0x7efdd88a3198 181 -- 0x5602af1e4290 - @0x7efdd88a3198 181 -- 0x5602aef9fbd0 - @0x7efdd88a3198 181 -- 0x5602aec4b780 - @0x7efdd88a3198 181 -- 0x5602aebfd850 - @0x7efdd88a3198 181 -- 0x5602af0557c0 - @0x7efdd88a3198 181 -- 0x5602aebef790 - @0x7efdd88a3198 181 -- 0x5602aec4f5c0 - @0x7efdd88a3198 181 -- 0x5602aec5f510 - @0x7efdd88a3198 181 -- 0x5602aec83ba0 - @0x7efdd88a3198 181 -- 0x5602aec74d80 - @0x7efdd88a3198 181 -- 0x5602aee830e0 - @0x7efdd88a3198 181 -- 0x5602aec62530 - @0x7efdd88a3198 181 -- 0x5602aec04940 - @0x7efdd88a3198 181 -- 0x5602aec3a9d0 - @0x7efdd88a3198 181 -- 0x5602aebf22a0 - @0x7efdd88a3198 181 -- 0x5602af066500 - @0x7efdd88a3198 181 -- 0x5602af009e20 - @0x7efdd88a3198 181 -- 0x5602aec3fef0 - @0x7efdd88a3198 181 -- 0x5602aec4fe60 - @0x7efdd88a3198 181 -- 0x5602af01a000 - @0x7efdd88a3198 181 -- 0x5602aee9e120 - @0x7efdd88a3198 181 -- 0x5602aec84010 - @0x7efdd88a3198 181 -- 0x5602aebe8810 - @0x7efdd88a3198 181 -- 0x5602af09ef50 - @0x7efdd88a3198 181 -- 0x5602aec67af0 - @0x7efdd88a3198 181 -- 0x5602af1cb1b0 - @0x7efdd88a3198 181 -- 0x5602aebe0c20 - @0x7efdd88a3198 181 -- 0x5602aec72330 - @0x7efdd88a3198 181 -- 0x5602aebe69a0 - @0x7efdd88a3198 181 -- 0x5602af018bc0 - @0x7efdd88a3198 181 -- 0x5602af1c54f0 - @0x7efdd88a3198 181 -- 0x5602aeedd320 - @0x7efdd88a3198 181 -- 0x5602af0253b0 - @0x7efdd88a3198 181 -- 0x5602aec3c2f0 - @0x7efdd88a3198 181 -- 0x5602aec51710 - @0x7efdd88a3198 181 -- 0x5602aec480e0 - @0x7efdd88a3198 181 -- 0x5602aeef98c0 - @0x7efdd88a3198 181 -- 0x5602af19f120 - @0x7efdd88a3198 181 -- 0x5602af051000 - @0x7efdd88a3198 181 -- 0x5602af01aed0 - @0x7efdd88a3198 181 -- 0x5602af1de4e0 - @0x7efdd88a3198 181 -- 0x5602af19f150 - @0x7efdd88a3198 181 -- 0x5602aec5cab0 - @0x7efdd88a3198 181 -- 0x5602aec82540 - @0x7efdd88a3198 181 -- 0x5602aebe0f00 - @0x7efdd88a3198 181 -- 0x5602af01b490 - @0x7efdd88a3198 181 -- 0x5602aec424a0 - @0x7efdd88a3198 181 -- 0x5602aec67300 - @0x7efdd88a3198 181 -- 0x5602aec68370 - @0x7efdd88a3198 181 -- 0x5602aeff2920 - @0x7efdd88a3198 181 -- 0x5602aeff6780 - @0x7efdd88a3198 181 -- 0x5602af01aff0 - @0x7efdd88a3198 181 -- 0x5602aebf45e0 - @0x7efdd88a3198 181 -- 0x5602aee94410 - @0x7efdd88a3198 181 -- 0x5602aebdee80 - @0x7efdd88a3198 181 -- 0x5602af029410 - @0x7efdd88a3198 181 -- 0x5602aec3c3c0 - @0x7efdd88a3198 181 -- 0x5602aebda940 - @0x7efdd88a3198 181 -- 0x5602af083470 - @0x7efdd88a3198 181 -- 0x5602aec7c5b0 - @0x7efdd88a3198 181 -- 0x5602af08cce0 - @0x7efdd88a3198 181 -- 0x5602aec4df20 - @0x7efdd88a3198 181 -- 0x5602af025050 - @0x7efdd88a3198 181 -- 0x5602aec52d50 - @0x7efdd88a3198 181 -- 0x5602af01b0b0 - @0x7efdd88a3198 181 -- 0x5602aec77a50 - @0x7efdd88a3198 181 -- 0x5602af067b30 - @0x7efdd88a3198 181 -- 0x5602af1b6100 - @0x7efdd88a3198 181 -- 0x5602af01b1a0 - @0x7efdd88a3198 181 -- 0x5602aec58bf0 - @0x7efdd88a3198 181 -- 0x5602aec4d0e0 - @0x7efdd88a3198 181 -- 0x5602af1a8db0 - @0x7efdd88a3198 181 -- 0x5602aec04f10 - @0x7efdd88a3198 181 -- 0x5602aebe5f00 - @0x7efdd88a3198 181 -- 0x5602aef7f5e0 - @0x7efdd88a3198 181 -- 0x5602aebfcc00 - @0x7efdd88a3198 181 -- 0x5602aeffa110 - @0x7efdd88a3198 181 -- 0x5602aeff85d0 - @0x7efdd88a3198 181 -- 0x5602af01abf0 - @0x7efdd88a3198 181 -- 0x5602aebdbaa0 - @0x7efdd88a3198 181 -- 0x5602aec61500 - @0x7efdd88a3198 181 -- 0x5602af189b80 - @0x7efdd88a3198 181 -- 0x5602aec70e20 - @0x7efdd88a3198 181 -- 0x5602aec486f0 - @0x7efdd88a3198 181 -- 0x5602aec3e400 - @0x7efdd88a3198 181 -- 0x5602af03b590 - @0x7efdd88a3198 181 -- 0x5602aec08890 - @0x7efdd88a3198 181 -- 0x5602aebf46c0 - @0x7efdd88a3198 181 -- 0x5602aec02070 - @0x7efdd88a3198 181 -- 0x5602aec7e340 - @0x7efdd88a3198 181 -- 0x5602af15e3a0 - @0x7efdd88a3198 181 -- 0x5602aec738d0 - @0x7efdd88a3198 181 -- 0x5602af04b490 - @0x7efdd88a3198 181 -- 0x5602aebdfdd0 - @0x7efdd88a3198 181 -- 0x5602af1d5f20 - @0x7efdd88a3198 181 -- 0x5602aebe6740 - @0x7efdd88a3198 181 -- 0x5602af0836e0 - @0x7efdd88a3198 181 -- 0x5602af00d240 - @0x7efdd88a3198 181 -- 0x5602aeffcd70 - @0x7efdd88a3198 181 -- 0x5602aefd4c00 - @0x7efdd88a3198 181 -- 0x5602aec45d20 - @0x7efdd88a3198 181 -- 0x5602af002230 - @0x7efdd88a3198 181 -- 0x5602aec4b080 - @0x7efdd88a3198 181 -- 0x5602aec63a70 - @0x7efdd88a3198 181 -- 0x5602af159650 - @0x7efdd88a3198 181 -- 0x5602af192650 - @0x7efdd88a3198 181 -- 0x5602aebc6bd0 - @0x7efdd88a3198 181 -- 0x5602aec481b0 - @0x7efdd88a3198 181 -- 0x5602aeff5f10 - @0x7efdd88a3198 181 -- 0x5602af04a530 - @0x7efdd88a3198 181 -- 0x5602af1e4370 - @0x7efdd88a3198 181 -- 0x5602aebf3d60 - @0x7efdd88a3198 181 -- 0x5602aebfee10 - @0x7efdd88a3198 181 -- 0x5602aec5a560 - @0x7efdd88a3198 181 -- 0x5602aec581e0 - @0x7efdd88a3198 181 -- 0x5602aec5b4e0 - @0x7efdd88a3198 181 -- 0x5602aec5f9a0 - @0x7efdd88a3198 181 -- 0x5602af1b5100 - @0x7efdd88a3198 181 -- 0x5602aef032e0 - @0x7efdd88a3198 181 -- 0x5602af06bfe0 - @0x7efdd88a3198 181 -- 0x5602aec436a0 - @0x7efdd88a3198 181 -- 0x5602aebfd800 - @0x7efdd88a3198 181 -- 0x5602aec79dc0 - @0x7efdd88a3198 181 -- 0x5602aec064b0 - @0x7efdd88a3198 181 -- 0x5602af05bff0 - @0x7efdd88a3198 181 -- 0x5602aebe7410 - @0x7efdd88a3198 181 -- 0x5602af040980 - @0x7efdd88a3198 181 -- 0x5602aeff2270 - @0x7efdd88a3198 181 -- 0x5602af15aec0 - @0x7efdd88a3198 181 -- 0x5602aec584f0 - @0x7efdd88a3198 181 -- 0x5602aec7b790 - @0x7efdd88a3198 181 -- 0x5602aec4a4a0 - @0x7efdd88a3198 181 -- 0x5602aec57550 - @0x7efdd88a3198 181 -- 0x5602aec5ce70 - @0x7efdd88a3198 181 -- 0x5602aee8ef40 - @0x7efdd88a3198 181 -- 0x5602aec76620 - @0x7efdd88a3198 181 -- 0x5602af1b6190 - @0x7efdd88a3198 181 -- 0x5602aebdec30 - @0x7efdd88a3198 181 -- 0x5602aebeefa0 - @0x7efdd88a3198 181 -- 0x5602aebdd0c0 - @0x7efdd88a3198 181 -- 0x5602aebeb380 - @0x7efdd88a3198 181 -- 0x5602aec5b090 - @0x7efdd88a3198 181 -- 0x5602af14bf20 - @0x7efdd88a3198 181 -- 0x5602aec58a10 - @0x7efdd88a3198 181 -- 0x5602aeee1470 - @0x7efdd88a3198 181 -- 0x5602aeeb31c0 - @0x7efdd88a3198 181 -- 0x5602aebe07d0 - @0x7efdd88a3198 181 -- 0x5602aec56a10 - @0x7efdd88a3198 181 -- 0x5602aec6e820 - @0x7efdd88a3198 181 -- 0x5602aec422e0 - @0x7efdd88a3198 181 -- 0x5602aec4a7e0 - @0x7efdd88a3198 181 -- 0x5602aec4a570 - @0x7efdd88a3198 181 -- 0x5602aec5a3a0 - @0x7efdd88a3198 181 -- 0x5602aec543a0 - @0x7efdd88a3198 181 -- 0x5602aec48d30 - @0x7efdd88a3198 181 -- 0x5602aeeb1d80 - @0x7efdd88a3198 181 -- 0x5602aec6f570 - @0x7efdd88a3198 181 -- 0x5602aec6ecd0 - @0x7efdd88a3198 181 -- 0x5602aec21e10 - @0x7efdd88a3198 181 -- 0x5602af1a4db0 - @0x7efdd88a3198 181 -- 0x5602aec7bb10 - @0x7efdd88a3198 181 -- 0x5602aeea5100 - @0x7efdd88a3198 181 -- 0x5602aec6d560 - @0x7efdd88a3198 181 -- 0x5602aef9f2e0 - @0x7efdd88a3198 181 -- 0x5602aec50020 - @0x7efdd88a3198 181 -- 0x5602af1d5f80 - @0x7efdd88a3198 181 -- 0x5602af01af00 - @0x7efdd88a3198 181 -- 0x5602aec01f30 - @0x7efdd88a3198 181 -- 0x5602aec48ac0 - @0x7efdd88a3198 181 -- 0x5602aebd3e50 - @0x7efdd88a3198 181 -- 0x5602aec64ee0 - @0x7efdd88a3198 181 -- 0x5602aebe8970 - @0x7efdd88a3198 181 -- 0x5602aec593c0 - @0x7efdd88a3198 181 -- 0x5602aebf5b10 - @0x7efdd88a3198 181 -- 0x5602af1b7560 - @0x7efdd88a3198 181 -- 0x5602af1b7590 - @0x7efdd88a3198 181 -- 0x5602aec5bbe0 - @0x7efdd88a3198 181 -- 0x5602aec615d0 - @0x7efdd88a3198 181 -- 0x5602af011b00 - @0x7efdd88a3198 181 -- 0x5602aec63400 - @0x7efdd88a3198 181 -- 0x5602af0c7ff0 - @0x7efdd88a3198 181 -- 0x5602aec46260 - @0x7efdd88a3198 181 -- 0x5602aec661a0 - @0x7efdd88a3198 181 -- 0x5602aec7eb70 - @0x7efdd88a3198 181 -- 0x5602aec4a980 - @0x7efdd88a3198 181 -- 0x5602aebe7950 - @0x7efdd88a3198 181 -- 0x5602aebece40 - @0x7efdd88a3198 181 -- 0x5602aec67d80 - @0x7efdd88a3198 181 -- 0x5602aef12fe0 - @0x7efdd88a3198 181 -- 0x5602aeee0020 - @0x7efdd88a3198 181 -- 0x5602aec79530 - @0x7efdd88a3198 181 -- 0x5602aeedd340 - @0x7efdd88a3198 181 -- 0x5602aec3f910 - @0x7efdd88a3198 181 -- 0x5602af19ea70 - @0x7efdd88a3198 181 -- 0x5602af01afc0 - @0x7efdd88a3198 181 -- 0x5602aebd8cd0 - @0x7efdd88a3198 181 -- 0x5602aeff8600 - @0x7efdd88a3198 181 -- 0x5602aebfe7b0 - @0x7efdd88a3198 181 -- 0x5602aec40d10 - @0x7efdd88a3198 181 -- 0x5602af09ef20 - @0x7efdd88a3198 181 -- 0x5602aebf40e0 - @0x7efdd88a3198 181 -- 0x5602aeff20d0 - @0x7efdd88a3198 181 -- 0x5602aec40610 - @0x7efdd88a3198 181 -- 0x5602aefd2420 - @0x7efdd88a3198 181 -- 0x5602aec72d00 - @0x7efdd88a3198 181 -- 0x5602af04b520 - @0x7efdd88a3198 181 -- 0x5602aec55670 - @0x7efdd88a3198 181 -- 0x5602aebe5150 - @0x7efdd88a3198 181 -- 0x5602aeec3830 - @0x7efdd88a3198 181 -- 0x5602aec3b3b0 - @0x7efdd88a3198 181 -- 0x5602aeff1e50 - @0x7efdd88a3198 181 -- 0x5602aec40f80 - @0x7efdd88a3198 181 -- 0x5602aec748d0 - @0x7efdd88a3198 181 -- 0x5602aec03fe0 - @0x7efdd88a3198 181 -- 0x5602aec46a10 - @0x7efdd88a3198 181 -- 0x5602aec6ee70 - @0x7efdd88a3198 181 -- 0x5602aeff07e0 - @0x7efdd88a3198 181 -- 0x5602aec6fd80 - @0x7efdd88a3198 181 -- 0x5602af1e08d0 - @0x7efdd88a3198 181 -- 0x5602aec48460 - @0x7efdd88a3198 181 -- 0x5602aec46db0 - @0x7efdd88a3198 181 -- 0x5602aebdc310 - @0x7efdd88a3198 181 -- 0x5602af09ef80 - @0x7efdd88a3198 181 -- 0x5602aec576f0 - @0x7efdd88a3198 181 -- 0x5602aeffcc40 - @0x7efdd88a3198 181 -- 0x5602aec04430 - @0x7efdd88a3198 181 -- 0x5602aebf2730 - @0x7efdd88a3198 181 -- 0x5602af01adb0 - @0x7efdd88a3198 181 -- 0x5602aec3cf50 - @0x7efdd88a3198 181 -- 0x5602af14dfa0 - @0x7efdd88a3198 181 -- 0x5602aebe24e0 - @0x7efdd88a3198 181 -- 0x5602aec05fa0 - @0x7efdd88a3198 181 -- 0x5602af14bf40 - @0x7efdd88a3198 181 -- 0x5602af03bf20 - @0x7efdd88a3198 181 -- 0x5602af1b6280 - @0x7efdd88a3198 181 -- 0x5602aebe8610 - @0x7efdd88a3198 181 -- 0x5602aebf86a0 - @0x7efdd88a3198 181 -- 0x5602aec3b050 - @0x7efdd88a3198 181 -- 0x5602aebf7a70 - @0x7efdd88a3198 181 -- 0x5602aec52900 - @0x7efdd88a3198 181 -- 0x5602af1db2f0 - @0x7efdd88a3198 181 -- 0x5602aebded90 - @0x7efdd88a3198 181 -- 0x5602aec713c0 - @0x7efdd88a3198 181 -- 0x5602aebedda0 - @0x7efdd88a3198 181 -- 0x5602aec67750 - @0x7efdd88a3198 181 -- 0x5602aec466d0 - @0x7efdd88a3198 181 -- 0x5602aebfc110 - @0x7efdd88a3198 181 -- 0x5602aebf6210 - @0x7efdd88a3198 181 -- 0x5602aebfeca0 - @0x7efdd88a3198 181 -- 0x5602aec4bbd0 - @0x7efdd88a3198 181 -- 0x5602af000f10 - @0x7efdd88a3198 181 -- 0x5602aeeb5420 - @0x7efdd88a3198 181 -- 0x5602aec48b90 - @0x7efdd88a3198 181 -- 0x5602aebe8da0 - @0x7efdd88a3198 181 -- 0x5602af01b310 - @0x7efdd88a3198 181 -- 0x5602aebf8930 - @0x7efdd88a3198 181 -- 0x5602aec80f90 - @0x7efdd88a3198 181 -- 0x5602aec67bc0 - @0x7efdd88a3198 181 -- 0x5602aec46190 - @0x7efdd88a3198 181 -- 0x5602aec57620 - @0x7efdd88a3198 181 -- 0x5602aec05810 - @0x7efdd88a3198 181 -- 0x5602aec6ba40 - @0x7efdd88a3198 181 -- 0x5602aec6ac20 - @0x7efdd88a3198 181 -- 0x5602aebfa1d0 - @0x7efdd88a3198 181 -- 0x5602aebe5850 - @0x7efdd88a3198 181 -- 0x5602aebded50 - @0x7efdd88a3198 181 -- 0x5602aec6dc80 - @0x7efdd88a3198 181 -- 0x5602af147e20 - @0x7efdd88a3198 181 -- 0x5602aec76c50 - @0x7efdd88a3198 181 -- 0x5602aeff6720 - @0x7efdd88a3198 181 -- 0x5602af016aa0 - @0x7efdd88a3198 181 -- 0x5602aec73530 - @0x7efdd88a3198 181 -- 0x5602aebeee20 - @0x7efdd88a3198 181 -- 0x5602aec41410 - @0x7efdd88a3198 181 -- 0x5602aeeb6f50 - @0x7efdd88a3198 181 -- 0x5602af029470 - @0x7efdd88a3198 181 -- 0x5602aec792c0 - @0x7efdd88a3198 181 -- 0x5602aec27280 - @0x7efdd88a3198 181 -- 0x5602aec55d90 - @0x7efdd88a3198 181 -- 0x5602aebe44f0 - @0x7efdd88a3198 181 -- 0x5602aec56ae0 - @0x7efdd88a3198 181 -- 0x5602aec6b970 - @0x7efdd88a3198 181 -- 0x5602aec4bea0 - @0x7efdd88a3198 181 -- 0x5602aec75480 - @0x7efdd88a3198 181 -- 0x5602aec2a740 - @0x7efdd88a3198 181 -- 0x5602aec63260 - @0x7efdd88a3198 181 -- 0x5602aec73f90 - @0x7efdd88a3198 181 -- 0x5602aebdac80 - @0x7efdd88a3198 181 -- 0x5602aec5dac0 - @0x7efdd88a3198 181 -- 0x5602aebf9900 - @0x7efdd88a3198 181 -- 0x5602af05f210 - @0x7efdd88a3198 181 -- 0x5602af1ac060 - @0x7efdd88a3198 181 -- 0x5602aebdb210 - @0x7efdd88a3198 181 -- 0x5602aec57480 - @0x7efdd88a3198 181 -- 0x5602aec7a770 - @0x7efdd88a3198 181 -- 0x5602af050fa0 - @0x7efdd88a3198 181 -- 0x5602aebd8a20 - @0x7efdd88a3198 181 -- 0x5602aebf63f0 - @0x7efdd88a3198 181 -- 0x5602aec72260 - @0x7efdd88a3198 181 -- 0x5602aec7f540 - @0x7efdd88a3198 181 -- 0x5602aec059a0 - @0x7efdd88a3198 181 -- 0x5602aec840e0 - @0x7efdd88a3198 181 -- 0x5602aec75e30 - @0x7efdd88a3198 181 -- 0x5602aec43bc0 - @0x7efdd88a3198 181 -- 0x5602aec40090 - @0x7efdd88a3198 181 -- 0x5602aec3f6a0 - @0x7efdd88a3198 181 -- 0x5602aec82470 - @0x7efdd88a3198 181 -- 0x5602aec06ee0 - @0x7efdd88a3198 181 -- 0x5602aec6ffc0 - @0x7efdd88a3198 181 -- 0x5602aec66360 - @0x7efdd88a3198 181 -- 0x5602aec691d0 - @0x7efdd88a3198 181 -- 0x5602af1b6250 - @0x7efdd88a3198 181 -- 0x5602aec3cdb0 - @0x7efdd88a3198 181 -- 0x5602aebe7f80 - @0x7efdd88a3198 181 -- 0x5602aec66630 - @0x7efdd88a3198 181 -- 0x5602aec47250 - @0x7efdd88a3198 181 -- 0x5602aec81d70 - @0x7efdd88a3198 181 -- 0x5602aec82a60 - @0x7efdd88a3198 181 -- 0x5602aec4ec50 - @0x7efdd88a3198 181 -- 0x5602aebebfa0 - @0x7efdd88a3198 181 -- 0x5602aec004f0 - @0x7efdd88a3198 181 -- 0x5602aebc0800 - @0x7efdd88a3198 181 -- 0x5602aec7c9e0 - @0x7efdd88a3198 181 -- 0x5602af1b25f0 - @0x7efdd88a3198 181 -- 0x5602aebf2220 - @0x7efdd88a3198 181 -- 0x5602aebffd90 - @0x7efdd88a3198 181 -- 0x5602aeec6440 - @0x7efdd88a3198 181 -- 0x5602af173100 - @0x7efdd88a3198 181 -- 0x5602aebf4a30 - @0x7efdd88a3198 181 -- 0x5602aec65460 - @0x7efdd88a3198 181 -- 0x5602aec68570 - @0x7efdd88a3198 181 -- 0x5602aec50950 - @0x7efdd88a3198 181 -- 0x5602aec5ae00 - @0x7efdd88a3198 181 -- 0x5602aec3d110 - @0x7efdd88a3198 181 -- 0x5602aec77ce0 - @0x7efdd88a3198 181 -- 0x5602aec782d0 - @0x7efdd88a3198 181 -- 0x5602aec6e200 - @0x7efdd88a3198 181 -- 0x5602aec6c410 - @0x7efdd88a3198 181 -- 0x5602aec01d60 - @0x7efdd88a3198 181 -- 0x5602aec4eee0 - @0x7efdd88a3198 181 -- 0x5602aec59f90 - @0x7efdd88a3198 181 -- 0x5602aebe7320 - @0x7efdd88a3198 181 -- 0x5602aebfab80 - @0x7efdd88a3198 181 -- 0x5602aeeeb220 - @0x7efdd88a3198 181 -- 0x5602aebfe1b0 - @0x7efdd88a3198 181 -- 0x5602af01b3d0 - @0x7efdd88a3198 181 -- 0x5602aeeac770 - @0x7efdd88a3198 181 -- 0x5602aebe3650 - @0x7efdd88a3198 181 -- 0x5602aebf2780 - @0x7efdd88a3198 181 -- 0x5602aebea2a0 - @0x7efdd88a3198 181 -- 0x5602aec7f0b0 - @0x7efdd88a3198 181 -- 0x5602aebf2e60 - @0x7efdd88a3198 181 -- 0x5602aeea6a50 - @0x7efdd88a3198 181 -- 0x5602aec3d870 - @0x7efdd88a3198 181 -- 0x5602aec69bc0 - @0x7efdd88a3198 181 -- 0x5602aee80950 - @0x7efdd88a3198 181 -- 0x5602aec761d0 - @0x7efdd88a3198 181 -- 0x5602af037a00 - @0x7efdd88a3198 181 -- 0x5602aec46330 - @0x7efdd88a3198 181 -- 0x5602af05bfc0 - @0x7efdd88a3198 181 -- 0x5602aec3bbb0 - @0x7efdd88a3198 181 -- 0x5602aec682a0 - @0x7efdd88a3198 181 -- 0x5602af1b5130 - @0x7efdd88a3198 181 -- 0x5602aec6d8e0 - @0x7efdd88a3198 181 -- 0x5602aec572c0 - @0x7efdd88a3198 181 -- 0x5602aebe97c0 - @0x7efdd88a3198 181 -- 0x5602aec69030 - @0x7efdd88a3198 181 -- 0x5602aee7fcc0 - @0x7efdd88a3198 181 -- 0x5602aec639a0 - @0x7efdd88a3198 181 -- 0x5602aec442c0 - @0x7efdd88a3198 181 -- 0x5602aebf1360 - @0x7efdd88a3198 181 -- 0x5602aebff4a0 - @0x7efdd88a3198 181 -- 0x5602aec77db0 - @0x7efdd88a3198 181 -- 0x5602aeeb5610 - @0x7efdd88a3198 181 -- 0x5602af1da3c0 - @0x7efdd88a3198 181 -- 0x5602aec3af80 - @0x7efdd88a3198 181 -- 0x5602af1caff0 - @0x7efdd88a3198 181 -- 0x5602aebfef50 - @0x7efdd88a3198 181 -- 0x5602aec64380 - @0x7efdd88a3198 181 -- 0x5602aec67930 - @0x7efdd88a3198 181 -- 0x5602af01b340 - @0x7efdd88a3198 181 -- 0x5602aec40160 - @0x7efdd88a3198 181 -- 0x5602aebdf7e0 - @0x7efdd88a3198 181 -- 0x5602aeebe390 - @0x7efdd88a3198 181 -- 0x5602aec45ff0 - @0x7efdd88a3198 181 -- 0x5602af01acc0 - @0x7efdd88a3198 181 -- 0x5602af0071c0 - @0x7efdd88a3198 181 -- 0x5602aec3ef20 - @0x7efdd88a3198 181 -- 0x5602af19cd20 - @0x7efdd88a3198 181 -- 0x5602aebeca30 - @0x7efdd88a3198 181 -- 0x5602aebf33b0 - @0x7efdd88a3198 181 -- 0x5602aebd9040 - @0x7efdd88a3198 181 -- 0x5602aec61030 - @0x7efdd88a3198 181 -- 0x5602aec71fb0 - @0x7efdd88a3198 181 -- 0x5602aec48c60 - @0x7efdd88a3198 181 -- 0x5602aebf2660 - @0x7efdd88a3198 181 -- 0x5602aec06d40 - @0x7efdd88a3198 181 -- 0x5602aefcb510 - @0x7efdd88a3198 181 -- 0x5602aec7b6c0 - @0x7efdd88a3198 181 -- 0x5602aebe6ab0 - @0x7efdd88a3198 181 -- 0x5602aeb42150 - @0x7efdd88a3198 181 -- 0x5602af009dc0 - @0x7efdd88a3198 181 -- 0x5602aec87320 - @0x7efdd88a3198 181 -- 0x5602af15ec40 - @0x7efdd88a3198 181 -- 0x5602aec431d0 - @0x7efdd88a3198 181 -- 0x5602aec3be60 - @0x7efdd88a3198 181 -- 0x5602aec49990 - @0x7efdd88a3198 181 -- 0x5602aec434c0 - @0x7efdd88a3198 181 -- 0x5602aec47770 - @0x7efdd88a3198 181 -- 0x5602af1d3b50 - @0x7efdd88a3198 181 -- 0x5602aec83e50 - @0x7efdd88a3198 181 -- 0x5602aec78200 - @0x7efdd88a3198 181 -- 0x5602aec44d00 - @0x7efdd88a3198 181 -- 0x5602aec43a20 - @0x7efdd88a3198 181 -- 0x5602aec5d1f0 - @0x7efdd88a3198 181 -- 0x5602aebefe20 - @0x7efdd88a3198 181 -- 0x5602aec4d2a0 - @0x7efdd88a3198 181 -- 0x5602aec55cc0 - @0x7efdd88a3198 181 -- 0x5602aec6d630 - @0x7efdd88a3198 181 -- 0x5602aec53fe0 - @0x7efdd88a3198 181 -- 0x5602aebf1650 - @0x7efdd88a3198 181 -- 0x5602aec70230 - @0x7efdd88a3198 181 -- 0x5602aec7be70 - @0x7efdd88a3198 181 -- 0x5602aec74710 - @0x7efdd88a3198 181 -- 0x5602aec6fbe0 - @0x7efdd88a3198 181 -- 0x5602aec5aac0 - @0x7efdd88a3198 181 -- 0x5602aee86400 - @0x7efdd88a3198 181 -- 0x5602aee863d0 - @0x7efdd88a3198 181 -- 0x5602aebfd190 - @0x7efdd88a3198 181 -- 0x5602aebfcbb0 - @0x7efdd88a3198 181 -- 0x5602aeec3490 - @0x7efdd88a3198 181 -- 0x5602aec42210 - @0x7efdd88a3198 181 -- 0x5602aebeb320 - @0x7efdd88a3198 181 -- 0x5602af036650 - @0x7efdd88a3198 181 -- 0x5602aec76440 - @0x7efdd88a3198 181 -- 0x5602aec75fd0 - @0x7efdd88a3198 181 -- 0x5602aec48ef0 - @0x7efdd88a3198 181 -- 0x5602aec77260 - @0x7efdd88a3198 181 -- 0x5602aec52170 - @0x7efdd88a3198 181 -- 0x5602aebfda10 - @0x7efdd88a3198 181 -- 0x5602aebeaf90 - @0x7efdd88a3198 181 -- 0x5602aebebce0 - @0x7efdd88a3198 181 -- 0x5602af141980 - @0x7efdd88a3198 181 -- 0x5602aebed040 - @0x7efdd88a3198 181 -- 0x5602af1e4260 - @0x7efdd88a3198 181 -- 0x5602af1ac030 - @0x7efdd88a3198 181 -- 0x5602aec724d0 - @0x7efdd88a3198 181 -- 0x5602aebff2b0 - @0x7efdd88a3198 181 -- 0x5602af1cb1e0 - @0x7efdd88a3198 181 -- 0x5602af1cd670 - @0x7efdd88a3198 181 -- 0x5602aec59d00 - @0x7efdd88a3198 181 -- 0x5602aebee0b0 - @0x7efdd88a3198 181 -- 0x5602aebed5a0 - @0x7efdd88a3198 181 -- 0x5602aec5fc30 - @0x7efdd88a3198 181 -- 0x5602aec3b2e0 - @0x7efdd88a3198 181 -- 0x5602aebe7800 - @0x7efdd88a3198 181 -- 0x5602aec06270 - @0x7efdd88a3198 181 -- 0x5602aec564b0 - @0x7efdd88a3198 181 -- 0x5602aec7dfc0 - @0x7efdd88a3198 181 -- 0x5602aec5bff0 - @0x7efdd88a3198 181 -- 0x5602aebe98a0 - @0x7efdd88a3198 181 -- 0x5602aec3d4b0 - @0x7efdd88a3198 181 -- 0x5602aec00860 - @0x7efdd88a3198 181 -- 0x5602af1db350 - @0x7efdd88a3198 181 -- 0x5602aebf2a40 - @0x7efdd88a3198 181 -- 0x5602aec80ce0 - @0x7efdd88a3198 181 -- 0x5602aec63190 - @0x7efdd88a3198 181 -- 0x5602aec538e0 - @0x7efdd88a3198 181 -- 0x5602aec47da0 - @0x7efdd88a3198 181 -- 0x5602aec01670 - @0x7efdd88a3198 181 -- 0x5602aec49cd0 - @0x7efdd88a3198 181 -- 0x5602aebd98b0 - @0x7efdd88a3198 181 -- 0x5602aebf3400 - @0x7efdd88a3198 181 -- 0x5602af051f10 - @0x7efdd88a3198 181 -- 0x5602aec5e9c0 - @0x7efdd88a3198 181 -- 0x5602aec4e1b0 - @0x7efdd88a3198 181 -- 0x5602aec5cc70 - @0x7efdd88a3198 181 -- 0x5602aeea6110 - @0x7efdd88a3198 181 -- 0x5602aebf07a0 - @0x7efdd88a3198 181 -- 0x5602af175960 - @0x7efdd88a3198 181 -- 0x5602aec5ad30 - @0x7efdd88a3198 181 -- 0x5602af1d3710 - @0x7efdd88a3198 181 -- 0x5602aec6aeb0 - @0x7efdd88a3198 181 -- 0x5602aec51df0 - @0x7efdd88a3198 181 -- 0x5602af0386b0 - @0x7efdd88a3198 181 -- 0x5602aec4cf00 - @0x7efdd88a3198 181 -- 0x5602af1cf800 - @0x7efdd88a3198 181 -- 0x5602aec7f970 - @0x7efdd88a3198 181 -- 0x5602aec668a0 - @0x7efdd88a3198 181 -- 0x5602aebefc40 - @0x7efdd88a3198 181 -- 0x5602aec5bd80 - @0x7efdd88a3198 181 -- 0x5602aeec6470 - @0x7efdd88a3198 181 -- 0x5602aec64280 - @0x7efdd88a3198 181 -- 0x5602aec559d0 - @0x7efdd88a3198 181 -- 0x5602aebe3d10 - @0x7efdd88a3198 181 -- 0x5602aec62c70 - @0x7efdd88a3198 181 -- 0x5602aec82cf0 - @0x7efdd88a3198 181 -- 0x5602af1c3450 - @0x7efdd88a3198 181 -- 0x5602aebf3060 - @0x7efdd88a3198 181 -- 0x5602aebfeaa0 - @0x7efdd88a3198 181 -- 0x5602aec04670 - @0x7efdd88a3198 181 -- 0x5602aec2b320 - @0x7efdd88a3198 181 -- 0x5602aebf3020 - @0x7efdd88a3198 181 -- 0x5602aec5ffd0 - @0x7efdd88a3198 181 -- 0x5602aebe0360 - @0x7efdd88a3198 181 -- 0x5602aec58f70 - @0x7efdd88a3198 181 -- 0x5602af1b7fa0 - @0x7efdd88a3198 181 -- 0x5602aec217b0 - @0x7efdd88a3198 181 -- 0x5602aec5efb0 - @0x7efdd88a3198 181 -- 0x5602aebd9a60 - @0x7efdd88a3198 181 -- 0x5602aebeab50 - @0x7efdd88a3198 181 -- 0x5602aebe9f20 - @0x7efdd88a3198 181 -- 0x5602aec539b0 - @0x7efdd88a3198 181 -- 0x5602af1de3e0 - @0x7efdd88a3198 181 -- 0x5602aebdee30 - @0x7efdd88a3198 181 -- 0x5602aebf56f0 - @0x7efdd88a3198 181 -- 0x5602aec52310 - @0x7efdd88a3198 181 -- 0x5602aee899e0 - @0x7efdd88a3198 181 -- 0x5602aebde010 - @0x7efdd88a3198 181 -- 0x5602aeebe100 - @0x7efdd88a3198 181 -- 0x5602af08ab50 - @0x7efdd88a3198 181 -- 0x5602aebff880 - @0x7efdd88a3198 181 -- 0x5602aebe4640 - @0x7efdd88a3198 181 -- 0x5602af001a10 - @0x7efdd88a3198 181 -- 0x5602aefce550 - @0x7efdd88a3198 181 -- 0x5602aec44390 - @0x7efdd88a3198 181 -- 0x5602aec6e5e0 - @0x7efdd88a3198 181 -- 0x5602aebfbd20 - @0x7efdd88a3198 181 -- 0x5602aec60170 - @0x7efdd88a3198 181 -- 0x5602aec5c9e0 - @0x7efdd88a3198 181 -- 0x5602aebf9530 - @0x7efdd88a3198 181 -- 0x5602aebf0970 - @0x7efdd88a3198 181 -- 0x5602aebf7990 - @0x7efdd88a3198 181 -- 0x5602aec3ffc0 - @0x7efdd88a3198 181 -- 0x5602af02cdf0 - @0x7efdd88a3198 181 -- 0x5602aec59a30 - @0x7efdd88a3198 181 -- 0x5602af19eb70 - @0x7efdd88a3198 181 -- 0x5602aec3f0e0 - @0x7efdd88a3198 181 -- 0x5602aefa6da0 - @0x7efdd88a3198 181 -- 0x5602aec4ad20 - @0x7efdd88a3198 181 -- 0x5602aec5be50 - @0x7efdd88a3198 181 -- 0x5602aebf17f0 - @0x7efdd88a3198 181 -- 0x5602aec60a90 - @0x7efdd88a3198 181 -- 0x5602aec81150 - @0x7efdd88a3198 181 -- 0x5602aebdcea0 - @0x7efdd88a3198 181 -- 0x5602aec54670 - @0x7efdd88a3198 181 -- 0x5602aebf8fd0 - @0x7efdd88a3198 181 -- 0x5602aebf4db0 - @0x7efdd88a3198 181 -- 0x5602aef04f60 - @0x7efdd88a3198 181 -- 0x5602aebf8e30 - @0x7efdd88a3198 181 -- 0x5602af066600 - @0x7efdd88a3198 181 -- 0x5602aec7f360 - @0x7efdd88a3198 181 -- 0x5602aefcb530 - @0x7efdd88a3198 181 -- 0x5602aebdc1d0 - @0x7efdd88a3198 181 -- 0x5602aec7c840 - @0x7efdd88a3198 181 -- 0x5602af19ebf0 - @0x7efdd88a3198 181 -- 0x5602af1b61f0 - @0x7efdd88a3198 181 -- 0x5602aec53630 - @0x7efdd88a3198 181 -- 0x5602aec4dd80 - @0x7efdd88a3198 181 -- 0x5602aec47f40 - @0x7efdd88a3198 181 -- 0x5602aec53d30 - @0x7efdd88a3198 181 -- 0x5602aec5a740 - @0x7efdd88a3198 181 -- 0x5602aec3e240 - @0x7efdd88a3198 181 -- 0x5602af086c20 - @0x7efdd88a3198 181 -- 0x5602aec7e7f0 - @0x7efdd88a3198 181 -- 0x5602af1b7ee0 - @0x7efdd88a3198 181 -- 0x5602aec587a0 - @0x7efdd88a3198 181 -- 0x5602af093760 - @0x7efdd88a3198 181 -- 0x5602aec79460 - @0x7efdd88a3198 181 -- 0x5602aeea2650 - @0x7efdd88a3198 181 -- 0x5602aebec370 - @0x7efdd88a3198 181 -- 0x5602aebe9650 - @0x7efdd88a3198 181 -- 0x5602aec78060 - @0x7efdd88a3198 181 -- 0x5602aebff300 - @0x7efdd88a3198 181 -- 0x5602aeea2630 - @0x7efdd88a3198 181 -- 0x5602af08d8a0 - @0x7efdd88a3198 181 -- 0x5602aec69550 - @0x7efdd88a3198 181 -- 0x5602aec5df20 - @0x7efdd88a3198 181 -- 0x5602aebe19f0 - @0x7efdd88a3198 181 -- 0x5602aebfeb80 - @0x7efdd88a3198 181 -- 0x5602aec5e620 - @0x7efdd88a3198 181 -- 0x5602aec82610 - @0x7efdd88a3198 181 -- 0x5602aec8ed70 - @0x7efdd88a3198 181 -- 0x5602aec44460 - @0x7efdd88a3198 181 -- 0x5602aeef2df0 - @0x7efdd88a3198 181 -- 0x5602aec70d50 - @0x7efdd88a3198 181 -- 0x5602aec56580 - @0x7efdd88a3198 181 -- 0x5602aec502f0 - @0x7efdd88a3198 181 -- 0x5602aec6f930 - @0x7efdd88a3198 181 -- 0x5602aec01760 - @0x7efdd88a3198 181 -- 0x5602aebf3ff0 - @0x7efdd88a3198 181 -- 0x5602aec65660 - @0x7efdd88a3198 181 -- 0x5602aec55360 - @0x7efdd88a3198 181 -- 0x5602aef03810 - @0x7efdd88a3198 181 -- 0x5602aec71940 - @0x7efdd88a3198 181 -- 0x5602aec47090 - @0x7efdd88a3198 181 -- 0x5602aebdc4f0 - @0x7efdd88a3198 181 -- 0x5602aec72b60 - @0x7efdd88a3198 181 -- 0x5602aec02b40 - @0x7efdd88a3198 181 -- 0x5602aec769c0 - @0x7efdd88a3198 181 -- 0x5602aec44c30 - @0x7efdd88a3198 181 -- 0x5602aebda4d0 - @0x7efdd88a3198 181 -- 0x5602aec022a0 - @0x7efdd88a3198 181 -- 0x5602aec66fa0 - @0x7efdd88a3198 181 -- 0x5602aec57dd0 - @0x7efdd88a3198 181 -- 0x5602aec61f90 - @0x7efdd88a3198 181 -- 0x5602aec3e040 - @0x7efdd88a3198 181 -- 0x5602aec5c390 - @0x7efdd88a3198 181 -- 0x5602aec04a60 - @0x7efdd88a3198 181 -- 0x5602af00ff30 - @0x7efdd88a3198 181 -- 0x5602aec4e8b0 - @0x7efdd88a3198 181 -- 0x5602aec73280 - @0x7efdd88a3198 181 -- 0x5602aebe34e0 - @0x7efdd88a3198 181 -- 0x5602af167b70 - @0x7efdd88a3198 181 -- 0x5602aec76710 - @0x7efdd88a3198 181 -- 0x5602af19e970 - @0x7efdd88a3198 181 -- 0x5602aec1bbe0 - @0x7efdd88a3198 181 -- 0x5602aebe6560 - @0x7efdd88a3198 181 -- 0x5602aec5d2c0 - @0x7efdd88a3198 181 -- 0x5602aec828a0 - @0x7efdd88a3198 181 -- 0x5602aec4efb0 - @0x7efdd88a3198 181 -- 0x5602af148fa0 - @0x7efdd88a3198 181 -- 0x5602aebf1830 - @0x7efdd88a3198 181 -- 0x5602aec6bb30 - @0x7efdd88a3198 181 -- 0x5602aec796f0 - @0x7efdd88a3198 181 -- 0x5602aec3cc10 - @0x7efdd88a3198 181 -- 0x5602aec7dcb0 - @0x7efdd88a3198 181 -- 0x5602aec50d80 - @0x7efdd88a3198 181 -- 0x5602af009c20 - @0x7efdd88a3198 181 -- 0x5602aec4c200 - @0x7efdd88a3198 181 -- 0x5602aebd96a0 - @0x7efdd88a3198 181 -- 0x5602af0397c0 - @0x7efdd88a3198 181 -- 0x5602aec4c040 - @0x7efdd88a3198 181 -- 0x5602aec7a070 - @0x7efdd88a3198 181 -- 0x5602aec827d0 - @0x7efdd88a3198 181 -- 0x5602aec5afc0 - @0x7efdd88a3198 181 -- 0x5602aec68820 - @0x7efdd88a3198 181 -- 0x5602af03bef0 - @0x7efdd88a3198 181 -- 0x5602aebe6df0 - @0x7efdd88a3198 181 -- 0x5602aec6f3b0 - @0x7efdd88a3198 181 -- 0x5602aec61860 - @0x7efdd88a3198 181 -- 0x5602aec51a70 - @0x7efdd88a3198 181 -- 0x5602aec1f9d0 - @0x7efdd88a3198 181 -- 0x5602aec7b520 - @0x7efdd88a3198 181 -- 0x5602aebe6d20 - @0x7efdd88a3198 181 -- 0x5602af0664d0 - @0x7efdd88a3198 181 -- 0x5602aec42140 - @0x7efdd88a3198 181 -- 0x5602aec83120 - @0x7efdd88a3198 181 -- 0x5602af192680 - @0x7efdd88a3198 181 -- 0x5602aec50a20 - @0x7efdd88a3198 181 -- 0x5602aec418a0 - @0x7efdd88a3198 181 -- 0x5602aec3e4d0 - @0x7efdd88a3198 181 -- 0x5602aeeab190 - @0x7efdd88a3198 181 -- 0x5602aebf10b0 - @0x7efdd88a3198 181 -- 0x5602aec8b3d0 - @0x7efdd88a3198 181 -- 0x5602af0bade0 - @0x7efdd88a3198 181 -- 0x5602aebec320 - @0x7efdd88a3198 181 -- 0x5602af025020 - @0x7efdd88a3198 181 -- 0x5602aec5fd00 - @0x7efdd88a3198 181 -- 0x5602aec5bcb0 - @0x7efdd88a3198 181 -- 0x5602aec520a0 - @0x7efdd88a3198 181 -- 0x5602aec74f40 - @0x7efdd88a3198 181 -- 0x5602aec693b0 - @0x7efdd88a3198 181 -- 0x5602aebd9650 - @0x7efdd88a3198 181 -- 0x5602aec6b8a0 - @0x7efdd88a3198 181 -- 0x5602aec73a70 - @0x7efdd88a3198 181 -- 0x5602aec4b3c0 - @0x7efdd88a3198 181 -- 0x5602aec54d10 - @0x7efdd88a3198 181 -- 0x5602aee82e30 - @0x7efdd88a3198 181 -- 0x5602aebe7010 - @0x7efdd88a3198 181 -- 0x5602af02cdc0 - @0x7efdd88a3198 181 -- 0x5602af01ad50 - @0x7efdd88a3198 181 -- 0x5602aec44050 - @0x7efdd88a3198 181 -- 0x5602aec64760 - @0x7efdd88a3198 181 -- 0x5602aebf5080 - @0x7efdd88a3198 181 -- 0x5602af1019b0 - @0x7efdd88a3198 181 -- 0x5602af03be90 - @0x7efdd88a3198 181 -- 0x5602aec640e0 - @0x7efdd88a3198 181 -- 0x5602aeffcc70 - @0x7efdd88a3198 181 -- 0x5602aec83710 - @0x7efdd88a3198 181 -- 0x5602aec433f0 - @0x7efdd88a3198 181 -- 0x5602af1e7ab0 - @0x7efdd88a3198 181 -- 0x5602aebdf500 - @0x7efdd88a3198 181 -- 0x5602aebda3c0 - @0x7efdd88a3198 181 -- 0x5602af01b370 - @0x7efdd88a3198 181 -- 0x5602aec83480 - @0x7efdd88a3198 181 -- 0x5602aec58cc0 - @0x7efdd88a3198 181 -- 0x5602af01ade0 - @0x7efdd88a3198 181 -- 0x5602aef037f0 - @0x7efdd88a3198 181 -- 0x5602aec411a0 - @0x7efdd88a3198 181 -- 0x5602af15f950 - @0x7efdd88a3198 181 -- 0x5602aebfdf70 - @0x7efdd88a3198 181 -- 0x5602aec3b620 - @0x7efdd88a3198 181 -- 0x5602aec83550 - @0x7efdd88a3198 181 -- 0x5602aefeaa80 - @0x7efdd88a3198 181 -- 0x5602aec45060 - @0x7efdd88a3198 181 -- 0x5602aec787e0 - @0x7efdd88a3198 181 -- 0x5602aebe8f60 - @0x7efdd88a3198 181 -- 0x5602aebf7290 - @0x7efdd88a3198 181 -- 0x5602aec44ea0 - @0x7efdd88a3198 181 -- 0x5602aec70090 - @0x7efdd88a3198 181 -- 0x5602aec05ff0 - @0x7efdd88a3198 181 -- 0x5602af057920 - @0x7efdd88a3198 181 -- 0x5602af02ae80 - @0x7efdd88a3198 181 -- 0x5602af01b230 - @0x7efdd88a3198 181 -- 0x5602aec1f700 - @0x7efdd88a3198 181 -3445d 181 0 CALL: flags:problog_flag(propagate_known, _1048367 ) -3446d 181 0 CALL: gflags:flag_get(propagate_known, _1048367 ) -3447d 181 0 CALL: prolog:recorded(flag_values, flag(propagate_known,_133027), _133028 ) -3448d 181 0 TRY_OR -3449d 216 0 CALL: prolog:==(true, true ) -3450d 181 0 CALL: logger:logger_start_timer(train_bdd_script_generation_propagation ) -3451d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_propagation, _1048359 ) -3452d 181 0 TRY_OR -3453d 225 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_propagation, null ) -3454d 181 0 CALL: prolog:statistics(walltime, [_133032,_133034] ) -3455d 181 0 CALL: prolog:$walltime(_133032, _133034 ) -3456d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_propagation, 304606 ) -3457d 181 0 CALL: print_learning:format_learning(5, p, [] ) -3458d 217 0 CALL: flags:problog_flag(verbosity_learning, _1048349 ) -3459d 217 0 CALL: gflags:flag_get(verbosity_learning, _1048349 ) -3460d 217 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_133041), _133042 ) -3461d 217 0 CALL: prolog:>=(5, 5 ) -3462d 181 0 CALL: prolog:format(p, print_learning:[] ) -3463d 181 0 CALL: prolog:flush_output(user ) -p3464d 181 0 CALL: prolog:$current_choice_point(_1048368 ) -3465d 181 0 CALL: completion:propagate -+s 0x5602af267ff0 - @0x7efdd88a31a8 0 -+s 0x5602aef9fbd0 - @0x7efdd88a31a8 0 -- 0x5602af267ff0 - @0x7efdd88a31a8 181 -3466d 215 0 CALL: flags:problog_flag(propagate_det, true ) -3467d 215 0 CALL: gflags:flag_get(propagate_det, true ) -3468d 215 0 CALL: prolog:recorded(flag_values, flag(propagate_det,true), _133049 ) -3469d 181 0 TRY_OR -3470d 232 0 CALL: prolog:$current_choice_point(_1048351 ) -3471d 232 0 CALL: completion:propagate_intern_known(_1048352 ) -+s 0x5602af267ff0 - @0x7efdd88a31c8 0 -+s 0x5602af233660 - @0x7efdd88a31c8 0 -- 0x5602af267ff0 - @0x7efdd88a31c8 232 -3472d 240 0 CALL: prolog:recorded(unpropagated_rules, <=>(_133051,_133052), _1048315 ) -3473d 240 0 FAIL RETRY: completion:propagate_intern_known(_1048352 ) -3474d 232 0 CALL: prolog:==(false, false ) -3475d 232 0 CALL: prolog:$current_choice_point(_1048353 ) -3476d 232 0 CALL: completion:propagate_intern_deterministic(_1048354 ) -+s 0x5602af267ff0 - @0x7efdd88a31e8 0 -+s 0x5602af03bef0 - @0x7efdd88a31e8 0 -- 0x5602af267ff0 - @0x7efdd88a31e8 232 -3477d 240 0 CALL: prolog:recorded(rules, <=>(_133051,_133052), _1048317 ) -3478d 240 0 FAIL RETRY: completion:propagate_intern_deterministic(_1048354 ) -3479d 232 0 CALL: prolog:==(false, false ) -3480d 181 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_propagation ) -3481d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_propagation, _1048357 ) -3482d 181 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_propagation, _1048360 ) -3483d 181 0 CALL: prolog:statistics(walltime, [_133053,_133055] ) -3484d 181 0 CALL: prolog:$walltime(_133053, _133055 ) -3485d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_propagation, null ) -3486d 181 0 TRY_OR -3487d 222 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_propagation ) -3488d 222 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagation, _1048346 ) -3489d 222 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, _1048347 ) -3490d 222 0 CALL: prolog:\=(null, null ) -3492d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_propagation, 167 ) -3493d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagation, _1048356 ) -3494d 181 0 TRY_OR -3495d 228 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, null ) -3496d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_propagation, 167 ) -3497d 181 0 CALL: flags:problog_flag(split_bdds, _1048370 ) -3498d 181 0 CALL: gflags:flag_get(split_bdds, _1048370 ) -3499d 181 0 CALL: prolog:recorded(flag_values, flag(split_bdds,_133065), _133066 ) -3500d 181 0 CALL: print_learning:format_learning(5, 'S', [] ) -3501d 215 0 CALL: flags:problog_flag(verbosity_learning, _1048351 ) -3502d 215 0 CALL: gflags:flag_get(verbosity_learning, _1048351 ) -3503d 215 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_133069), _133070 ) -3504d 215 0 CALL: prolog:>=(5, 5 ) -3505d 181 0 CALL: prolog:format('S', print_learning:[] ) -3506d 181 0 CALL: prolog:flush_output(user ) -S3507d 181 0 TRY_OR -3508d 213 0 CALL: prolog:==(true, false ) -3510d 181 0 CALL: logger:logger_start_timer(train_bdd_script_generation_splitting ) -3511d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_splitting, _1048363 ) -3512d 181 0 TRY_OR -3513d 221 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_splitting, null ) -3514d 181 0 CALL: prolog:statistics(walltime, [_133077,_133079] ) -3515d 181 0 CALL: prolog:$walltime(_133077, _133079 ) -3516d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_splitting, 304913 ) -3517d 181 0 CALL: completion:split_rules(_1048373 ) -3518d 181 0 CALL: prolog:eraseall(cluster ) -+s 0x5602af066570 - @0x7efdd88a31c8 0 -3519d 181 0 TRY_OR -3520d 224 0 CALL: prolog:recorded(rules, _1048361, _1048362 ) -3521d 224 0 TRY_OR -3522d 232 0 CALL: completion:include_in_clusters('$atom'(burglary);'$atom'(earthquake), '$dbref'(0x5602af2655d0,0) ) -3523d 232 0 TRY_OR -3524d 262 0 CALL: prolog:setof(_133084, completion: ('$atom'(burglary);'$atom'(earthquake))^term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048322 ) -3525d 262 0 CALL: prolog:$is_list_or_partial_list(_1048322 ) -3526d 262 0 CALL: prolog:$bagof(_133084, completion: ('$atom'(burglary);'$atom'(earthquake))^term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048306 ) -3527d 262 0 CALL: prolog:$free_variables_in_term(_133084^ (completion: ('$atom'(burglary);'$atom'(earthquake))^term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)), _1048298, _1048296 ) -3528d 262 0 TRY_OR -3529d 290 0 CALL: prolog:\==($, $ ) -3531d 262 0 CALL: prolog:$findall(_133084, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), [], _1048300 ) -3532d 262 0 CALL: nb:nb_queue(_1048291 ) -3533d 262 0 TRY_OR -3534d 294 0 CALL: prolog:$execute(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084) ) -+s 0x5602af009c20 - @0x7efdd88a31f8 0 -3535d 294 0 CALL: prolog:$call(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), 294, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), user ) -3536d 305 0 FAIL RETRY: prolog:$call(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), 294, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), user ) -3537d 294 0 CALL: prolog:$call(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), 294, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion ) -3538d 316 0 FAIL RETRY: prolog:$call(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), 294, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion ) -3539d 294 0 CALL: prolog:$execute0(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion ) -3540d 294 0 CALL: completion:term_element('$atom'(burglary);'$atom'(earthquake), _133084 ) -3541d 294 0 CALL: prolog:$undefp([completion|term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)], error ) -3542d 294 0 CALL: prolog:yap_flag(unknown, error, fail ) -3543d 294 0 CALL: prolog:$stop_creeping(_1048257 ) -3544d 294 0 TRY_OR -3545d 329 0 CALL: prolog:$undefp_search(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137211:_137212 ) -3546d 338 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_137214,_137215,_137216,_137217), user ) -3547d 338 0 FAIL RETRY: prolog:$undefp_search(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137211:_137212 ) -3548d 329 0 CALL: prolog:expand_goal(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137211:_137212 ) -3549d 329 0 CALL: prolog:$expand_meta_call(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), [], _137211:_137212 ) -3550d 329 0 CALL: prolog:source_module(_137213 ) -3551d 329 0 CALL: prolog:$yap_strip_module(user:completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048237, _137217 ) -3552d 329 0 CALL: prolog:$expand_goals(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, completion, []- (completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)) ) -3553d 353 0 FAIL RETRY: prolog:$expand_goals(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, completion, []- (completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)) ) -3554d 353 0 FAIL RETRY: prolog:$expand_goals(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, completion, []- (completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)) ) -3555d 353 0 FAIL RETRY: prolog:$expand_goals(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, completion, []- (completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)) ) -3556d 329 0 CALL: prolog:$yap_strip_module(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137224, _137225 ) -3557d 329 0 CALL: prolog:$expand_goal(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, completion, []- (completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084)) ) -3558d 329 0 CALL: prolog:$yap_strip_module(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137229, _137230 ) -3559d 329 0 CALL: prolog:$user_expansion(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137235:_137236 ) -3560d 363 0 CALL: prolog:_user_expand_goal(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137238:_137239 ) -3564d 363 0 FAIL RETRY: prolog:$user_expansion(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137235:_137236 ) -3565d 329 0 CALL: prolog:$import_expansion(completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137238:_137239 ) -3566d 362 0 CALL: prolog:$imported_predicate(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, _137239, _137238 ) -3567d 378 0 CALL: prolog:$is_system_predicate(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), prolog ) -3568d 378 0 FAIL RETRY: prolog:$imported_predicate(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, _137239, _137238 ) -3569d 362 0 CALL: prolog:$undefined(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion ) -3570d 362 0 CALL: prolog:$get_undefined_predicates(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, _137239, _137238 ) -3571d 385 0 CALL: prolog:recorded('$import', '$import'(_137241,completion,_137243,term_element(('$atom'(burglary);'$atom'(earthquake)),_133084),_137245,_137246), _1048180 ) -3572d 385 0 CALL: prolog:$continue_imported(_137238, termhandling, _137239, term_element(('$atom'(burglary);'$atom'(earthquake)),_133084) ) -3573d 396 0 CALL: prolog:$pred_exists(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling ) -3574d 385 0 CALL: prolog:\=(termhandling, completion ) -3575d 329 0 CALL: prolog:$meta_expansion(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, [], _1048225 ) -3576d 361 0 CALL: prolog:$yap_strip_module(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137261, _1048204 ) -3577d 361 0 CALL: prolog:functor(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137264, _137265 ) -3578d 361 0 CALL: prolog:$meta_predicate(term_element, termhandling, 2, _1048205 ) -3579d 361 0 FAIL RETRY: prolog:$meta_expansion(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, [], _1048225 ) -3580d 329 0 CALL: prolog:$yap_strip_module(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137261, _137262 ) -3581d 329 0 CALL: prolog:$yap_strip_module(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137263, _137264 ) -3582d 329 0 CALL: prolog:$end_goal_expansion(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048236, _1048238, completion, user, termhandling, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084) ) -3583d 329 0 CALL: prolog:$match_mod(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, user, termhandling, _1048236 ) -3584d 329 0 CALL: prolog:$is_system_predicate(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling ) -3585d 329 0 TRY_OR -3586d 367 0 CALL: prolog:==(termhandling, completion ) -3588d 329 0 CALL: prolog:$c_built_in(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048227 ) -3589d 360 0 CALL: prolog:get_value('$c_arith', true ) -3590d 329 0 CALL: prolog:do_c_built_in(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048227 ) -3591d 371 0 CALL: prolog:$yap_strip_module(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137268, _137269 ) -3592d 371 0 FAIL RETRY: prolog:do_c_built_in(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048227 ) -3593d 371 0 CALL: prolog:$compop(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048189, _1048190, _1048192 ) -3594d 371 0 FAIL RETRY: prolog:do_c_built_in(termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling, completion:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _1048227 ) -3595d 371 0 CALL: prolog:$yap_strip_module(termhandling:termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137271, _137272 ) -3596d 371 0 CALL: prolog:$match_mod(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), completion, user, termhandling, _1048238 ) -3597d 371 0 CALL: prolog:$is_system_predicate(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling ) -3598d 371 0 TRY_OR -3599d 387 0 CALL: prolog:==(termhandling, completion ) -3601d 371 0 CALL: prolog:$yap_strip_module(completion:termhandling:term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), _137211, _137212 ) -3602d 371 0 TRY_OR -3603d 379 0 CALL: prolog:\==(completion, termhandling ) -3604d 371 0 CALL: prolog:\=(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), fail ) -3605d 294 0 CALL: prolog:yap_flag(unknown, _1048256, error ) -3606d 294 0 TRY_OR -3607d 326 0 CALL: prolog:==(false, true ) -3609d 294 0 CALL: prolog:$execute0(term_element(('$atom'(burglary);'$atom'(earthquake)),_133084), termhandling ) -3610d 294 0 CALL: termhandling:term_element('$atom'(burglary);'$atom'(earthquake), _133084 ) -+s 0x5602af01ad50 - @0x7efdd88a3208 0 -+s 0x5602af26bb30 - @0x7efdd88a3208 0 -- 0x5602af26bb30 - @0x7efdd88a3208 294 -+s 0x5602af055730 - @0x7efdd88a3208 0 -+s 0x5602af269210 - @0x7efdd88a3208 0 -- 0x5602af01ad50 - @0x7efdd88a3208 294 -3611d 294 0 TRY_OR -3612d 309 0 CALL: termhandling:term_element('$atom'(burglary), _133084 ) -3613d 309 0 CALL: prolog:\==(burglary, true ) -3614d 309 0 CALL: prolog:\==(burglary, false ) -3615d 309 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), '$atom'(burglary) ) -3617d 294 0 CALL: termhandling:term_element('$atom'(earthquake), _133084 ) -3618d 294 0 CALL: prolog:\==(earthquake, true ) -3619d 294 0 CALL: prolog:\==(earthquake, false ) -3620d 294 0 CALL: nb:nb_queue_enqueue(queue(0,['$atom'(burglary) |_133109],_133109,1), '$atom'(earthquake) ) -3622d 262 0 CALL: nb:nb_queue_close(queue(0,['$atom'(burglary),'$atom'(earthquake) |_133113],_133113,2), _1048300, [] ) -3623d 262 0 CALL: prolog:\==(['$atom'(burglary),'$atom'(earthquake)], [] ) -3624d 262 0 CALL: prolog:$sort(['$atom'(burglary),'$atom'(earthquake)], _1048322 ) -3625d 232 0 CALL: prolog:bb_put(completion:facts, ['$atom'(burglary),'$atom'(earthquake)] ) -+s 0x5602af26c150 - @0x7efdd88a31f8 0 -+s 0x5602af2545f0 - @0x7efdd88a31f8 0 -3626d 232 0 CALL: prolog:bb_put(completion:rule_keys, ['$dbref'(0x5602af2655d0,0)] ) -+s 0x5602af26c1a0 - @0x7efdd88a31f8 0 -+s 0x5602af09eef0 - @0x7efdd88a31f8 0 -3627d 232 0 TRY_OR -3628d 259 0 CALL: prolog:recorded(cluster, c(_133127,_133128), _1048324 ) -3630d 232 0 CALL: prolog:bb_delete(completion:facts, _1048336 ) -3631d 232 0 CALL: prolog:bb_delete(completion:rule_keys, _1048337 ) -3632d 232 0 CALL: prolog:recorda(cluster, c(['$atom'(burglary),'$atom'(earthquake)],['$dbref'(0x5602af2655d0,1)]), _133129 ) -+s 0x5602af01b2e0 - @0x7efdd88a3218 0 -- 0x5602af09eef0 - @0x7efdd88a3228 224 -- 0x5602af2545f0 - @0x7efdd88a3228 224 -3634d 181 0 TRY_OR -3635d 222 0 CALL: prolog:recorded(unpropagated_rules, _1048361, _1048362 ) -3637d 181 0 CALL: prolog:garbage_collect_atoms -3638d 181 0 CALL: prolog:$atom_gc -3639d 181 0 TRY_OR -3640d 218 0 CALL: completion:merge_cluster(_1048365 ) -+s 0x5602af26c2d0 - @0x7efdd88a31c8 0 -+s 0x5602af1d5f80 - @0x7efdd88a31c8 0 -- 0x5602af26c2d0 - @0x7efdd88a31c8 218 -3641d 226 0 CALL: prolog:recorded(cluster, c(_133085,_133086), _1048335 ) -3642d 226 0 CALL: prolog:recorded(cluster, c(_133088,_133089), _1048336 ) -3643d 226 0 CALL: prolog:@<('$dbref'(0x5602af01b2e0,0), '$dbref'(0x5602af01b2e0,0) ) -3644d 226 0 FAIL RETRY: completion:merge_cluster(_1048365 ) -3645d 218 0 CALL: prolog:==(false, false ) -3646d 181 0 CALL: prolog:findall(_133084, completion:recorded(cluster,c(_133093,_133084),_133091), _1048373 ) -3647d 181 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048373 ) -3648d 225 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048373 ) -3649d 181 0 TRY_OR -3650d 232 0 CALL: error:has_type(list_or_partial_list, _1048373 ) -3651d 232 0 CALL: error:is_list_or_partial_list(_1048373 ) -3652d 232 0 CALL: prolog:$skip_list(_133095, _1048373, _133096 ) -3653d 181 0 CALL: prolog:$findall(_133084, completion:recorded(cluster,c(_133093,_133084),_133091), [], _133096 ) -3654d 181 0 CALL: nb:nb_queue(_1048359 ) -3655d 181 0 TRY_OR -3656d 226 0 CALL: prolog:$execute(completion:recorded(cluster,c(_133093,_133084),_133091) ) -3657d 226 0 CALL: prolog:recorded(cluster, c(_133093,_133084), _133091 ) -3658d 226 0 CALL: prolog:recorded(cluster, c(_133093,_133084), _133091 ) -3659d 226 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), ['$dbref'(0x5602af2655d0,1)] ) -3661d 181 0 CALL: nb:nb_queue_close(queue(0,[['$dbref'(0x5602af2655d0,1)] |_133105],_133105,1), _133096, [] ) -3662d 181 0 CALL: prolog:eraseall(cluster ) -- 0x5602af01b2e0 - @0x7efdd88a31c8 181 -3663d 181 0 CALL: prolog:garbage_collect_atoms -3664d 181 0 CALL: prolog:$atom_gc -3665d 181 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_splitting ) -3666d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_splitting, _1048360 ) -3667d 181 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_splitting, _1048363 ) -3668d 181 0 CALL: prolog:statistics(walltime, [_133109,_133111] ) -3669d 181 0 CALL: prolog:$walltime(_133109, _133111 ) -3670d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_splitting, null ) -3671d 181 0 TRY_OR -3672d 219 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_splitting ) -3673d 219 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_splitting, _1048349 ) -3674d 219 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, _1048350 ) -3675d 219 0 CALL: prolog:\=(null, null ) -3677d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_splitting, 14936 ) -3678d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_splitting, _1048359 ) -3679d 181 0 TRY_OR -3680d 225 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, null ) -3681d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_splitting, 14936 ) -3682d 181 0 CALL: print_learning:format_learning(5, s, [] ) -3683d 212 0 CALL: flags:problog_flag(verbosity_learning, _1048354 ) -3684d 212 0 CALL: gflags:flag_get(verbosity_learning, _1048354 ) -3685d 212 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_133121), _133122 ) -3686d 212 0 CALL: prolog:>=(5, 5 ) -3687d 181 0 CALL: prolog:format(s, print_learning:[] ) -3688d 181 0 CALL: prolog:flush_output(user ) -s3689d 181 0 CALL: completion:print_script_per_cluster([['$dbref'(0x5602af2655d0,0)]], 1, 1, 0, _1048379, [], _1048375 ) -+s 0x5602af26ce40 - @0x7efdd88a31c8 0 -+s 0x5602af26d0a0 - @0x7efdd88a31c8 0 -- 0x5602af26d0a0 - @0x7efdd88a31c8 181 -+s 0x5602af182a20 - @0x7efdd88a31c8 0 -+s 0x5602aeff2270 - @0x7efdd88a31c8 0 -- 0x5602af182a20 - @0x7efdd88a31c8 181 -- 0x5602af26ce40 - @0x7efdd88a31c8 181 -3690d 181 0 CALL: utils_learning:create_bdd_file_name(1, 1, _1048359 ) -3691d 181 0 CALL: flags:problog_flag(output_directory, _1048350 ) -3692d 181 0 CALL: gflags:flag_get(output_directory, _1048350 ) -3693d 181 0 CALL: prolog:recorded(flag_values, flag(output_directory,_133128), _133129 ) -3694d 181 0 CALL: prolog:atomic_concat([',_query_',1,'_cluster_',1], _1048351 ) -3695d 181 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', ',_query_1_cluster_1', _1048359 ) -3696d 181 0 CALL: os:path_separator(_1048350 ) -3697d 234 0 CALL: prolog:current_prolog_flag(windows, true ) -3698d 234 0 FAIL RETRY: os:path_separator(_1048350 ) -3699d 181 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,',_query_1_cluster_1'], _1048359 ) -3700d 181 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,',_query_1_cluster_1'], _1048359 ) -3701d 181 0 CALL: prolog:$current_choice_point(_1048360 ) -3702d 181 0 CALL: completion:print_simplecudd_script(['$dbref'(0x5602af2655d0,0)], '/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048362 ) -3703d 181 0 CALL: prolog:retractall(completion:seen_atom(_133148,_133149,_133150,_133151) ) -3704d 181 0 CALL: prolog:$retractall(seen_atom(_133148,_133149,_133150,_133151), completion ) -3705d 263 0 FAIL RETRY: prolog:$retractall(seen_atom(_133148,_133149,_133150,_133151), completion ) -3706d 181 0 CALL: prolog:functor(seen_atom(_133148,_133149,_133150,_133151), _133153, _133154 ) -3707d 181 0 CALL: prolog:$is_log_updatable(seen_atom(_133148,_133149,_133150,_133151), completion ) -3708d 181 0 CALL: prolog:$is_multifile(seen_atom(_133148,_133149,_133150,_133151), completion ) -3709d 181 0 CALL: prolog:$retractall_lu(seen_atom(_133148,_133149,_133150,_133151), completion ) -3710d 255 0 CALL: prolog:$free_arguments(seen_atom(_133148,_133149,_133150,_133151) ) -3711d 181 0 TRY_OR -3712d 270 0 CALL: prolog:$purge_clauses(seen_atom(_133148,_133149,_133150,_133151), completion ) -3714d 181 0 CALL: prolog:retractall(completion:script_hash(_133156,_133157) ) -3715d 181 0 CALL: prolog:$retractall(script_hash(_133156,_133157), completion ) -3716d 263 0 FAIL RETRY: prolog:$retractall(script_hash(_133156,_133157), completion ) -3717d 181 0 CALL: prolog:functor(script_hash(_133156,_133157), _133159, _133160 ) -3718d 181 0 CALL: prolog:$is_log_updatable(script_hash(_133156,_133157), completion ) -3719d 181 0 TRY_OR -3720d 273 0 TRY_OR -3721d 281 0 CALL: prolog:callable(script_hash(_133156,_133157) ) -3723d 273 0 CALL: prolog:$undefined(script_hash(_133156,_133157), completion ) -3724d 181 0 CALL: prolog:$dynamic(script_hash/2, completion ) -3725d 273 0 FAIL RETRY: prolog:$dynamic(script_hash/2, completion ) -3726d 181 0 CALL: prolog:functor(_133161, script_hash, 2 ) -3727d 181 0 CALL: prolog:$mk_dynamic(script_hash(_133162,_133163), completion ) -3728d 181 0 CALL: prolog:bb_put(completion:counter, 0 ) -+s 0x5602af26dc60 - @0x7efdd88a31c8 0 -3729d 181 0 CALL: prolog:bb_put(completion:det_counter, 0 ) -+s 0x5602af25f990 - @0x7efdd88a31c8 0 -3730d 181 0 CALL: prolog:bb_put(completion:grounding_counter, 0 ) -+s 0x5602af26dd30 - @0x7efdd88a31c8 0 -3731d 181 0 CALL: operating_system_support:tmpnam(_1048339 ) -3732d 181 0 CALL: operating_system_support:tmpnam(_1048339, _1048322 ) -3733d 181 0 CALL: operating_system_support:handle_system_internal(_133173, off, tmpnam('/tmp/YAP_tmpXXRZOJ5R') ) -3734d 181 0 CALL: prolog:open('/tmp/YAP_tmpXXRZOJ5R', write, _1048335 ) -3735d 181 0 CALL: prolog:findall(_133197, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), _1048329 ) -3736d 181 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048329 ) -3737d 263 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048329 ) -3738d 181 0 TRY_OR -3739d 270 0 CALL: error:has_type(list_or_partial_list, _1048329 ) -3740d 270 0 CALL: error:is_list_or_partial_list(_1048329 ) -3741d 270 0 CALL: prolog:$skip_list(_133198, _1048329, _133199 ) -3742d 181 0 CALL: prolog:$findall(_133197, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), [], _133199 ) -3743d 181 0 CALL: nb:nb_queue(_1048321 ) -3744d 181 0 TRY_OR -3745d 264 0 CALL: prolog:$execute(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)) ) -3746d 264 0 CALL: prolog:$call(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), 264, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), user ) -3747d 275 0 FAIL RETRY: prolog:$call(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), 264, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), user ) -3748d 264 0 CALL: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197), 264, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), completion ) -3749d 264 0 CALL: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]), 264, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), completion ) -3750d 306 0 FAIL RETRY: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]), 264, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,_133185),print_expression(_133192,'$stream'(3),_133197)), completion ) -3751d 264 0 CALL: prolog:$execute0(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion ) -+s 0x5602af050f70 - @0x7efdd88a31c8 0 -3752d 264 0 CALL: completion:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -3753d 264 0 CALL: prolog:$undefp([completion|member(_133185,['$dbref'(0x5602af2655d0,0)])], error ) -3754d 264 0 CALL: prolog:yap_flag(unknown, error, fail ) -3755d 264 0 CALL: prolog:$stop_creeping(_1048267 ) -3756d 264 0 TRY_OR -3757d 319 0 CALL: prolog:$undefp_search(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137310:_137311 ) -3758d 328 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_137313,_137314,_137315,_137316), user ) -3759d 328 0 FAIL RETRY: prolog:$undefp_search(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137310:_137311 ) -3760d 319 0 CALL: prolog:expand_goal(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137310:_137311 ) -3761d 319 0 CALL: prolog:$expand_meta_call(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), [], _137310:_137311 ) -3762d 319 0 CALL: prolog:source_module(_137312 ) -3763d 319 0 CALL: prolog:$yap_strip_module(user:completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048247, _137316 ) -3764d 319 0 CALL: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -3765d 343 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -3766d 343 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -3767d 343 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -3768d 319 0 CALL: prolog:$yap_strip_module(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137323, _137324 ) -3769d 319 0 CALL: prolog:$expand_goal(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -3770d 319 0 CALL: prolog:$yap_strip_module(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137328, _137329 ) -3771d 319 0 CALL: prolog:$user_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137334:_137335 ) -3772d 353 0 CALL: prolog:_user_expand_goal(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137337:_137338 ) -3776d 353 0 FAIL RETRY: prolog:$user_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137334:_137335 ) -3777d 319 0 CALL: prolog:$import_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137337:_137338 ) -3778d 352 0 CALL: prolog:$imported_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137338, _137337 ) -3779d 368 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), prolog ) -3780d 368 0 FAIL RETRY: prolog:$imported_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137338, _137337 ) -3781d 352 0 CALL: prolog:$undefined(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion ) -3782d 352 0 CALL: prolog:$get_undefined_predicates(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137338, _137337 ) -3783d 375 0 CALL: prolog:recorded('$import', '$import'(_137340,completion,_137342,member(_133185,['$dbref'(0x5602af2655d0,0)]),_137344,_137345), _1048190 ) -3784d 375 0 CALL: prolog:$continue_imported(_137337, lists, _137338, member(_133185,['$dbref'(0x5602af2655d0,0)]) ) -3785d 386 0 CALL: prolog:$pred_exists(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -3786d 375 0 CALL: prolog:\=(lists, completion ) -3787d 319 0 CALL: prolog:$meta_expansion(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, [], _1048235 ) -3788d 351 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137360, _1048214 ) -3789d 351 0 CALL: prolog:functor(member(_133185,['$dbref'(0x5602af2655d0,0)]), _137363, _137364 ) -3790d 351 0 CALL: prolog:$meta_predicate(member, lists, 2, _1048215 ) -3791d 351 0 FAIL RETRY: prolog:$meta_expansion(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, [], _1048235 ) -3792d 319 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137360, _137361 ) -3793d 319 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137362, _137363 ) -3794d 319 0 CALL: prolog:$end_goal_expansion(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048246, _1048248, completion, user, lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]) ) -3795d 319 0 CALL: prolog:$match_mod(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, user, lists, _1048246 ) -3796d 319 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -3797d 319 0 TRY_OR -3798d 357 0 CALL: prolog:==(lists, completion ) -3800d 319 0 CALL: prolog:$c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048237 ) -3801d 350 0 CALL: prolog:get_value('$c_arith', true ) -3802d 319 0 CALL: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048237 ) -3803d 361 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137367, _137368 ) -3804d 361 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048237 ) -3805d 361 0 CALL: prolog:$compop(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048199, _1048200, _1048202 ) -3806d 361 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048237 ) -3807d 361 0 CALL: prolog:$yap_strip_module(lists:lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137370, _137371 ) -3808d 361 0 CALL: prolog:$match_mod(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, user, lists, _1048248 ) -3809d 361 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -3810d 361 0 TRY_OR -3811d 377 0 CALL: prolog:==(lists, completion ) -3813d 361 0 CALL: prolog:$yap_strip_module(completion:lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137310, _137311 ) -3814d 361 0 TRY_OR -3815d 369 0 CALL: prolog:\==(completion, lists ) -3816d 361 0 CALL: prolog:\=(member(_133185,['$dbref'(0x5602af2655d0,0)]), fail ) -3817d 264 0 CALL: prolog:yap_flag(unknown, _1048266, error ) -3818d 264 0 TRY_OR -3819d 316 0 CALL: prolog:==(false, true ) -3821d 264 0 CALL: prolog:$execute0(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -3822d 264 0 CALL: lists:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -3823d 304 0 CALL: prolog:$call(recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)),print_expression(_133192,'$stream'(3),_133197), 264, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)),print_expression(_133192,'$stream'(3),_133197)), completion ) -3824d 304 0 CALL: prolog:$call(recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)), 264, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)),print_expression(_133192,'$stream'(3),_133197)), completion ) -3825d 335 0 FAIL RETRY: prolog:$call(recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)), 264, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)),print_expression(_133192,'$stream'(3),_133197)), completion ) -3826d 304 0 CALL: prolog:$execute0(recorded(_133191,_133192,'$dbref'(0x5602af2655d0,0)), completion ) -3827d 304 0 CALL: prolog:recorded(_133191, _133192, '$dbref'(0x5602af2655d0,0) ) -3828d 304 0 CALL: prolog:recorded(_133191, _133192, '$dbref'(0x5602af2655d0,0) ) -3829d 304 0 CALL: prolog:$call(print_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), 264, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(rules,('$atom'(burglary);'$atom'(earthquake)),'$dbref'(0x5602af2655d0,0)),print_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197)), completion ) -3830d 315 0 FAIL RETRY: prolog:$call(print_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), 264, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(rules,('$atom'(burglary);'$atom'(earthquake)),'$dbref'(0x5602af2655d0,0)),print_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197)), completion ) -3831d 304 0 CALL: prolog:$execute0(print_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), completion ) -3832d 304 0 CALL: completion:print_expression('$atom'(burglary);'$atom'(earthquake), '$stream'(3), _133197 ) -+s 0x5602af2338b0 - @0x7efdd88a3218 0 -+s 0x5602af26aa30 - @0x7efdd88a3218 0 -- 0x5602af26aa30 - @0x7efdd88a3218 304 -+s 0x5602af2711f0 - @0x7efdd88a3218 0 -+s 0x5602aeffa320 - @0x7efdd88a3218 0 -+s 0x5602af2710d0 - @0x7efdd88a3218 0 -- 0x5602af2338b0 - @0x7efdd88a3218 304 -3833d 314 0 CALL: completion:script_hash('$atom'(burglary);'$atom'(earthquake), _133197 ) -3834d 314 0 FAIL RETRY: completion:print_expression('$atom'(burglary);'$atom'(earthquake), '$stream'(3), _133197 ) -3835d 304 0 CALL: completion:print_expression_or('$atom'(burglary);'$atom'(earthquake), '$stream'(3), '', _133197 ) -+s 0x5602af270700 - @0x7efdd88a3218 0 -+s 0x5602af26aa30 - @0x7efdd88a3218 0 -- 0x5602af270700 - @0x7efdd88a3218 304 -3836d 304 0 CALL: completion:print_expression('$atom'(burglary), '$stream'(3), _1048243 ) -3837d 343 0 CALL: completion:script_hash('$atom'(burglary), _1048243 ) -3838d 343 0 FAIL RETRY: completion:print_expression('$atom'(burglary), '$stream'(3), _1048243 ) -3839d 304 0 CALL: completion:remember(burglary, _1048243 ) -+s 0x5602af26e560 - @0x7efdd88a3218 0 -+s 0x5602af26e850 - @0x7efdd88a3218 0 -- 0x5602af26e560 - @0x7efdd88a3218 304 -3840d 342 0 CALL: completion:seen_atom(burglary, _1048243, _1048226, _1048227 ) -3841d 342 0 FAIL RETRY: completion:remember(burglary, _1048243 ) -3842d 342 0 CALL: prolog:atom_codes(burglary, [76|_137379] ) -3843d 342 0 FAIL RETRY: completion:remember(burglary, _1048243 ) -3844d 342 0 CALL: problog:probabilistic_fact(_1048227, burglary, _1048226 ) -3845d 363 0 CALL: prolog:ground(burglary ) -3846d 342 0 CALL: prolog:=..(burglary, [_137378|_137379] ) -3847d 342 0 CALL: prolog:atomic_concat(problog_, burglary, _1048202 ) -3848d 342 0 CALL: lists:append([_137382], [_137384], _1048201 ) -3849d 342 0 CALL: lists:append([], [_137384], _137387 ) -3850d 342 0 CALL: prolog:=..(_1048204, [problog_burglary,_137382,_137384] ) -3851d 342 0 CALL: prolog:length([_137382,_137384], _1048203 ) -3852d 342 0 CALL: prolog:$skip_list([_137382,_137384], _1048203, _137393, _137394 ) -3853d 342 0 CALL: prolog:==([], [] ) -3854d 342 0 CALL: prolog:current_predicate(problog:problog_burglary/2 ) -3855d 342 0 CALL: prolog:$yap_strip_module(problog:problog_burglary/2, _1048198, _1048197 ) -3856d 342 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_burglary/2 ) -3857d 342 0 TRY_OR -3858d 394 0 CALL: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -3859d 403 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -3860d 394 0 TRY_OR -3862d 394 0 CALL: error:may_bind_to_type(atom, problog_burglary ) -3863d 411 0 FAIL RETRY: error:may_bind_to_type(atom, problog_burglary ) -3864d 394 0 CALL: error:may_bind_to_type(integer, 2 ) -3865d 403 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3866d 342 0 CALL: prolog:$c_i_predicate(problog_burglary/2, problog ) -3867d 342 0 TRY_OR -3868d 388 0 CALL: prolog:ground(problog_burglary/2 ) -3869d 342 0 CALL: prolog:functor(_137401, problog_burglary, 2 ) -3870d 342 0 CALL: prolog:current_predicate(problog_burglary, problog:problog_burglary(_137402,_137403) ) -3871d 342 0 CALL: prolog:$yap_strip_module(problog:problog_burglary(_137402,_137403), _1048194, _1048193 ) -3872d 342 0 CALL: prolog:functor(problog_burglary(_137402,_137403), problog_burglary, _1048192 ) -3873d 342 0 TRY_OR -3874d 390 0 CALL: prolog:$current_predicate(problog_burglary, problog, problog_burglary(_137402,_137403), user ) -3875d 390 0 CALL: problog:problog_burglary(_137382, _137384 ) -3876d 390 0 CALL: prolog:is(_1048227, 3, -1.249826789005093 ) -3877d 304 0 TRY_OR -3878d 361 0 CALL: problog:non_ground_fact(0 ) -3880d 304 0 CALL: prolog:atomic_concat([x,0], _1048243 ) -3881d 304 0 CALL: prolog:assertz(completion:seen_atom(burglary,x0,0,0.2865544269392134) ) -3882d 304 0 CALL: prolog:$assert(completion:seen_atom(burglary,x0,0,0.2865544269392134), assertz, _137422 ) -3883d 304 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048231, _1048232 ) -3884d 304 0 CALL: prolog:$expand_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048235, _1048233 ) -3885d 354 0 CALL: prolog:source_module(_137423 ) -3886d 354 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(burglary,x0,0,0.2865544269392134), _137427, _137428 ) -3887d 354 0 CALL: prolog:$expand_a_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), user, _1048235, _1048233 ) -3888d 354 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048202, _137435 ) -3889d 354 0 CALL: prolog:$head_and_body(seen_atom(burglary,x0,0,0.2865544269392134), _1048201, _1048203 ) -3890d 384 0 FAIL RETRY: prolog:$head_and_body(seen_atom(burglary,x0,0,0.2865544269392134), _1048201, _1048203 ) -3891d 354 0 CALL: prolog:$yap_strip_module(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048204, _1048205 ) -3892d 354 0 CALL: prolog:$not_imported(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -3893d 382 0 CALL: prolog:recorded('$import', '$import'(_137440,completion,_137442,seen_atom(burglary,x0,0,0.2865544269392134),_137444,_137445), _1048187 ) -3894d 382 0 FAIL RETRY: prolog:$not_imported(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -3895d 354 0 CALL: prolog:$yap_strip_module(completion:true, _137442, _137443 ) -3896d 354 0 CALL: prolog:$expand_clause_body(true, seen_atom(burglary,x0,0,0.2865544269392134), completion, user, completion, _1048207, _1048209 ) -3897d 354 0 CALL: prolog:$build_up(completion, seen_atom(burglary,x0,0,0.2865544269392134), user, true, _1048235, true, _1048233 ) -3898d 373 0 CALL: prolog:==(completion, user ) -3899d 373 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(burglary,x0,0,0.2865544269392134), user, true, _1048235, true, _1048233 ) -3900d 304 0 CALL: prolog:$$compile(completion:seen_atom(burglary,x0,0,0.2865544269392134), assertz, completion:seen_atom(burglary,x0,0,0.2865544269392134), _137422 ) -3901d 304 0 CALL: prolog:$head_and_body(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048230, _1048232 ) -3902d 355 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048230, _1048232 ) -3903d 304 0 CALL: prolog:strip_module(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048235, _1048231 ) -3904d 304 0 CALL: prolog:$undefined(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -3905d 304 0 CALL: prolog:$compile(seen_atom(burglary,x0,0,0.2865544269392134):-true, assertz, completion:seen_atom(burglary,x0,0,0.2865544269392134), completion, _137422 ) -+s 0x5602af2545f0 - @0x7efdd88a3228 0 -3906d 304 0 CALL: prolog:atomic_concat(['',x0,' + '], _1048246 ) -3907d 304 0 CALL: completion:print_expression_or('$atom'(earthquake), '$stream'(3), 'x0 + ', _133197 ) -3908d 322 0 FAIL RETRY: completion:print_expression_or('$atom'(earthquake), '$stream'(3), 'x0 + ', _133197 ) -3909d 304 0 CALL: completion:print_expression('$atom'(earthquake), '$stream'(3), _1048258 ) -3910d 330 0 CALL: completion:script_hash('$atom'(earthquake), _1048258 ) -3911d 330 0 FAIL RETRY: completion:print_expression('$atom'(earthquake), '$stream'(3), _1048258 ) -3912d 304 0 CALL: completion:remember(earthquake, _1048258 ) -3913d 329 0 CALL: completion:seen_atom(earthquake, _1048258, _1048239, _1048240 ) -3914d 329 0 FAIL RETRY: completion:remember(earthquake, _1048258 ) -3915d 329 0 CALL: prolog:atom_codes(earthquake, [76|_137457] ) -3916d 329 0 FAIL RETRY: completion:remember(earthquake, _1048258 ) -3917d 329 0 CALL: problog:probabilistic_fact(_1048240, earthquake, _1048239 ) -3918d 350 0 CALL: prolog:ground(earthquake ) -3919d 329 0 CALL: prolog:=..(earthquake, [_137456|_137457] ) -3920d 329 0 CALL: prolog:atomic_concat(problog_, earthquake, _1048215 ) -3921d 329 0 CALL: lists:append([_137460], [_137462], _1048214 ) -3922d 329 0 CALL: lists:append([], [_137462], _137465 ) -3923d 329 0 CALL: prolog:=..(_1048217, [problog_earthquake,_137460,_137462] ) -3924d 329 0 CALL: prolog:length([_137460,_137462], _1048216 ) -3925d 329 0 CALL: prolog:$skip_list([_137460,_137462], _1048216, _137471, _137472 ) -3926d 329 0 CALL: prolog:==([], [] ) -3927d 329 0 CALL: prolog:current_predicate(problog:problog_earthquake/2 ) -3928d 329 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake/2, _1048211, _1048210 ) -3929d 329 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3930d 329 0 TRY_OR -3931d 381 0 CALL: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3932d 390 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -3933d 381 0 TRY_OR -3935d 381 0 CALL: error:may_bind_to_type(atom, problog_earthquake ) -3936d 398 0 FAIL RETRY: error:may_bind_to_type(atom, problog_earthquake ) -3937d 381 0 CALL: error:may_bind_to_type(integer, 2 ) -3938d 390 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -3939d 329 0 CALL: prolog:$c_i_predicate(problog_earthquake/2, problog ) -3940d 329 0 TRY_OR -3941d 375 0 CALL: prolog:ground(problog_earthquake/2 ) -3942d 329 0 CALL: prolog:functor(_137479, problog_earthquake, 2 ) -3943d 329 0 CALL: prolog:current_predicate(problog_earthquake, problog:problog_earthquake(_137480,_137481) ) -3944d 329 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake(_137480,_137481), _1048207, _1048206 ) -3945d 329 0 CALL: prolog:functor(problog_earthquake(_137480,_137481), problog_earthquake, _1048205 ) -3946d 329 0 TRY_OR -3947d 377 0 CALL: prolog:$current_predicate(problog_earthquake, problog, problog_earthquake(_137480,_137481), user ) -3948d 377 0 CALL: problog:problog_earthquake(_137460, _137462 ) -3949d 377 0 CALL: prolog:is(_1048240, 3, -0.6596650473806767 ) -3950d 304 0 TRY_OR -3951d 348 0 CALL: problog:non_ground_fact(1 ) -3953d 304 0 CALL: prolog:atomic_concat([x,1], _1048258 ) -3954d 304 0 CALL: prolog:assertz(completion:seen_atom(earthquake,x1,1,0.5170244841968428) ) -3955d 304 0 CALL: prolog:$assert(completion:seen_atom(earthquake,x1,1,0.5170244841968428), assertz, _137500 ) -3956d 304 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048244, _1048245 ) -3957d 304 0 CALL: prolog:$expand_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048248, _1048246 ) -3958d 341 0 CALL: prolog:source_module(_137501 ) -3959d 341 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(earthquake,x1,1,0.5170244841968428), _137505, _137506 ) -3960d 341 0 CALL: prolog:$expand_a_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), user, _1048248, _1048246 ) -3961d 341 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048215, _137513 ) -3962d 341 0 CALL: prolog:$head_and_body(seen_atom(earthquake,x1,1,0.5170244841968428), _1048214, _1048216 ) -3963d 371 0 FAIL RETRY: prolog:$head_and_body(seen_atom(earthquake,x1,1,0.5170244841968428), _1048214, _1048216 ) -3964d 341 0 CALL: prolog:$yap_strip_module(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048217, _1048218 ) -3965d 341 0 CALL: prolog:$not_imported(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -3966d 369 0 CALL: prolog:recorded('$import', '$import'(_137518,completion,_137520,seen_atom(earthquake,x1,1,0.5170244841968428),_137522,_137523), _1048200 ) -3967d 369 0 FAIL RETRY: prolog:$not_imported(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -3968d 341 0 CALL: prolog:$yap_strip_module(completion:true, _137520, _137521 ) -3969d 341 0 CALL: prolog:$expand_clause_body(true, seen_atom(earthquake,x1,1,0.5170244841968428), completion, user, completion, _1048220, _1048222 ) -3970d 341 0 CALL: prolog:$build_up(completion, seen_atom(earthquake,x1,1,0.5170244841968428), user, true, _1048248, true, _1048246 ) -3971d 360 0 CALL: prolog:==(completion, user ) -3972d 360 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(earthquake,x1,1,0.5170244841968428), user, true, _1048248, true, _1048246 ) -3973d 304 0 CALL: prolog:$$compile(completion:seen_atom(earthquake,x1,1,0.5170244841968428), assertz, completion:seen_atom(earthquake,x1,1,0.5170244841968428), _137500 ) -3974d 304 0 CALL: prolog:$head_and_body(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048243, _1048245 ) -3975d 342 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048243, _1048245 ) -3976d 304 0 CALL: prolog:strip_module(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048248, _1048244 ) -3977d 304 0 CALL: prolog:$undefined(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -3978d 304 0 CALL: prolog:$compile(seen_atom(earthquake,x1,1,0.5170244841968428):-true, assertz, completion:seen_atom(earthquake,x1,1,0.5170244841968428), completion, _137500 ) -+s 0x5602aeffcbe0 - @0x7efdd88a3258 0 -3979d 304 0 CALL: completion:next_counter(_133197 ) -3980d 304 0 CALL: prolog:bb_get(completion:counter, _1048246 ) -3981d 304 0 CALL: prolog:atomic_concat(['L',1], _133197 ) -3982d 304 0 CALL: prolog:bb_put(completion:counter, 1 ) -3983d 304 0 CALL: prolog:format('$stream'(3), '~w = ~w~w~n', completion:['L1','x0 + ',x1] ) -3984d 304 0 CALL: prolog:assert(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1') ) -3985d 304 0 CALL: prolog:$assert(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), assertz, _137553 ) -3986d 304 0 CALL: prolog:$yap_strip_clause(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048260, _1048261 ) -3987d 304 0 CALL: prolog:$expand_clause(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048264, _1048262 ) -3988d 325 0 CALL: prolog:source_module(_137554 ) -3989d 325 0 CALL: prolog:$yap_strip_clause(user:completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _137558, _137559 ) -3990d 325 0 CALL: prolog:$expand_a_clause(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), user, _1048264, _1048262 ) -3991d 325 0 CALL: prolog:$yap_strip_module(user:completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048231, _137566 ) -3992d 325 0 CALL: prolog:$head_and_body(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048230, _1048232 ) -3993d 355 0 FAIL RETRY: prolog:$head_and_body(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048230, _1048232 ) -3994d 325 0 CALL: prolog:$yap_strip_module(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048233, _1048234 ) -3995d 325 0 CALL: prolog:$not_imported(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), completion ) -3996d 353 0 CALL: prolog:recorded('$import', '$import'(_137571,completion,_137573,script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'),_137575,_137576), _1048216 ) -3997d 353 0 FAIL RETRY: prolog:$not_imported(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), completion ) -3998d 325 0 CALL: prolog:$yap_strip_module(completion:true, _137573, _137574 ) -3999d 325 0 CALL: prolog:$expand_clause_body(true, script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), completion, user, completion, _1048236, _1048238 ) -4000d 325 0 CALL: prolog:$build_up(completion, script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), user, true, _1048264, true, _1048262 ) -4001d 344 0 CALL: prolog:==(completion, user ) -4002d 344 0 FAIL RETRY: prolog:$build_up(completion, script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), user, true, _1048264, true, _1048262 ) -4003d 304 0 CALL: prolog:$$compile(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), assertz, completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _137553 ) -4004d 304 0 CALL: prolog:$head_and_body(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048259, _1048261 ) -4005d 326 0 FAIL RETRY: prolog:$head_and_body(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048259, _1048261 ) -4006d 304 0 CALL: prolog:strip_module(completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), _1048264, _1048260 ) -4007d 304 0 CALL: prolog:$undefined(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), completion ) -4008d 304 0 CALL: prolog:$compile(script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'):-true, assertz, completion:script_hash(('$atom'(burglary);'$atom'(earthquake)),'L1'), completion, _137553 ) -+s 0x5602af037910 - @0x7efdd88a3288 0 -4009d 304 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), 'L1' ) -4010d 304 0 FAIL RETRY: lists:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -4011d 264 0 CALL: lists:member(_133185, [] ) -4013d 181 0 CALL: nb:nb_queue_close(queue(0,['L1'|_133206],_133206,1), _133199, [] ) -4014d 181 0 CALL: lists:reverse(['L1'], _1048330 ) -4015d 181 0 CALL: lists:reverse(['L1'], [], _1048330 ) -+s 0x5602af275900 - @0x7efdd88a31c8 0 -+s 0x5602af275a60 - @0x7efdd88a31c8 0 -- 0x5602af275a60 - @0x7efdd88a31c8 181 -+s 0x5602af182a20 - @0x7efdd88a31c8 0 -+s 0x5602af274080 - @0x7efdd88a31c8 0 -- 0x5602af182a20 - @0x7efdd88a31c8 181 -- 0x5602af275900 - @0x7efdd88a31c8 181 -4016d 181 0 CALL: lists:reverse([], ['L1'], _1048330 ) -4017d 181 0 CALL: termhandling:list_to_conjunction(['L1'], _1048331 ) -+s 0x5602af233e90 - @0x7efdd88a31c8 0 -+s 0x5602af272d10 - @0x7efdd88a31c8 0 -- 0x5602af272d10 - @0x7efdd88a31c8 181 -+s 0x5602af275900 - @0x7efdd88a31c8 0 -+s 0x5602af275a60 - @0x7efdd88a31c8 0 -- 0x5602af275a60 - @0x7efdd88a31c8 181 -+s 0x5602af182a20 - @0x7efdd88a31c8 0 -+s 0x5602af234000 - @0x7efdd88a31c8 0 -- 0x5602af233e90 - @0x7efdd88a31c8 181 -4018d 181 0 CALL: completion:print_expression_and_final('L1', '$stream'(3), '', _1048333 ) -+s 0x5602af233e90 - @0x7efdd88a31c8 0 -+s 0x5602af275a60 - @0x7efdd88a31c8 0 -- 0x5602af275a60 - @0x7efdd88a31c8 181 -+s 0x5602aeff2aa0 - @0x7efdd88a31c8 0 -+s 0x5602af159f00 - @0x7efdd88a31c8 0 -+s 0x5602af2338b0 - @0x7efdd88a31c8 0 -- 0x5602af233e90 - @0x7efdd88a31c8 181 -4019d 254 0 FAIL RETRY: completion:print_expression_and_final('L1', '$stream'(3), '', _1048333 ) -4020d 181 0 CALL: completion:next_counter(_1048333 ) -4021d 181 0 CALL: prolog:bb_get(completion:counter, _1048314 ) -4022d 181 0 CALL: prolog:atomic_concat(['L',2], _1048333 ) -4023d 181 0 CALL: prolog:bb_put(completion:counter, 2 ) -4024d 181 0 CALL: prolog:format('$stream'(3), '~w = ~w~w~n', completion:['L2','','L1'] ) -4025d 181 0 TRY_OR -4026d 251 0 CALL: prolog:atom_codes('L2', [76|_133229] ) -4027d 181 0 CALL: prolog:format('$stream'(3), '~w~n', completion:['L2'] ) -4028d 181 0 CALL: prolog:close('$stream'(3) ) -4029d 181 0 CALL: utils:succeeds_n_times(completion:seen_atom(_133245,_133246,_133247,_133248), _1048362 ) -4030d 181 0 TRY_OR -4031d 254 0 CALL: prolog:call(completion:seen_atom(_133245,_133246,_133247,_133248) ) -4032d 254 0 CALL: prolog:$execute(completion:seen_atom(_133245,_133246,_133247,_133248) ) -4033d 254 0 CALL: completion:seen_atom(_133245, _133246, _133247, _133248 ) -+s 0x5602af15b770 - @0x7efdd88a31c8 0 -+s 0x5602af233710 - @0x7efdd88a31c8 0 -+s 0x5602af271e90 - @0x7efdd88a31c8 0 -+s 0x5602af275e30 - @0x7efdd88a31c8 0 -- 0x5602af15b770 - @0x7efdd88a31c8 254 -4034d 266 0 CALL: prolog:arg(1, counter(0), _133253 ) -4035d 266 0 CALL: prolog:nb_setarg(1, counter(0), 1 ) -4036d 266 0 FAIL RETRY: completion:seen_atom(_133245, _133246, _133247, _133248 ) -4037d 254 0 CALL: prolog:arg(1, counter(1), _133253 ) -4038d 254 0 CALL: prolog:nb_setarg(1, counter(1), 2 ) -4040d 181 0 CALL: prolog:arg(1, counter(2), _133253 ) -4041d 181 0 CALL: prolog:bb_get(completion:counter, _1048338 ) -4042d 181 0 CALL: utils:prefix_bdd_file_with_header('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', 2, 2, '/tmp/YAP_tmpXXRZOJ5R' ) -4043d 181 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', write, _1048333 ) -4044d 181 0 CALL: prolog:format('$stream'(3), '@BDD1~n~w~n0~n~w~n', utils:[2,2] ) -4045d 181 0 CALL: prolog:open('/tmp/YAP_tmpXXRZOJ5R', read, _1048332 ) -4046d 181 0 TRY_OR -4047d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4048d 251 0 CALL: prolog:put_code('$stream'(3), 76 ) -4049d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4051d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4052d 251 0 CALL: prolog:put_code('$stream'(3), 49 ) -4053d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4055d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4056d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4057d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4059d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4060d 251 0 CALL: prolog:put_code('$stream'(3), 61 ) -4061d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4063d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4064d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4065d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4067d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4068d 251 0 CALL: prolog:put_code('$stream'(3), 120 ) -4069d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4071d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4072d 251 0 CALL: prolog:put_code('$stream'(3), 48 ) -4073d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4075d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4076d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4077d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4079d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4080d 251 0 CALL: prolog:put_code('$stream'(3), 43 ) -4081d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4083d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4084d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4085d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4087d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4088d 251 0 CALL: prolog:put_code('$stream'(3), 120 ) -4089d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4091d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4092d 251 0 CALL: prolog:put_code('$stream'(3), 49 ) -4093d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4095d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4096d 251 0 CALL: prolog:put_code('$stream'(3), 10 ) -4097d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4099d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4100d 251 0 CALL: prolog:put_code('$stream'(3), 76 ) -4101d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4103d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4104d 251 0 CALL: prolog:put_code('$stream'(3), 50 ) -4105d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4107d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4108d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4109d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4111d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4112d 251 0 CALL: prolog:put_code('$stream'(3), 61 ) -4113d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4115d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4116d 251 0 CALL: prolog:put_code('$stream'(3), 32 ) -4117d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4119d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4120d 251 0 CALL: prolog:put_code('$stream'(3), 76 ) -4121d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4123d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4124d 251 0 CALL: prolog:put_code('$stream'(3), 49 ) -4125d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4127d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4128d 251 0 CALL: prolog:put_code('$stream'(3), 10 ) -4129d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4131d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4132d 251 0 CALL: prolog:put_code('$stream'(3), 76 ) -4133d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4135d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4136d 251 0 CALL: prolog:put_code('$stream'(3), 50 ) -4137d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4139d 251 0 CALL: prolog:get_code('$stream'(4), _133264 ) -4140d 251 0 CALL: prolog:put_code('$stream'(3), 10 ) -4141d 251 0 CALL: prolog:at_end_of_stream('$stream'(4) ) -4142d 181 0 CALL: prolog:close('$stream'(4) ) -4143d 181 0 CALL: prolog:close('$stream'(3) ) -4144d 181 0 CALL: utils:delete_file_silently('/tmp/YAP_tmpXXRZOJ5R' ) -4145d 243 0 CALL: prolog:catch(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048326, utils:fail ) -4146d 243 0 CALL: prolog:$catch(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048326, utils:fail ) -4147d 259 0 CALL: prolog:$execute(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R') ) -4148d 259 0 CALL: prolog:$call(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), 259, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), user ) -4149d 276 0 FAIL RETRY: prolog:$call(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), 259, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), user ) -4150d 259 0 CALL: prolog:$call(delete_file('/tmp/YAP_tmpXXRZOJ5R'), 259, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils ) -4151d 287 0 FAIL RETRY: prolog:$call(delete_file('/tmp/YAP_tmpXXRZOJ5R'), 259, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils ) -4152d 259 0 CALL: prolog:$execute0(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils ) -4153d 259 0 CALL: utils:delete_file('/tmp/YAP_tmpXXRZOJ5R' ) -4154d 259 0 CALL: prolog:$undefp([utils|delete_file('/tmp/YAP_tmpXXRZOJ5R')], error ) -4155d 259 0 CALL: prolog:yap_flag(unknown, error, fail ) -4156d 259 0 CALL: prolog:$stop_creeping(_1048286 ) -4157d 259 0 TRY_OR -4158d 300 0 CALL: prolog:$undefp_search(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133281:_133282 ) -4159d 309 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_133284,_133285,_133286,_133287), user ) -4160d 309 0 FAIL RETRY: prolog:$undefp_search(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133281:_133282 ) -4161d 300 0 CALL: prolog:expand_goal(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133281:_133282 ) -4162d 300 0 CALL: prolog:$expand_meta_call(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), [], _133281:_133282 ) -4163d 300 0 CALL: prolog:source_module(_133283 ) -4164d 300 0 CALL: prolog:$yap_strip_module(user:utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048266, _133287 ) -4165d 300 0 CALL: prolog:$expand_goals(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, utils, []- (utils:delete_file('/tmp/YAP_tmpXXRZOJ5R')) ) -4166d 324 0 FAIL RETRY: prolog:$expand_goals(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, utils, []- (utils:delete_file('/tmp/YAP_tmpXXRZOJ5R')) ) -4167d 324 0 FAIL RETRY: prolog:$expand_goals(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, utils, []- (utils:delete_file('/tmp/YAP_tmpXXRZOJ5R')) ) -4168d 324 0 FAIL RETRY: prolog:$expand_goals(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, utils, []- (utils:delete_file('/tmp/YAP_tmpXXRZOJ5R')) ) -4169d 300 0 CALL: prolog:$yap_strip_module(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133294, _133295 ) -4170d 300 0 CALL: prolog:$expand_goal(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, utils, []- (utils:delete_file('/tmp/YAP_tmpXXRZOJ5R')) ) -4171d 300 0 CALL: prolog:$yap_strip_module(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133299, _133300 ) -4172d 300 0 CALL: prolog:$user_expansion(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133305:_133306 ) -4173d 334 0 CALL: prolog:_user_expand_goal(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133308:_133309 ) -4177d 334 0 FAIL RETRY: prolog:$user_expansion(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133305:_133306 ) -4178d 300 0 CALL: prolog:$import_expansion(utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133308:_133309 ) -4179d 333 0 CALL: prolog:$imported_predicate(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, _133309, _133308 ) -4180d 349 0 CALL: prolog:$is_system_predicate(delete_file('/tmp/YAP_tmpXXRZOJ5R'), prolog ) -4181d 349 0 FAIL RETRY: prolog:$imported_predicate(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, _133309, _133308 ) -4182d 333 0 CALL: prolog:$undefined(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils ) -4183d 333 0 CALL: prolog:$get_undefined_predicates(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, _133309, _133308 ) -4184d 356 0 CALL: prolog:recorded('$import', '$import'(_133311,utils,_133313,delete_file('/tmp/YAP_tmpXXRZOJ5R'),_133315,_133316), _1048209 ) -4185d 356 0 CALL: prolog:$continue_imported(_133308, operating_system_support, _133309, delete_file('/tmp/YAP_tmpXXRZOJ5R') ) -4186d 367 0 CALL: prolog:$pred_exists(delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support ) -4187d 356 0 CALL: prolog:\=(operating_system_support, utils ) -4188d 300 0 CALL: prolog:$meta_expansion(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, [], _1048254 ) -4189d 332 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133329, _1048233 ) -4190d 332 0 CALL: prolog:functor(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133332, _133333 ) -4191d 332 0 CALL: prolog:$meta_predicate(delete_file, operating_system_support, 1, _1048234 ) -4192d 332 0 FAIL RETRY: prolog:$meta_expansion(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, [], _1048254 ) -4193d 300 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133329, _133330 ) -4194d 300 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133331, _133332 ) -4195d 300 0 CALL: prolog:$end_goal_expansion(delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048265, _1048267, utils, user, operating_system_support, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R') ) -4196d 300 0 CALL: prolog:$match_mod(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, user, operating_system_support, _1048265 ) -4197d 300 0 CALL: prolog:$is_system_predicate(delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support ) -4198d 300 0 TRY_OR -4199d 338 0 CALL: prolog:==(operating_system_support, utils ) -4201d 300 0 CALL: prolog:$c_built_in(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048256 ) -4202d 331 0 CALL: prolog:get_value('$c_arith', true ) -4203d 300 0 CALL: prolog:do_c_built_in(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048256 ) -4204d 342 0 CALL: prolog:$yap_strip_module(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133336, _133337 ) -4205d 342 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048256 ) -4206d 342 0 CALL: prolog:$compop(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048218, _1048219, _1048221 ) -4207d 342 0 FAIL RETRY: prolog:do_c_built_in(operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support, utils:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _1048256 ) -4208d 342 0 CALL: prolog:$yap_strip_module(operating_system_support:operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133339, _133340 ) -4209d 342 0 CALL: prolog:$match_mod(delete_file('/tmp/YAP_tmpXXRZOJ5R'), utils, user, operating_system_support, _1048267 ) -4210d 342 0 CALL: prolog:$is_system_predicate(delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support ) -4211d 342 0 TRY_OR -4212d 358 0 CALL: prolog:==(operating_system_support, utils ) -4214d 342 0 CALL: prolog:$yap_strip_module(utils:operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R'), _133281, _133282 ) -4215d 342 0 TRY_OR -4216d 350 0 CALL: prolog:\==(utils, operating_system_support ) -4217d 342 0 CALL: prolog:\=(delete_file('/tmp/YAP_tmpXXRZOJ5R'), fail ) -4218d 259 0 CALL: prolog:yap_flag(unknown, _1048285, error ) -4219d 259 0 TRY_OR -4220d 297 0 CALL: prolog:==(false, true ) -4222d 259 0 CALL: prolog:$execute0(delete_file('/tmp/YAP_tmpXXRZOJ5R'), operating_system_support ) -4223d 259 0 CALL: operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R' ) -4224d 259 0 CALL: prolog:true_file_name('/tmp/YAP_tmpXXRZOJ5R', _1048304 ) -4225d 259 0 CALL: operating_system_support:delete_file('/tmp/YAP_tmpXXRZOJ5R', off, on, off ) -4226d 259 0 CALL: prolog:true_file_name('/tmp/YAP_tmpXXRZOJ5R', _1048301 ) -4227d 259 0 CALL: operating_system_support:file_property('/tmp/YAP_tmpXXRZOJ5R', _1048300, _1048296, _1048297, _1048298, _1048299, off ) -4228d 259 0 CALL: operating_system_support:delete_file(regular, '/tmp/YAP_tmpXXRZOJ5R', off, on, off ) -4229d 277 0 FAIL RETRY: operating_system_support:delete_file(regular, '/tmp/YAP_tmpXXRZOJ5R', off, on, off ) -4230d 277 0 FAIL RETRY: operating_system_support:delete_file(regular, '/tmp/YAP_tmpXXRZOJ5R', off, on, off ) -4231d 259 0 CALL: operating_system_support:unlink_file('/tmp/YAP_tmpXXRZOJ5R', off ) -4232d 259 0 CALL: prolog:true_file_name('/tmp/YAP_tmpXXRZOJ5R', _1048304 ) -4233d 259 0 CALL: operating_system_support:unlink('/tmp/YAP_tmpXXRZOJ5R', _1048302 ) -4234d 259 0 CALL: operating_system_support:handle_system_internal(_133347, off, delete_file('/tmp/YAP_tmpXXRZOJ5R') ) -4235d 259 0 TRY_OR -4236d 273 0 CALL: prolog:==(259, 259 ) -4237d 181 0 CALL: flags:problog_flag(output_dot_files, _1048340 ) -4238d 181 0 CALL: gflags:flag_get(output_dot_files, _1048340 ) -4239d 181 0 CALL: prolog:recorded(flag_values, flag(output_dot_files,_133352), _133353 ) -4240d 181 0 TRY_OR -4241d 243 0 CALL: prolog:==(true, true ) -4242d 181 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1','.dot'], _1048342 ) -4243d 181 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1.dot', write, _1048354 ) -4244d 181 0 CALL: prolog:format('$stream'(3), 'digraph d{~n', completion:[] ) -4245d 181 0 TRY_OR -4246d 240 0 CALL: completion:seen_atom(_1048345, _1048346, _1048343, _1048344 ) -4247d 252 0 TRY_OR -4248d 260 0 CALL: prolog:format('$stream'(3), '~q [label="~q\\n~q", style="filled", color="lightblue"];~n', completion:[x0,burglary,x0] ) -4249d 252 0 FAIL RETRY: completion:seen_atom(_1048345, _1048346, _1048343, _1048344 ) -4250d 240 0 TRY_OR -4251d 248 0 CALL: prolog:format('$stream'(3), '~q [label="~q\\n~q", style="filled", color="lightblue"];~n', completion:[x1,earthquake,x1] ) -4253d 181 0 CALL: prolog:findall(_133197, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), _1048353 ) -4254d 181 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048353 ) -4255d 239 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048353 ) -4256d 181 0 TRY_OR -4257d 246 0 CALL: error:has_type(list_or_partial_list, _1048353 ) -4258d 246 0 CALL: error:is_list_or_partial_list(_1048353 ) -4259d 246 0 CALL: prolog:$skip_list(_133383, _1048353, _133384 ) -4260d 181 0 CALL: prolog:$findall(_133197, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), [], _133384 ) -4261d 181 0 CALL: nb:nb_queue(_1048345 ) -4262d 181 0 TRY_OR -4263d 240 0 CALL: prolog:$execute(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)) ) -4264d 240 0 CALL: prolog:$call(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), 240, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), user ) -4265d 251 0 FAIL RETRY: prolog:$call(completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), 240, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), user ) -4266d 240 0 CALL: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197), 240, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4267d 240 0 CALL: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]), 240, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4268d 282 0 FAIL RETRY: prolog:$call(member(_133185,['$dbref'(0x5602af2655d0,0)]), 240, completion: (member(_133185,['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,_133185),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4269d 240 0 CALL: prolog:$execute0(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion ) -4270d 240 0 CALL: completion:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -4271d 240 0 CALL: prolog:$undefp([completion|member(_133185,['$dbref'(0x5602af2655d0,0)])], error ) -4272d 240 0 CALL: prolog:yap_flag(unknown, error, fail ) -4273d 240 0 CALL: prolog:$stop_creeping(_1048291 ) -4274d 240 0 TRY_OR -4275d 295 0 CALL: prolog:$undefp_search(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137495:_137496 ) -4276d 304 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_137498,_137499,_137500,_137501), user ) -4277d 304 0 FAIL RETRY: prolog:$undefp_search(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137495:_137496 ) -4278d 295 0 CALL: prolog:expand_goal(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137495:_137496 ) -4279d 295 0 CALL: prolog:$expand_meta_call(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), [], _137495:_137496 ) -4280d 295 0 CALL: prolog:source_module(_137497 ) -4281d 295 0 CALL: prolog:$yap_strip_module(user:completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048271, _137501 ) -4282d 295 0 CALL: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -4283d 319 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -4284d 319 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -4285d 319 0 FAIL RETRY: prolog:$expand_goals(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -4286d 295 0 CALL: prolog:$yap_strip_module(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137508, _137509 ) -4287d 295 0 CALL: prolog:$expand_goal(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, completion, []- (completion:member(_133185,['$dbref'(0x5602af2655d0,0)])) ) -4288d 295 0 CALL: prolog:$yap_strip_module(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137513, _137514 ) -4289d 295 0 CALL: prolog:$user_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137519:_137520 ) -4290d 329 0 CALL: prolog:_user_expand_goal(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137522:_137523 ) -4294d 329 0 FAIL RETRY: prolog:$user_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137519:_137520 ) -4295d 295 0 CALL: prolog:$import_expansion(completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137522:_137523 ) -4296d 328 0 CALL: prolog:$imported_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137523, _137522 ) -4297d 344 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), prolog ) -4298d 344 0 FAIL RETRY: prolog:$imported_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137523, _137522 ) -4299d 328 0 CALL: prolog:$undefined(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion ) -4300d 328 0 CALL: prolog:$get_undefined_predicates(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, _137523, _137522 ) -4301d 351 0 CALL: prolog:recorded('$import', '$import'(_137525,completion,_137527,member(_133185,['$dbref'(0x5602af2655d0,0)]),_137529,_137530), _1048214 ) -4302d 351 0 CALL: prolog:$continue_imported(_137522, lists, _137523, member(_133185,['$dbref'(0x5602af2655d0,0)]) ) -4303d 362 0 CALL: prolog:$pred_exists(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -4304d 351 0 CALL: prolog:\=(lists, completion ) -4305d 295 0 CALL: prolog:$meta_expansion(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, [], _1048259 ) -4306d 327 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137545, _1048238 ) -4307d 327 0 CALL: prolog:functor(member(_133185,['$dbref'(0x5602af2655d0,0)]), _137548, _137549 ) -4308d 327 0 CALL: prolog:$meta_predicate(member, lists, 2, _1048239 ) -4309d 327 0 FAIL RETRY: prolog:$meta_expansion(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, [], _1048259 ) -4310d 295 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137545, _137546 ) -4311d 295 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137547, _137548 ) -4312d 295 0 CALL: prolog:$end_goal_expansion(member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048270, _1048272, completion, user, lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]) ) -4313d 295 0 CALL: prolog:$match_mod(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, user, lists, _1048270 ) -4314d 295 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -4315d 295 0 TRY_OR -4316d 333 0 CALL: prolog:==(lists, completion ) -4318d 295 0 CALL: prolog:$c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048261 ) -4319d 326 0 CALL: prolog:get_value('$c_arith', true ) -4320d 295 0 CALL: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048261 ) -4321d 337 0 CALL: prolog:$yap_strip_module(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137552, _137553 ) -4322d 337 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048261 ) -4323d 337 0 CALL: prolog:$compop(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048223, _1048224, _1048226 ) -4324d 337 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), lists, completion:member(_133185,['$dbref'(0x5602af2655d0,0)]), _1048261 ) -4325d 337 0 CALL: prolog:$yap_strip_module(lists:lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137555, _137556 ) -4326d 337 0 CALL: prolog:$match_mod(member(_133185,['$dbref'(0x5602af2655d0,0)]), completion, user, lists, _1048272 ) -4327d 337 0 CALL: prolog:$is_system_predicate(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -4328d 337 0 TRY_OR -4329d 353 0 CALL: prolog:==(lists, completion ) -4331d 337 0 CALL: prolog:$yap_strip_module(completion:lists:member(_133185,['$dbref'(0x5602af2655d0,0)]), _137495, _137496 ) -4332d 337 0 TRY_OR -4333d 345 0 CALL: prolog:\==(completion, lists ) -4334d 337 0 CALL: prolog:\=(member(_133185,['$dbref'(0x5602af2655d0,0)]), fail ) -4335d 240 0 CALL: prolog:yap_flag(unknown, _1048290, error ) -4336d 240 0 TRY_OR -4337d 292 0 CALL: prolog:==(false, true ) -4339d 240 0 CALL: prolog:$execute0(member(_133185,['$dbref'(0x5602af2655d0,0)]), lists ) -4340d 240 0 CALL: lists:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -4341d 280 0 CALL: prolog:$call(recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)),print_dot_expression(_133192,'$stream'(3),_133197), 240, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4342d 280 0 CALL: prolog:$call(recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)), 240, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4343d 311 0 FAIL RETRY: prolog:$call(recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)), 240, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)),print_dot_expression(_133192,'$stream'(3),_133197)), completion ) -4344d 280 0 CALL: prolog:$execute0(recorded(_133376,_133192,'$dbref'(0x5602af2655d0,0)), completion ) -4345d 280 0 CALL: prolog:recorded(_133376, _133192, '$dbref'(0x5602af2655d0,0) ) -4346d 280 0 CALL: prolog:recorded(_133376, _133192, '$dbref'(0x5602af2655d0,0) ) -4347d 280 0 CALL: prolog:$call(print_dot_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), 240, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(rules,('$atom'(burglary);'$atom'(earthquake)),'$dbref'(0x5602af2655d0,0)),print_dot_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197)), completion ) -4348d 291 0 FAIL RETRY: prolog:$call(print_dot_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), 240, completion: (member('$dbref'(0x5602af2655d0,0),['$dbref'(0x5602af2655d0,0)]),recorded(rules,('$atom'(burglary);'$atom'(earthquake)),'$dbref'(0x5602af2655d0,0)),print_dot_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197)), completion ) -4349d 280 0 CALL: prolog:$execute0(print_dot_expression(('$atom'(burglary);'$atom'(earthquake)),'$stream'(3),_133197), completion ) -4350d 280 0 CALL: completion:print_dot_expression('$atom'(burglary);'$atom'(earthquake), '$stream'(3), _133197 ) -+s 0x5602aeff6720 - @0x7efdd88a3228 0 -+s 0x5602af263e00 - @0x7efdd88a3228 0 -- 0x5602af263e00 - @0x7efdd88a3228 280 -+s 0x5602af27f6e0 - @0x7efdd88a3228 0 -+s 0x5602af265a60 - @0x7efdd88a3228 0 -+s 0x5602af27f180 - @0x7efdd88a3228 0 -- 0x5602aeff6720 - @0x7efdd88a3228 280 -4351d 280 0 CALL: completion:next_counter(_133197 ) -4352d 280 0 CALL: prolog:bb_get(completion:counter, _1048278 ) -4353d 280 0 CALL: prolog:atomic_concat(['L',3], _133197 ) -4354d 280 0 CALL: prolog:bb_put(completion:counter, 3 ) -4355d 280 0 CALL: prolog:format('$stream'(3), '~w [label="v",shape="invtriangle", style="filled", color="greenyellow"];~n', completion:['L3'] ) -4356d 280 0 CALL: completion:print_dot_expression_or('$atom'(burglary);'$atom'(earthquake), '$stream'(3), 'L3' ) -+s 0x5602af27ebf0 - @0x7efdd88a3238 0 -+s 0x5602aebe9360 - @0x7efdd88a3238 0 -- 0x5602af27ebf0 - @0x7efdd88a3238 280 -4357d 280 0 CALL: completion:print_dot_expression('$atom'(burglary), '$stream'(3), _1048276 ) -4358d 280 0 CALL: completion:remember(burglary, _1048276 ) -4359d 308 0 CALL: completion:seen_atom(burglary, _1048276, _1048260, _1048261 ) -+s 0x5602af27ebf0 - @0x7efdd88a3238 0 -+s 0x5602af27f970 - @0x7efdd88a3238 0 -- 0x5602af27f970 - @0x7efdd88a3238 308 -+s 0x5602af263e00 - @0x7efdd88a3238 0 -+s 0x5602af265b10 - @0x7efdd88a3238 0 -- 0x5602af27ebf0 - @0x7efdd88a3238 308 -4360d 280 0 CALL: completion:print_dot_line(x0, 'L3', '$stream'(3) ) -4361d 280 0 TRY_OR -4362d 316 0 CALL: prolog:atomic_concat(~, _1048268, x0 ) -4364d 280 0 CALL: prolog:format('$stream'(3), '~w -> ~w;~n', completion:[x0,'L3'] ) -4365d 280 0 CALL: completion:print_dot_expression_or('$atom'(earthquake), '$stream'(3), 'L3' ) -4366d 290 0 FAIL RETRY: completion:print_dot_expression_or('$atom'(earthquake), '$stream'(3), 'L3' ) -4367d 280 0 CALL: completion:print_dot_expression('$atom'(earthquake), '$stream'(3), _1048287 ) -4368d 280 0 CALL: completion:remember(earthquake, _1048287 ) -4369d 297 0 CALL: completion:seen_atom(earthquake, _1048287, _1048271, _1048272 ) -4370d 280 0 CALL: completion:print_dot_line(x1, 'L3', '$stream'(3) ) -4371d 280 0 TRY_OR -4372d 298 0 CALL: prolog:atomic_concat(~, _1048286, x1 ) -4374d 280 0 CALL: prolog:format('$stream'(3), '~w -> ~w;~n', completion:[x1,'L3'] ) -4375d 280 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), 'L3' ) -4376d 280 0 FAIL RETRY: lists:member(_133185, ['$dbref'(0x5602af2655d0,0)] ) -4377d 240 0 CALL: lists:member(_133185, [] ) -4379d 181 0 CALL: nb:nb_queue_close(queue(0,['L3'|_133391],_133391,1), _133384, [] ) -4380d 181 0 CALL: prolog:format('$stream'(3), '}~n', completion:[] ) -4381d 181 0 CALL: prolog:close('$stream'(3) ) -4382d 181 0 CALL: prolog:retractall(completion:script_hash(_133399,_133400) ) -4383d 181 0 CALL: prolog:$retractall(script_hash(_133399,_133400), completion ) -4384d 237 0 FAIL RETRY: prolog:$retractall(script_hash(_133399,_133400), completion ) -4385d 181 0 CALL: prolog:functor(script_hash(_133399,_133400), _133402, _133403 ) -4386d 181 0 CALL: prolog:$is_log_updatable(script_hash(_133399,_133400), completion ) -4387d 181 0 CALL: prolog:$is_multifile(script_hash(_133399,_133400), completion ) -4388d 181 0 CALL: prolog:$retractall_lu(script_hash(_133399,_133400), completion ) -4389d 229 0 CALL: prolog:$free_arguments(script_hash(_133399,_133400) ) -4390d 181 0 TRY_OR -4391d 244 0 CALL: prolog:$purge_clauses(script_hash(_133399,_133400), completion ) -- 0x5602af037910 - @0x7efdd88a31d8 244 -4393d 181 0 CALL: prolog:retractall(completion:seen_atom(_133405,_133406,_133407,_133408) ) -4394d 181 0 CALL: prolog:$retractall(seen_atom(_133405,_133406,_133407,_133408), completion ) -4395d 232 0 FAIL RETRY: prolog:$retractall(seen_atom(_133405,_133406,_133407,_133408), completion ) -4396d 181 0 CALL: prolog:functor(seen_atom(_133405,_133406,_133407,_133408), _133410, _133411 ) -4397d 181 0 CALL: prolog:$is_log_updatable(seen_atom(_133405,_133406,_133407,_133408), completion ) -4398d 181 0 CALL: prolog:$is_multifile(seen_atom(_133405,_133406,_133407,_133408), completion ) -4399d 181 0 CALL: prolog:$retractall_lu(seen_atom(_133405,_133406,_133407,_133408), completion ) -4400d 224 0 CALL: prolog:$free_arguments(seen_atom(_133405,_133406,_133407,_133408) ) -4401d 181 0 TRY_OR -4402d 239 0 CALL: prolog:$purge_clauses(seen_atom(_133405,_133406,_133407,_133408), completion ) -- 0x5602af263e00 - @0x7efdd88a31d8 239 -- 0x5602af265b10 - @0x7efdd88a31d8 239 -- 0x5602af271e90 - @0x7efdd88a31d8 239 -- 0x5602af275e30 - @0x7efdd88a31d8 239 -- 0x5602af233710 - @0x7efdd88a31d8 239 -- 0x5602af2545f0 - @0x7efdd88a31d8 239 -- 0x5602aeffcbe0 - @0x7efdd88a31d8 239 -4404d 181 0 CALL: completion:print_script_per_cluster([], 1, 2, 2, _1048379, [1], _1048375 ) -4405d 181 0 CALL: completion:store_known_atoms(1, [1], training ) -4406d 181 0 TRY_OR -4407d 229 0 CALL: prolog:==(training, test ) -4409d 181 0 CALL: prolog:retractall(completion:bdd_cluster(1,_133418) ) -4410d 181 0 CALL: prolog:$retractall(bdd_cluster(1,_133418), completion ) -4411d 238 0 FAIL RETRY: prolog:$retractall(bdd_cluster(1,_133418), completion ) -4412d 181 0 CALL: prolog:functor(bdd_cluster(1,_133418), _133420, _133421 ) -4413d 181 0 CALL: prolog:$is_log_updatable(bdd_cluster(1,_133418), completion ) -4414d 181 0 CALL: prolog:$is_multifile(bdd_cluster(1,_133418), completion ) -4415d 181 0 CALL: prolog:$retractall_lu_mf(bdd_cluster(1,_133418), completion, bdd_cluster, 2 ) -4416d 232 0 CALL: prolog:$log_update_clause(bdd_cluster(1,_133418), completion, _1048332, _1048337 ) -4417d 232 0 FAIL RETRY: prolog:$retractall_lu_mf(bdd_cluster(1,_133418), completion, bdd_cluster, 2 ) -4418d 181 0 CALL: prolog:assertz(completion:bdd_cluster(1,[1]) ) -4419d 181 0 CALL: prolog:$assert(completion:bdd_cluster(1,[1]), assertz, _133425 ) -4420d 181 0 CALL: prolog:$yap_strip_clause(completion:bdd_cluster(1,[1]), _1048343, _1048344 ) -4421d 181 0 CALL: prolog:$expand_clause(completion:bdd_cluster(1,[1]), _1048347, _1048345 ) -4422d 242 0 CALL: prolog:source_module(_133426 ) -4423d 242 0 CALL: prolog:$yap_strip_clause(user:completion:bdd_cluster(1,[1]), _133430, _133431 ) -4424d 242 0 CALL: prolog:$expand_a_clause(completion:bdd_cluster(1,[1]), user, _1048347, _1048345 ) -4425d 242 0 CALL: prolog:$yap_strip_module(user:completion:bdd_cluster(1,[1]), _1048314, _133438 ) -4426d 242 0 CALL: prolog:$head_and_body(bdd_cluster(1,[1]), _1048313, _1048315 ) -4427d 272 0 FAIL RETRY: prolog:$head_and_body(bdd_cluster(1,[1]), _1048313, _1048315 ) -4428d 242 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(1,[1]), _1048316, _1048317 ) -4429d 242 0 CALL: prolog:$not_imported(bdd_cluster(1,[1]), completion ) -4430d 270 0 CALL: prolog:recorded('$import', '$import'(_133443,completion,_133445,bdd_cluster(1,[1]),_133447,_133448), _1048299 ) -4431d 270 0 FAIL RETRY: prolog:$not_imported(bdd_cluster(1,[1]), completion ) -4432d 242 0 CALL: prolog:$yap_strip_module(completion:true, _133445, _133446 ) -4433d 242 0 CALL: prolog:$expand_clause_body(true, bdd_cluster(1,[1]), completion, user, completion, _1048319, _1048321 ) -4434d 242 0 CALL: prolog:$build_up(completion, bdd_cluster(1,[1]), user, true, _1048347, true, _1048345 ) -4435d 261 0 CALL: prolog:==(completion, user ) -4436d 261 0 FAIL RETRY: prolog:$build_up(completion, bdd_cluster(1,[1]), user, true, _1048347, true, _1048345 ) -4437d 181 0 CALL: prolog:$$compile(completion:bdd_cluster(1,[1]), assertz, completion:bdd_cluster(1,[1]), _133425 ) -4438d 181 0 CALL: prolog:$head_and_body(completion:bdd_cluster(1,[1]), _1048342, _1048344 ) -4439d 243 0 FAIL RETRY: prolog:$head_and_body(completion:bdd_cluster(1,[1]), _1048342, _1048344 ) -4440d 181 0 CALL: prolog:strip_module(completion:bdd_cluster(1,[1]), _1048347, _1048343 ) -4441d 181 0 CALL: prolog:$undefined(bdd_cluster(1,[1]), completion ) -4442d 181 0 CALL: prolog:$compile(bdd_cluster(1,[1]):-true, assertz, completion:bdd_cluster(1,[1]), completion, _133425 ) -+s 0x5602af265bc0 - @0x7efdd88a31d8 0 -+s 0x5602aeffcbe0 - @0x7efdd88a31e8 0 -4443d 181 0 CALL: utils_learning:create_known_values_file_name(1, _1048354 ) -4444d 230 0 CALL: flags:problog_flag(bdd_directory, _1048337 ) -4445d 230 0 CALL: gflags:flag_get(bdd_directory, _1048337 ) -4446d 230 0 CALL: prolog:recorded(flag_values, flag(bdd_directory,_133461), _133462 ) -4447d 181 0 CALL: prolog:atomic_concat([query_,1,'_known_values'], _1048338 ) -4448d 181 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', query_1_known_values, _1048354 ) -4449d 181 0 CALL: os:path_separator(_1048346 ) -4450d 238 0 CALL: prolog:current_prolog_flag(windows, true ) -4451d 238 0 FAIL RETRY: os:path_separator(_1048346 ) -4452d 181 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_1_known_values], _1048354 ) -4453d 181 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_1_known_values], _1048354 ) -4454d 181 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_1_known_values', write, _1048371 ) -4455d 181 0 CALL: prolog:format('$stream'(3), 'completion:bdd_cluster(~w,~w).~n', completion:[1,[1]] ) -4456d 181 0 TRY_OR -4457d 227 0 CALL: prolog:recorded(known_atoms, <=>('$atom'(_133490),_133488), _1048356 ) -4458d 227 0 CALL: completion:remember(alarm, _1048357 ) -4459d 236 0 CALL: completion:seen_atom(alarm, _1048357, _1048332, _1048333 ) -4460d 236 0 FAIL RETRY: completion:remember(alarm, _1048357 ) -4461d 236 0 CALL: prolog:atom_codes(alarm, [76|_133492] ) -4462d 236 0 FAIL RETRY: completion:remember(alarm, _1048357 ) -4463d 236 0 CALL: problog:probabilistic_fact(_1048333, alarm, _1048332 ) -4464d 257 0 CALL: prolog:ground(alarm ) -4465d 236 0 CALL: prolog:=..(alarm, [_133491|_133492] ) -4466d 236 0 CALL: prolog:atomic_concat(problog_, alarm, _1048308 ) -4467d 236 0 CALL: lists:append([_133495], [_133497], _1048307 ) -4468d 236 0 CALL: lists:append([], [_133497], _133500 ) -4469d 236 0 CALL: prolog:=..(_1048310, [problog_alarm,_133495,_133497] ) -4470d 236 0 CALL: prolog:length([_133495,_133497], _1048309 ) -4471d 236 0 CALL: prolog:$skip_list([_133495,_133497], _1048309, _133506, _133507 ) -4472d 236 0 CALL: prolog:==([], [] ) -4473d 236 0 CALL: prolog:current_predicate(problog:problog_alarm/2 ) -4474d 236 0 CALL: prolog:$yap_strip_module(problog:problog_alarm/2, _1048304, _1048303 ) -4475d 236 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_alarm/2 ) -4476d 236 0 TRY_OR -4477d 288 0 CALL: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -4478d 297 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -4479d 288 0 TRY_OR -4481d 288 0 CALL: error:may_bind_to_type(atom, problog_alarm ) -4482d 305 0 FAIL RETRY: error:may_bind_to_type(atom, problog_alarm ) -4483d 288 0 CALL: error:may_bind_to_type(integer, 2 ) -4484d 297 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -4485d 236 0 CALL: prolog:$c_i_predicate(problog_alarm/2, problog ) -4486d 236 0 TRY_OR -4487d 282 0 CALL: prolog:ground(problog_alarm/2 ) -4488d 236 0 CALL: prolog:functor(_133514, problog_alarm, 2 ) -4489d 236 0 CALL: prolog:current_predicate(problog_alarm, problog:problog_alarm(_133515,_133516) ) -4490d 236 0 CALL: prolog:$yap_strip_module(problog:problog_alarm(_133515,_133516), _1048300, _1048299 ) -4491d 236 0 CALL: prolog:functor(problog_alarm(_133515,_133516), problog_alarm, _1048298 ) -4492d 236 0 TRY_OR -4493d 284 0 CALL: prolog:$current_predicate(problog_alarm, problog, problog_alarm(_133515,_133516), user ) -4495d 236 0 CALL: prolog:$imported_predicate(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4496d 285 0 CALL: prolog:$is_system_predicate(problog_alarm(_133515,_133516), prolog ) -4497d 285 0 FAIL RETRY: prolog:$imported_predicate(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4498d 236 0 CALL: prolog:$undefined(problog_alarm(_133515,_133516), problog ) -4499d 236 0 CALL: prolog:$get_undefined_predicates(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4500d 292 0 CALL: prolog:recorded('$import', '$import'(_133521,problog,_133523,problog_alarm(_133515,_133516),_133525,_133526), _1048273 ) -4501d 292 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4502d 292 0 CALL: prolog:$pred_exists(problog_alarm(_133515,_133516), user ) -4503d 292 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4504d 292 0 CALL: prolog:recorded('$dialect', swi, _1048268 ) -4505d 292 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_133515,_133516), problog, _1048303, _1048304 ) -4506d 236 0 CALL: prolog:$parent_module(problog, _1048286 ) -4507d 236 0 FAIL RETRY: completion:remember(alarm, _1048357 ) -4508d 227 0 CALL: completion:next_det_counter(_1048340 ) -4509d 227 0 CALL: prolog:bb_get(completion:det_counter, _1048331 ) -4510d 227 0 CALL: prolog:atomic_concat([y,1], _1048340 ) -4511d 227 0 CALL: prolog:bb_put(completion:det_counter, 1 ) -4512d 227 0 CALL: prolog:atomic_concat([y,y1], _1048357 ) -4513d 227 0 CALL: prolog:assertz(completion:seen_atom(alarm,yy1,det,1) ) -4514d 227 0 CALL: prolog:$assert(completion:seen_atom(alarm,yy1,det,1), assertz, _133510 ) -4515d 227 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(alarm,yy1,det,1), _1048337, _1048338 ) -4516d 227 0 CALL: prolog:$expand_clause(completion:seen_atom(alarm,yy1,det,1), _1048341, _1048339 ) -4517d 248 0 CALL: prolog:source_module(_133511 ) -4518d 248 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(alarm,yy1,det,1), _133515, _133516 ) -4519d 248 0 CALL: prolog:$expand_a_clause(completion:seen_atom(alarm,yy1,det,1), user, _1048341, _1048339 ) -4520d 248 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(alarm,yy1,det,1), _1048308, _133523 ) -4521d 248 0 CALL: prolog:$head_and_body(seen_atom(alarm,yy1,det,1), _1048307, _1048309 ) -4522d 278 0 FAIL RETRY: prolog:$head_and_body(seen_atom(alarm,yy1,det,1), _1048307, _1048309 ) -4523d 248 0 CALL: prolog:$yap_strip_module(completion:seen_atom(alarm,yy1,det,1), _1048310, _1048311 ) -4524d 248 0 CALL: prolog:$not_imported(seen_atom(alarm,yy1,det,1), completion ) -4525d 276 0 CALL: prolog:recorded('$import', '$import'(_133528,completion,_133530,seen_atom(alarm,yy1,det,1),_133532,_133533), _1048293 ) -4526d 276 0 FAIL RETRY: prolog:$not_imported(seen_atom(alarm,yy1,det,1), completion ) -4527d 248 0 CALL: prolog:$yap_strip_module(completion:true, _133530, _133531 ) -4528d 248 0 CALL: prolog:$expand_clause_body(true, seen_atom(alarm,yy1,det,1), completion, user, completion, _1048313, _1048315 ) -4529d 248 0 CALL: prolog:$build_up(completion, seen_atom(alarm,yy1,det,1), user, true, _1048341, true, _1048339 ) -4530d 267 0 CALL: prolog:==(completion, user ) -4531d 267 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(alarm,yy1,det,1), user, true, _1048341, true, _1048339 ) -4532d 227 0 CALL: prolog:$$compile(completion:seen_atom(alarm,yy1,det,1), assertz, completion:seen_atom(alarm,yy1,det,1), _133510 ) -4533d 227 0 CALL: prolog:$head_and_body(completion:seen_atom(alarm,yy1,det,1), _1048336, _1048338 ) -4534d 249 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(alarm,yy1,det,1), _1048336, _1048338 ) -4535d 227 0 CALL: prolog:strip_module(completion:seen_atom(alarm,yy1,det,1), _1048341, _1048337 ) -4536d 227 0 CALL: prolog:$undefined(seen_atom(alarm,yy1,det,1), completion ) -4537d 227 0 CALL: prolog:$compile(seen_atom(alarm,yy1,det,1):-true, assertz, completion:seen_atom(alarm,yy1,det,1), completion, _133510 ) -+s 0x5602af2545f0 - @0x7efdd88a3238 0 -4538d 227 0 CALL: completion:split_atom_name(yy1, _1048365, _1048366 ) -4539d 227 0 CALL: prolog:atomic_concat(x, _1048336, yy1 ) -4541d 181 0 CALL: prolog:close('$stream'(3) ) -4542d 181 0 CALL: prolog:key_statistics(known_atoms, _1048381, _1048377 ) -4543d 181 0 CALL: prolog:key_statistics(known_atoms, _1048381, _1048369, _1048370 ) -4544d 181 0 CALL: logger:logger_add_to_variable(train_bdd_script_generation_active_ground_atoms, 2 ) -4545d 181 0 TRY_OR -4546d 212 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_active_ground_atoms ) -4547d 212 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_active_ground_atoms, _1048356 ) -4548d 212 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, _1048357 ) -4549d 212 0 CALL: prolog:\=(null, null ) -4551d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_active_ground_atoms, 2 ) -4552d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_active_ground_atoms, _1048371 ) -4553d 181 0 TRY_OR -4554d 213 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, null ) -4555d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_active_ground_atoms, 2 ) -4556d 181 0 CALL: logger:logger_add_to_variable(train_bdd_script_generation_propagated_ground_atoms, 1 ) -4557d 181 0 TRY_OR -4558d 210 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_propagated_ground_atoms ) -4559d 210 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagated_ground_atoms, _1048358 ) -4560d 210 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, _1048359 ) -4561d 210 0 CALL: prolog:\=(null, null ) -4563d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation_propagated_ground_atoms, 1 ) -4564d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagated_ground_atoms, _1048373 ) -4565d 181 0 TRY_OR -4566d 211 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, null ) -4567d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, 1 ) -4568d 181 0 CALL: prolog:eraseall(rules ) -- 0x5602af2655d0 - @0x7efdd88a31e8 181 -4569d 181 0 CALL: prolog:eraseall(unpropagated_rules ) -4570d 181 0 CALL: prolog:eraseall(known_atoms ) -- 0x5602af265760 - @0x7efdd88a31e8 181 -4571d 181 0 CALL: grounder:grounder_reset -4572d 181 0 CALL: prolog:eraseall(reachable ) -4573d 181 0 CALL: logger:logger_stop_timer(train_bdd_script_generation ) -4574d 181 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation, _1048375 ) -4575d 181 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation, _1048378 ) -4576d 181 0 CALL: prolog:statistics(walltime, [_133501,_133503] ) -4577d 181 0 CALL: prolog:$walltime(_133501, _133503 ) -4578d 181 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation, null ) -4579d 181 0 TRY_OR -4580d 204 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation ) -4581d 204 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation, _1048364 ) -4582d 204 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, _1048365 ) -4583d 204 0 CALL: prolog:\=(null, null ) -4585d 181 0 CALL: logger:logger_set_variable(train_bdd_script_generation, 35794 ) -4586d 181 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation, _1048374 ) -4587d 181 0 TRY_OR -4588d 210 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, null ) -4589d 181 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation, 35794 ) -4590d 181 0 CALL: print_learning:format_learning(3, '~n', [] ) -4591d 196 0 CALL: flags:problog_flag(verbosity_learning, _1048370 ) -4592d 196 0 CALL: gflags:flag_get(verbosity_learning, _1048370 ) -4593d 196 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_133513), _133514 ) -4594d 196 0 CALL: prolog:>=(5, 3 ) -4595d 181 0 CALL: prolog:format('~n', print_learning:[] ) -4596d 181 0 CALL: prolog:flush_output(user ) - -4597d 181 0 CALL: prolog:garbage_collect_atoms -4598d 181 0 CALL: prolog:$atom_gc -- 0x5602af272db0 - @0x7efdd88a31e8 181 -- 0x5602af271fc0 - @0x7efdd88a31e8 181 -- 0x5602af273a60 - @0x7efdd88a31e8 181 -- 0x5602af282bf0 - @0x7efdd88a31e8 181 -- 0x5602af2750b0 - @0x7efdd88a31e8 181 -4599d 181 0 CALL: prolog:garbage_collect -4600d 181 0 CALL: prolog:$gc -- 0x5602aecef570 - @0x7efdd88a3258 181 -4601d 173 0 FAIL RETRY: user:example(_1048418 ) -4602d 165 0 TRY_OR -4603d 173 0 CALL: print_learning:format_learning(3, 'training example ~q: ', [2] ) -4604d 183 0 CALL: flags:problog_flag(verbosity_learning, _1048383 ) -4605d 183 0 CALL: gflags:flag_get(verbosity_learning, _1048383 ) -4606d 183 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_130923), _130924 ) -4607d 183 0 CALL: prolog:>=(5, 3 ) -4608d 173 0 CALL: prolog:format('training example ~q: ', print_learning:[2] ) -4609d 173 0 CALL: prolog:flush_output(user ) -training example 2: 4610d 173 0 CALL: problog_lfi:init_one_query(2, training ) -4611d 182 0 CALL: utils_learning:create_known_values_file_name(2, _1048387 ) -4612d 198 0 CALL: flags:problog_flag(bdd_directory, _1048369 ) -4613d 198 0 CALL: gflags:flag_get(bdd_directory, _1048369 ) -4614d 198 0 CALL: prolog:recorded(flag_values, flag(bdd_directory,_130931), _130932 ) -4615d 182 0 CALL: prolog:atomic_concat([query_,2,'_known_values'], _1048370 ) -4616d 182 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', query_2_known_values, _1048387 ) -4617d 182 0 CALL: os:path_separator(_1048378 ) -4618d 206 0 CALL: prolog:current_prolog_flag(windows, true ) -4619d 206 0 FAIL RETRY: os:path_separator(_1048378 ) -4620d 182 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_2_known_values], _1048387 ) -4621d 182 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_2_known_values], _1048387 ) -4622d 182 0 CALL: prolog:file_exists('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -4623d 182 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _130945, [expand(true),solutions(first),access(exist)] ) -4624d 182 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', [expand(true),solutions(first),access(exist)], _130945 ) -4625d 209 0 FAIL RETRY: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', [expand(true),solutions(first),access(exist)], _130945 ) -4626d 182 0 CALL: prolog:$absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', [expand(true),solutions(first),access(exist)], _130945 ) -4627d 182 0 CALL: prolog:gated_call('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',[expand(true),solutions(first),access(exist)],_130961,_130962,_130963,_130964,_130965,_130966,_130967,_130968,_130969), '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',_130961,_130945,_130962,_130968), _130976, '$absf_port'(_130976,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',_130945,_130962,_130963,_130964,_130965,_130966,_130967,_130968,_130969) ) -4628d 182 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',[expand(true),solutions(first),access(exist)],_130961,_130962,_130963,_130964,_130965,_130966,_130967,_130968,_130969) ) -4629d 219 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _130961 ) -4630d 219 0 CALL: prolog:current_prolog_flag(open_expands_filename, _130963 ) -4631d 219 0 CALL: prolog:current_prolog_flag(fileerrors, _130964 ) -4632d 219 0 CALL: prolog:current_prolog_flag(verbose_file_search, _130965 ) -4633d 219 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _130967 ) -4634d 219 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _130966 ) -4635d 219 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -4636d 219 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _130999 ) -4637d 219 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _130968 ) -4638d 219 0 TRY_OR -4639d 237 0 CALL: prolog:==(error, fail ) -4641d 219 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -4642d 219 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -4643d 219 0 CALL: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -4644d 234 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4645d 234 0 FAIL RETRY: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values' ) -4646d 219 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -4647d 233 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4648d 233 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -4649d 182 0 CALL: prolog:$gated_call(true, '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',opt(exist,true,[],error,txt,'','',first,false),_130945,t(no),first), _130976, '$absf_port'(_130976,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',_130945,t(no),false,true,false,true,false,first,true) ) -4650d 182 0 CALL: prolog:$tag_cleanup(_131008, cleanup(true,_130976,'$absf_port'(_130976,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',_130945,t(no),false,true,false,true,false,first,true),_131006,true,_131008) ) -4651d 182 0 CALL: prolog:$execute('$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values',opt(exist,true,[],error,txt,'','',first,false),_130945,t(no),first) ) -4652d 182 0 CALL: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', opt(exist,true,[],error,txt,'','',first,false), _130945, t(no), first ) -4653d 208 0 FAIL RETRY: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', opt(exist,true,[],error,txt,'','',first,false), _130945, t(no), first ) -4654d 182 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048371 ) -4655d 182 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048372 ) -4656d 182 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048366 ) -4657d 182 0 CALL: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -4658d 224 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4659d 224 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -4660d 182 0 CALL: prolog:$core_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048362, [] ) -4661d 182 0 CALL: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048351, _1048362, _1048352 ) -4662d 236 0 CALL: prolog:=..('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', [_131026,_131028] ) -4663d 236 0 FAIL RETRY: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', opt(exist,true,[],error,txt,'','',first,false), _1048351, _1048362, _1048352 ) -4664d 182 0 CALL: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048351, _1048362, _1048352 ) -4665d 235 0 FAIL RETRY: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048351, _1048362, _1048352 ) -4666d 235 0 CALL: prolog:atom_codes('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048351 ) -4667d 182 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048362, _1048352 ) -4668d 182 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131201, _1048352 ) -4669d 182 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131203, _1048352 ) -4670d 182 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131205, _1048352 ) -4671d 182 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131207, _1048352 ) -4672d 182 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131209, _1048352 ) -4673d 182 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131211, _1048352 ) -4674d 182 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131213, _1048352 ) -4675d 182 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131215, _1048352 ) -4676d 182 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131217, _1048352 ) -4677d 182 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131219, _1048352 ) -4678d 182 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131221, _1048352 ) -4679d 182 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131223, _1048352 ) -4680d 182 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131225, _1048352 ) -4681d 182 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131227, _1048352 ) -4682d 182 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131229, _1048352 ) -4683d 182 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131231, _1048352 ) -4684d 182 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131233, _1048352 ) -4685d 182 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131235, _1048352 ) -4686d 182 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131237, _1048352 ) -4687d 182 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131239, _1048352 ) -4688d 182 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131241, _1048352 ) -4689d 182 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131243, _1048352 ) -4690d 182 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131245, _1048352 ) -4691d 182 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131247, _1048352 ) -4692d 182 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131249, _1048352 ) -4693d 182 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131251, _1048352 ) -4694d 182 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131253, _1048352 ) -4695d 182 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131255, _1048352 ) -4696d 182 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131257, _1048352 ) -4697d 182 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131259, _1048352 ) -4698d 182 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131261, _1048352 ) -4699d 182 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131263, _1048352 ) -4700d 182 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131265, _1048352 ) -4701d 182 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131267, _1048352 ) -4702d 182 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131269, _1048352 ) -4703d 182 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131271, _1048352 ) -4704d 182 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131273, _1048352 ) -4705d 182 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131275, _1048352 ) -4706d 182 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131277, _1048352 ) -4707d 182 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131279, _1048352 ) -4708d 182 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131281, _1048352 ) -4709d 182 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131283, _1048352 ) -4710d 182 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131285, _1048352 ) -4711d 182 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131287, _1048352 ) -4712d 182 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131289, _1048352 ) -4713d 182 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131291, _1048352 ) -4714d 182 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131293, _1048352 ) -4715d 182 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131295, _1048352 ) -4716d 182 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131297, _1048352 ) -4717d 182 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131299, _1048352 ) -4718d 182 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131301, _1048352 ) -4719d 182 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131303, _1048352 ) -4720d 182 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131305, _1048352 ) -4721d 182 0 CALL: prolog:$phrase_list([112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131307, _1048352 ) -4722d 182 0 CALL: prolog:$phrase_list([108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131309, _1048352 ) -4723d 182 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131311, _1048352 ) -4724d 182 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131313, _1048352 ) -4725d 182 0 CALL: prolog:$phrase_list([47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131315, _1048352 ) -4726d 182 0 CALL: prolog:$phrase_list([113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131317, _1048352 ) -4727d 182 0 CALL: prolog:$phrase_list([117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131319, _1048352 ) -4728d 182 0 CALL: prolog:$phrase_list([101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131321, _1048352 ) -4729d 182 0 CALL: prolog:$phrase_list([114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131323, _1048352 ) -4730d 182 0 CALL: prolog:$phrase_list([105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131325, _1048352 ) -4731d 182 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131327, _1048352 ) -4732d 182 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131329, _1048352 ) -4733d 182 0 CALL: prolog:$phrase_list([47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131331, _1048352 ) -4734d 182 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131333, _1048352 ) -4735d 182 0 CALL: prolog:$phrase_list([117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131335, _1048352 ) -4736d 182 0 CALL: prolog:$phrase_list([101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131337, _1048352 ) -4737d 182 0 CALL: prolog:$phrase_list([114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131339, _1048352 ) -4738d 182 0 CALL: prolog:$phrase_list([121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131341, _1048352 ) -4739d 182 0 CALL: prolog:$phrase_list([95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131343, _1048352 ) -4740d 182 0 CALL: prolog:$phrase_list([50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131345, _1048352 ) -4741d 182 0 CALL: prolog:$phrase_list([95,107,110,111,119,110,95,118,97,108,117,101,115], _131347, _1048352 ) -4742d 182 0 CALL: prolog:$phrase_list([107,110,111,119,110,95,118,97,108,117,101,115], _131349, _1048352 ) -4743d 182 0 CALL: prolog:$phrase_list([110,111,119,110,95,118,97,108,117,101,115], _131351, _1048352 ) -4744d 182 0 CALL: prolog:$phrase_list([111,119,110,95,118,97,108,117,101,115], _131353, _1048352 ) -4745d 182 0 CALL: prolog:$phrase_list([119,110,95,118,97,108,117,101,115], _131355, _1048352 ) -4746d 182 0 CALL: prolog:$phrase_list([110,95,118,97,108,117,101,115], _131357, _1048352 ) -4747d 182 0 CALL: prolog:$phrase_list([95,118,97,108,117,101,115], _131359, _1048352 ) -4748d 182 0 CALL: prolog:$phrase_list([118,97,108,117,101,115], _131361, _1048352 ) -4749d 182 0 CALL: prolog:$phrase_list([97,108,117,101,115], _131363, _1048352 ) -4750d 182 0 CALL: prolog:$phrase_list([108,117,101,115], _131365, _1048352 ) -4751d 182 0 CALL: prolog:$phrase_list([117,101,115], _131367, _1048352 ) -4752d 182 0 CALL: prolog:$phrase_list([101,115], _131369, _1048352 ) -4753d 182 0 CALL: prolog:$phrase_list([115], _131371, _1048352 ) -4754d 182 0 CALL: prolog:$phrase_list([], _131373, _1048352 ) -4755d 182 0 CALL: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _131373, _1048354 ) -4756d 233 0 CALL: lists:append(_1048332, [46|_131375], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4757d 253 0 FAIL RETRY: lists:append(_1048332, [46|_131375], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4758d 233 0 CALL: lists:append(_131377, [46|_131375], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4759d 253 0 FAIL RETRY: lists:append(_131377, [46|_131375], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4760d 233 0 CALL: lists:append(_131379, [46|_131375], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4761d 253 0 FAIL RETRY: lists:append(_131379, [46|_131375], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4762d 233 0 CALL: lists:append(_131381, [46|_131375], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4763d 253 0 FAIL RETRY: lists:append(_131381, [46|_131375], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4764d 233 0 CALL: lists:append(_131383, [46|_131375], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4765d 253 0 FAIL RETRY: lists:append(_131383, [46|_131375], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4766d 233 0 CALL: lists:append(_131385, [46|_131375], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4767d 253 0 FAIL RETRY: lists:append(_131385, [46|_131375], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4768d 233 0 CALL: lists:append(_131387, [46|_131375], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4769d 253 0 FAIL RETRY: lists:append(_131387, [46|_131375], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4770d 233 0 CALL: lists:append(_131389, [46|_131375], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4771d 253 0 FAIL RETRY: lists:append(_131389, [46|_131375], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4772d 233 0 CALL: lists:append(_131391, [46|_131375], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4773d 253 0 FAIL RETRY: lists:append(_131391, [46|_131375], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4774d 233 0 CALL: lists:append(_131393, [46|_131375], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4775d 253 0 FAIL RETRY: lists:append(_131393, [46|_131375], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4776d 233 0 CALL: lists:append(_131395, [46|_131375], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4777d 253 0 FAIL RETRY: lists:append(_131395, [46|_131375], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4778d 233 0 CALL: lists:append(_131397, [46|_131375], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4779d 253 0 FAIL RETRY: lists:append(_131397, [46|_131375], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4780d 233 0 CALL: lists:append(_131399, [46|_131375], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4781d 253 0 FAIL RETRY: lists:append(_131399, [46|_131375], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4782d 233 0 CALL: lists:append(_131401, [46|_131375], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4783d 253 0 FAIL RETRY: lists:append(_131401, [46|_131375], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4784d 233 0 CALL: lists:append(_131403, [46|_131375], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4785d 253 0 FAIL RETRY: lists:append(_131403, [46|_131375], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4786d 233 0 CALL: lists:append(_131405, [46|_131375], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4787d 253 0 FAIL RETRY: lists:append(_131405, [46|_131375], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4788d 233 0 CALL: lists:append(_131407, [46|_131375], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4789d 253 0 FAIL RETRY: lists:append(_131407, [46|_131375], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4790d 233 0 CALL: lists:append(_131409, [46|_131375], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4791d 253 0 FAIL RETRY: lists:append(_131409, [46|_131375], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4792d 233 0 CALL: lists:append(_131411, [46|_131375], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4793d 253 0 FAIL RETRY: lists:append(_131411, [46|_131375], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4794d 233 0 CALL: lists:append(_131413, [46|_131375], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4795d 253 0 FAIL RETRY: lists:append(_131413, [46|_131375], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4796d 233 0 CALL: lists:append(_131415, [46|_131375], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4797d 253 0 FAIL RETRY: lists:append(_131415, [46|_131375], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4798d 233 0 CALL: lists:append(_131417, [46|_131375], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4799d 253 0 FAIL RETRY: lists:append(_131417, [46|_131375], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4800d 233 0 CALL: lists:append(_131419, [46|_131375], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4801d 253 0 CALL: prolog:$id([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048333, [] ) -4802d 253 0 CALL: prolog:C(_1048333, 51, _1048315 ) -4803d 253 0 TRY_OR -4804d 270 0 CALL: prolog:>=(51, 97 ) -4806d 270 0 CALL: prolog:>=(51, 65 ) -4808d 270 0 CALL: prolog:>=(51, 48 ) -4809d 270 0 CALL: prolog:=<(51, 57 ) -4810d 253 0 CALL: prolog:$id([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131421, [] ) -4811d 253 0 CALL: prolog:C(_131421, 47, _1048315 ) -4812d 253 0 TRY_OR -4813d 270 0 CALL: prolog:>=(47, 97 ) -4815d 270 0 CALL: prolog:>=(47, 65 ) -4817d 270 0 CALL: prolog:>=(47, 48 ) -4819d 253 0 CALL: prolog:=:=(47, 95 ) -4820d 253 0 FAIL RETRY: lists:append(_131419, [46|_131375], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4821d 233 0 CALL: lists:append(_131421, [46|_131375], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4822d 253 0 FAIL RETRY: lists:append(_131421, [46|_131375], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4823d 233 0 CALL: lists:append(_131423, [46|_131375], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4824d 253 0 FAIL RETRY: lists:append(_131423, [46|_131375], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4825d 233 0 CALL: lists:append(_131425, [46|_131375], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4826d 253 0 FAIL RETRY: lists:append(_131425, [46|_131375], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4827d 233 0 CALL: lists:append(_131427, [46|_131375], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4828d 253 0 FAIL RETRY: lists:append(_131427, [46|_131375], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4829d 233 0 CALL: lists:append(_131429, [46|_131375], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4830d 253 0 FAIL RETRY: lists:append(_131429, [46|_131375], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4831d 233 0 CALL: lists:append(_131431, [46|_131375], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4832d 253 0 FAIL RETRY: lists:append(_131431, [46|_131375], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4833d 233 0 CALL: lists:append(_131433, [46|_131375], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4834d 253 0 FAIL RETRY: lists:append(_131433, [46|_131375], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4835d 233 0 CALL: lists:append(_131435, [46|_131375], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4836d 253 0 FAIL RETRY: lists:append(_131435, [46|_131375], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4837d 233 0 CALL: lists:append(_131437, [46|_131375], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4838d 253 0 FAIL RETRY: lists:append(_131437, [46|_131375], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4839d 233 0 CALL: lists:append(_131439, [46|_131375], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4840d 253 0 FAIL RETRY: lists:append(_131439, [46|_131375], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4841d 233 0 CALL: lists:append(_131441, [46|_131375], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4842d 253 0 FAIL RETRY: lists:append(_131441, [46|_131375], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4843d 233 0 CALL: lists:append(_131443, [46|_131375], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4844d 253 0 FAIL RETRY: lists:append(_131443, [46|_131375], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4845d 233 0 CALL: lists:append(_131445, [46|_131375], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4846d 253 0 FAIL RETRY: lists:append(_131445, [46|_131375], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4847d 233 0 CALL: lists:append(_131447, [46|_131375], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4848d 253 0 FAIL RETRY: lists:append(_131447, [46|_131375], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4849d 233 0 CALL: lists:append(_131449, [46|_131375], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4850d 253 0 FAIL RETRY: lists:append(_131449, [46|_131375], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4851d 233 0 CALL: lists:append(_131451, [46|_131375], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4852d 253 0 FAIL RETRY: lists:append(_131451, [46|_131375], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4853d 233 0 CALL: lists:append(_131453, [46|_131375], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4854d 253 0 FAIL RETRY: lists:append(_131453, [46|_131375], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4855d 233 0 CALL: lists:append(_131455, [46|_131375], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4856d 253 0 FAIL RETRY: lists:append(_131455, [46|_131375], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4857d 233 0 CALL: lists:append(_131457, [46|_131375], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4858d 253 0 FAIL RETRY: lists:append(_131457, [46|_131375], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4859d 233 0 CALL: lists:append(_131459, [46|_131375], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4860d 253 0 FAIL RETRY: lists:append(_131459, [46|_131375], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4861d 233 0 CALL: lists:append(_131461, [46|_131375], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4862d 253 0 FAIL RETRY: lists:append(_131461, [46|_131375], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4863d 233 0 CALL: lists:append(_131463, [46|_131375], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4864d 253 0 FAIL RETRY: lists:append(_131463, [46|_131375], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4865d 233 0 CALL: lists:append(_131465, [46|_131375], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4866d 253 0 FAIL RETRY: lists:append(_131465, [46|_131375], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4867d 233 0 CALL: lists:append(_131467, [46|_131375], [108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4868d 253 0 FAIL RETRY: lists:append(_131467, [46|_131375], [108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4869d 233 0 CALL: lists:append(_131469, [46|_131375], [111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4870d 253 0 FAIL RETRY: lists:append(_131469, [46|_131375], [111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4871d 233 0 CALL: lists:append(_131471, [46|_131375], [103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4872d 253 0 FAIL RETRY: lists:append(_131471, [46|_131375], [103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4873d 233 0 CALL: lists:append(_131473, [46|_131375], [95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4874d 253 0 FAIL RETRY: lists:append(_131473, [46|_131375], [95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4875d 233 0 CALL: lists:append(_131475, [46|_131375], [101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4876d 253 0 FAIL RETRY: lists:append(_131475, [46|_131375], [101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4877d 233 0 CALL: lists:append(_131477, [46|_131375], [120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4878d 253 0 FAIL RETRY: lists:append(_131477, [46|_131375], [120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4879d 233 0 CALL: lists:append(_131479, [46|_131375], [97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4880d 253 0 FAIL RETRY: lists:append(_131479, [46|_131375], [97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4881d 233 0 CALL: lists:append(_131481, [46|_131375], [109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4882d 253 0 FAIL RETRY: lists:append(_131481, [46|_131375], [109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4883d 233 0 CALL: lists:append(_131483, [46|_131375], [112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4884d 253 0 FAIL RETRY: lists:append(_131483, [46|_131375], [112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4885d 233 0 CALL: lists:append(_131485, [46|_131375], [108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4886d 253 0 FAIL RETRY: lists:append(_131485, [46|_131375], [108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4887d 233 0 CALL: lists:append(_131487, [46|_131375], [101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4888d 253 0 FAIL RETRY: lists:append(_131487, [46|_131375], [101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4889d 233 0 CALL: lists:append(_131489, [46|_131375], [115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4890d 253 0 FAIL RETRY: lists:append(_131489, [46|_131375], [115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4891d 233 0 CALL: lists:append(_131491, [46|_131375], [47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4892d 253 0 FAIL RETRY: lists:append(_131491, [46|_131375], [47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4893d 233 0 CALL: lists:append(_131493, [46|_131375], [113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4894d 253 0 FAIL RETRY: lists:append(_131493, [46|_131375], [113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4895d 233 0 CALL: lists:append(_131495, [46|_131375], [117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4896d 253 0 FAIL RETRY: lists:append(_131495, [46|_131375], [117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4897d 233 0 CALL: lists:append(_131497, [46|_131375], [101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4898d 253 0 FAIL RETRY: lists:append(_131497, [46|_131375], [101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4899d 233 0 CALL: lists:append(_131499, [46|_131375], [114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4900d 253 0 FAIL RETRY: lists:append(_131499, [46|_131375], [114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4901d 233 0 CALL: lists:append(_131501, [46|_131375], [105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4902d 253 0 FAIL RETRY: lists:append(_131501, [46|_131375], [105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4903d 233 0 CALL: lists:append(_131503, [46|_131375], [101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4904d 253 0 FAIL RETRY: lists:append(_131503, [46|_131375], [101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4905d 233 0 CALL: lists:append(_131505, [46|_131375], [115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4906d 253 0 FAIL RETRY: lists:append(_131505, [46|_131375], [115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4907d 233 0 CALL: lists:append(_131507, [46|_131375], [47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4908d 253 0 FAIL RETRY: lists:append(_131507, [46|_131375], [47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4909d 233 0 CALL: lists:append(_131509, [46|_131375], [113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4910d 253 0 FAIL RETRY: lists:append(_131509, [46|_131375], [113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4911d 233 0 CALL: lists:append(_131511, [46|_131375], [117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4912d 253 0 FAIL RETRY: lists:append(_131511, [46|_131375], [117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4913d 233 0 CALL: lists:append(_131513, [46|_131375], [101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4914d 253 0 FAIL RETRY: lists:append(_131513, [46|_131375], [101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4915d 233 0 CALL: lists:append(_131515, [46|_131375], [114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4916d 253 0 FAIL RETRY: lists:append(_131515, [46|_131375], [114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4917d 233 0 CALL: lists:append(_131517, [46|_131375], [121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4918d 253 0 FAIL RETRY: lists:append(_131517, [46|_131375], [121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4919d 233 0 CALL: lists:append(_131519, [46|_131375], [95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4920d 253 0 FAIL RETRY: lists:append(_131519, [46|_131375], [95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4921d 233 0 CALL: lists:append(_131521, [46|_131375], [50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4922d 253 0 FAIL RETRY: lists:append(_131521, [46|_131375], [50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4923d 233 0 CALL: lists:append(_131523, [46|_131375], [95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4924d 253 0 FAIL RETRY: lists:append(_131523, [46|_131375], [95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4925d 233 0 CALL: lists:append(_131525, [46|_131375], [107,110,111,119,110,95,118,97,108,117,101,115] ) -4926d 253 0 FAIL RETRY: lists:append(_131525, [46|_131375], [107,110,111,119,110,95,118,97,108,117,101,115] ) -4927d 233 0 CALL: lists:append(_131527, [46|_131375], [110,111,119,110,95,118,97,108,117,101,115] ) -4928d 253 0 FAIL RETRY: lists:append(_131527, [46|_131375], [110,111,119,110,95,118,97,108,117,101,115] ) -4929d 233 0 CALL: lists:append(_131529, [46|_131375], [111,119,110,95,118,97,108,117,101,115] ) -4930d 253 0 FAIL RETRY: lists:append(_131529, [46|_131375], [111,119,110,95,118,97,108,117,101,115] ) -4931d 233 0 CALL: lists:append(_131531, [46|_131375], [119,110,95,118,97,108,117,101,115] ) -4932d 253 0 FAIL RETRY: lists:append(_131531, [46|_131375], [119,110,95,118,97,108,117,101,115] ) -4933d 233 0 CALL: lists:append(_131533, [46|_131375], [110,95,118,97,108,117,101,115] ) -4934d 253 0 FAIL RETRY: lists:append(_131533, [46|_131375], [110,95,118,97,108,117,101,115] ) -4935d 233 0 CALL: lists:append(_131535, [46|_131375], [95,118,97,108,117,101,115] ) -4936d 253 0 FAIL RETRY: lists:append(_131535, [46|_131375], [95,118,97,108,117,101,115] ) -4937d 233 0 CALL: lists:append(_131537, [46|_131375], [118,97,108,117,101,115] ) -4938d 253 0 FAIL RETRY: lists:append(_131537, [46|_131375], [118,97,108,117,101,115] ) -4939d 233 0 CALL: lists:append(_131539, [46|_131375], [97,108,117,101,115] ) -4940d 253 0 FAIL RETRY: lists:append(_131539, [46|_131375], [97,108,117,101,115] ) -4941d 233 0 CALL: lists:append(_131541, [46|_131375], [108,117,101,115] ) -4942d 253 0 FAIL RETRY: lists:append(_131541, [46|_131375], [108,117,101,115] ) -4943d 233 0 CALL: lists:append(_131543, [46|_131375], [117,101,115] ) -4944d 253 0 FAIL RETRY: lists:append(_131543, [46|_131375], [117,101,115] ) -4945d 233 0 CALL: lists:append(_131545, [46|_131375], [101,115] ) -4946d 253 0 FAIL RETRY: lists:append(_131545, [46|_131375], [101,115] ) -4947d 233 0 CALL: lists:append(_131547, [46|_131375], [115] ) -4948d 253 0 FAIL RETRY: lists:append(_131547, [46|_131375], [115] ) -4949d 233 0 CALL: lists:append(_131549, [46|_131375], [] ) -4950d 253 0 FAIL RETRY: lists:append(_131549, [46|_131375], [] ) -4951d 233 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _131373, _1048354 ) -4952d 233 0 TRY_OR -4953d 255 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048328 ) -4954d 255 0 CALL: prolog:\=([], [] ) -4956d 233 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _131374 ) -4957d 233 0 TRY_OR -4958d 253 0 CALL: prolog:==(txt, source ) -4960d 233 0 CALL: user:prolog_file_type(_1048333, txt ) -4961d 233 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _131373, _1048354 ) -4962d 182 0 CALL: prolog:$absf_trace(' try no suffix', [], _131373, _1048354 ) -4963d 233 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4964d 233 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _131373, _1048354 ) -4965d 182 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131373, [] ) -4966d 224 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _131374 ) -4967d 224 0 CALL: prolog:\=('', '' ) -4968d 224 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131373, [] ) -4969d 182 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -4970d 222 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4971d 222 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -4972d 182 0 CALL: prolog:$variable_expansion([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _1048363 ) -4973d 222 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -4974d 182 0 CALL: prolog:$expand_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048363 ) -4975d 182 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -4976d 221 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -4977d 221 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -4978d 182 0 CALL: prolog:$prefix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], opt(exist,true,[],error,txt,'','',first,false), _1048365, [] ) -4979d 221 0 CALL: prolog:is_absolute_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -4980d 182 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _1048365, [] ) -4981d 182 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131553, [] ) -4982d 182 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131555, [] ) -4983d 182 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131557, [] ) -4984d 182 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131559, [] ) -4985d 182 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131561, [] ) -4986d 182 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131563, [] ) -4987d 182 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131565, [] ) -4988d 182 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131567, [] ) -4989d 182 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131569, [] ) -4990d 182 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131571, [] ) -4991d 182 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131573, [] ) -4992d 182 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131575, [] ) -4993d 182 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131577, [] ) -4994d 182 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131579, [] ) -4995d 182 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131581, [] ) -4996d 182 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131583, [] ) -4997d 182 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131585, [] ) -4998d 182 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131587, [] ) -4999d 182 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131589, [] ) -5000d 182 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131591, [] ) -5001d 182 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131593, [] ) -5002d 182 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131595, [] ) -5003d 182 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131597, [] ) -5004d 182 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131599, [] ) -5005d 182 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131601, [] ) -5006d 182 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131603, [] ) -5007d 182 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131605, [] ) -5008d 182 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131607, [] ) -5009d 182 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131609, [] ) -5010d 182 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131611, [] ) -5011d 182 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131613, [] ) -5012d 182 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131615, [] ) -5013d 182 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131617, [] ) -5014d 182 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131619, [] ) -5015d 182 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131621, [] ) -5016d 182 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131623, [] ) -5017d 182 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131625, [] ) -5018d 182 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131627, [] ) -5019d 182 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131629, [] ) -5020d 182 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131631, [] ) -5021d 182 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131633, [] ) -5022d 182 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131635, [] ) -5023d 182 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131637, [] ) -5024d 182 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131639, [] ) -5025d 182 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131641, [] ) -5026d 182 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131643, [] ) -5027d 182 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131645, [] ) -5028d 182 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131647, [] ) -5029d 182 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131649, [] ) -5030d 182 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131651, [] ) -5031d 182 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131653, [] ) -5032d 182 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131655, [] ) -5033d 182 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131657, [] ) -5034d 182 0 CALL: prolog:$phrase_list([112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131659, [] ) -5035d 182 0 CALL: prolog:$phrase_list([108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131661, [] ) -5036d 182 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131663, [] ) -5037d 182 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131665, [] ) -5038d 182 0 CALL: prolog:$phrase_list([47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131667, [] ) -5039d 182 0 CALL: prolog:$phrase_list([113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131669, [] ) -5040d 182 0 CALL: prolog:$phrase_list([117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131671, [] ) -5041d 182 0 CALL: prolog:$phrase_list([101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131673, [] ) -5042d 182 0 CALL: prolog:$phrase_list([114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131675, [] ) -5043d 182 0 CALL: prolog:$phrase_list([105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131677, [] ) -5044d 182 0 CALL: prolog:$phrase_list([101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131679, [] ) -5045d 182 0 CALL: prolog:$phrase_list([115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131681, [] ) -5046d 182 0 CALL: prolog:$phrase_list([47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131683, [] ) -5047d 182 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131685, [] ) -5048d 182 0 CALL: prolog:$phrase_list([117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131687, [] ) -5049d 182 0 CALL: prolog:$phrase_list([101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131689, [] ) -5050d 182 0 CALL: prolog:$phrase_list([114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131691, [] ) -5051d 182 0 CALL: prolog:$phrase_list([121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131693, [] ) -5052d 182 0 CALL: prolog:$phrase_list([95,50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131695, [] ) -5053d 182 0 CALL: prolog:$phrase_list([50,95,107,110,111,119,110,95,118,97,108,117,101,115], _131697, [] ) -5054d 182 0 CALL: prolog:$phrase_list([95,107,110,111,119,110,95,118,97,108,117,101,115], _131699, [] ) -5055d 182 0 CALL: prolog:$phrase_list([107,110,111,119,110,95,118,97,108,117,101,115], _131701, [] ) -5056d 182 0 CALL: prolog:$phrase_list([110,111,119,110,95,118,97,108,117,101,115], _131703, [] ) -5057d 182 0 CALL: prolog:$phrase_list([111,119,110,95,118,97,108,117,101,115], _131705, [] ) -5058d 182 0 CALL: prolog:$phrase_list([119,110,95,118,97,108,117,101,115], _131707, [] ) -5059d 182 0 CALL: prolog:$phrase_list([110,95,118,97,108,117,101,115], _131709, [] ) -5060d 182 0 CALL: prolog:$phrase_list([95,118,97,108,117,101,115], _131711, [] ) -5061d 182 0 CALL: prolog:$phrase_list([118,97,108,117,101,115], _131713, [] ) -5062d 182 0 CALL: prolog:$phrase_list([97,108,117,101,115], _131715, [] ) -5063d 182 0 CALL: prolog:$phrase_list([108,117,101,115], _131717, [] ) -5064d 182 0 CALL: prolog:$phrase_list([117,101,115], _131719, [] ) -5065d 182 0 CALL: prolog:$phrase_list([101,115], _131721, [] ) -5066d 182 0 CALL: prolog:$phrase_list([115], _131723, [] ) -5067d 182 0 CALL: prolog:$phrase_list([], _131725, [] ) -5068d 182 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -5069d 219 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -5070d 219 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115]] ) -5071d 182 0 CALL: prolog:atom_codes(_1048368, [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,113,117,101,114,105,101,115,47,113,117,101,114,121,95,50,95,107,110,111,119,110,95,118,97,108,117,101,115] ) -5072d 182 0 TRY_OR -5073d 182 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _1048367 ) -5074d 182 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values']] ) -5075d 217 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -5076d 217 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values']] ) -5077d 182 0 CALL: lists:member(_1048369, ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -5078d 216 0 CALL: prolog:real_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', _130945 ) -5079d 216 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -5080d 225 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -5081d 225 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -5082d 216 0 CALL: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', txt, exist ) -5083d 226 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', txt, exist ) -5084d 226 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', txt, exist ) -5085d 226 0 CALL: prolog:$access_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', exist ) -5086d 226 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', txt, exist ) -5087d 216 0 CALL: prolog:$access_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', exist ) -5088d 216 0 FAIL RETRY: lists:member(_1048369, ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values'] ) -5089d 182 0 CALL: lists:member(_1048369, [] ) -5090d 233 0 CALL: prolog:$absf_trace(' !------- failed.', [] ) -5091d 257 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -5092d 257 0 FAIL RETRY: prolog:$absf_trace(' !------- failed.', [] ) -5093d 233 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -5094d 233 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -5095d 233 0 CALL: prolog:set_prolog_flag(file_name_variables, false ) -5096d 233 0 CALL: prolog:arg(1, t(no), _131734 ) -5098d 182 0 FAIL RETRY: problog_lfi:init_one_query(2, training ) -5099d 173 0 CALL: prolog:$current_choice_point(_1048396 ) -5100d 173 0 CALL: completion:propagate_evidence(2, training ) -5101d 188 0 TRY_OR -5102d 203 0 CALL: prolog:$current_choice_point(_1048380 ) -5103d 203 0 CALL: prolog:current_predicate(user:known/3 ) -5104d 203 0 CALL: prolog:$yap_strip_module(user:known/3, _1048366, _1048365 ) -5105d 203 0 CALL: prolog:must_bind_to_type(predicate_indicator, known/3 ) -5106d 203 0 TRY_OR -5107d 226 0 CALL: error:may_bind_to_type(predicate_indicator, known/3 ) -5108d 235 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, known/3 ) -5109d 226 0 TRY_OR -5111d 226 0 CALL: error:may_bind_to_type(atom, known ) -5112d 243 0 FAIL RETRY: error:may_bind_to_type(atom, known ) -5113d 226 0 CALL: error:may_bind_to_type(integer, 3 ) -5114d 235 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5115d 203 0 CALL: prolog:$c_i_predicate(known/3, user ) -5116d 203 0 TRY_OR -5117d 220 0 CALL: prolog:ground(known/3 ) -5118d 203 0 CALL: prolog:functor(_130935, known, 3 ) -5119d 203 0 CALL: prolog:current_predicate(known, user:known(_130936,_130937,_130938) ) -5120d 203 0 CALL: prolog:$yap_strip_module(user:known(_130936,_130937,_130938), _1048362, _1048361 ) -5121d 203 0 CALL: prolog:functor(known(_130936,_130937,_130938), known, _1048360 ) -5122d 203 0 TRY_OR -5123d 222 0 CALL: prolog:$current_predicate(known, user, known(_130936,_130937,_130938), user ) -5124d 188 0 FAIL RETRY: completion:propagate_evidence(2, training ) -5125d 173 0 CALL: prolog:eraseall(rules ) -5126d 173 0 CALL: prolog:eraseall(unpropagated_rules ) -5127d 173 0 CALL: prolog:eraseall(known_atoms ) -5128d 173 0 CALL: grounder:grounder_reset -5129d 173 0 CALL: prolog:eraseall(reachable ) -5130d 173 0 TRY_OR -5131d 218 0 CALL: prolog:==(training, test ) -5133d 173 0 CALL: logger:logger_start_timer(train_bdd_script_generation ) -5134d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation, _1048356 ) -5135d 173 0 TRY_OR -5136d 228 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation, null ) -5137d 173 0 CALL: prolog:statistics(walltime, [_130939,_130941] ) -5138d 173 0 CALL: prolog:$walltime(_130939, _130941 ) -5139d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation, 341924 ) -5140d 173 0 CALL: logger:logger_start_timer(train_bdd_script_generation_grounding ) -5141d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_grounding, _1048356 ) -5142d 173 0 TRY_OR -5143d 228 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_grounding, null ) -5144d 173 0 CALL: prolog:statistics(walltime, [_130949,_130951] ) -5145d 173 0 CALL: prolog:$walltime(_130949, _130951 ) -5146d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_grounding, 341960 ) -5147d 173 0 CALL: print_learning:format_learning(5, d, [] ) -5148d 220 0 CALL: flags:problog_flag(verbosity_learning, _1048346 ) -5149d 220 0 CALL: gflags:flag_get(verbosity_learning, _1048346 ) -5150d 220 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_130958), _130959 ) -5151d 220 0 CALL: prolog:>=(5, 5 ) -5152d 173 0 CALL: prolog:format(d, print_learning:[] ) -5153d 173 0 CALL: prolog:flush_output(user ) -d5154d 173 0 TRY_OR -5155d 218 0 CALL: user:known(2, _1048369, _1048367 ) -5156d 228 0 TRY_OR -5157d 236 0 CALL: prolog:catch(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048365, completion:fail ) -5158d 236 0 CALL: prolog:$catch(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048365, completion:fail ) -5159d 246 0 CALL: prolog:$execute(completion:grounder_compute_reachable_atoms(earthquake,2,_130969) ) -5160d 246 0 CALL: prolog:$call(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), 246, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), user ) -5161d 263 0 FAIL RETRY: prolog:$call(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), 246, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), user ) -5162d 246 0 CALL: prolog:$call(grounder_compute_reachable_atoms(earthquake,2,_130969), 246, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), completion ) -5163d 274 0 FAIL RETRY: prolog:$call(grounder_compute_reachable_atoms(earthquake,2,_130969), 246, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), completion ) -5164d 246 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(earthquake,2,_130969), completion ) -5165d 246 0 CALL: completion:grounder_compute_reachable_atoms(earthquake, 2, _130969 ) -5166d 246 0 CALL: prolog:$undefp([completion|grounder_compute_reachable_atoms(earthquake,2,_130969)], error ) -5167d 246 0 CALL: prolog:yap_flag(unknown, error, fail ) -5168d 246 0 CALL: prolog:$stop_creeping(_1048299 ) -5169d 246 0 TRY_OR -5170d 287 0 CALL: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _130983:_130984 ) -5171d 296 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_130986,_130987,_130988,_130989), user ) -5172d 296 0 FAIL RETRY: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _130983:_130984 ) -5173d 287 0 CALL: prolog:expand_goal(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _130983:_130984 ) -5174d 287 0 CALL: prolog:$expand_meta_call(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), [], _130983:_130984 ) -5175d 287 0 CALL: prolog:source_module(_130985 ) -5176d 287 0 CALL: prolog:$yap_strip_module(user:completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048279, _130989 ) -5177d 287 0 CALL: prolog:$expand_goals(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(earthquake,2,_130969)) ) -5178d 311 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(earthquake,2,_130969)) ) -5179d 311 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(earthquake,2,_130969)) ) -5180d 311 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(earthquake,2,_130969)) ) -5181d 287 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _130996, _130997 ) -5182d 287 0 CALL: prolog:$expand_goal(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(earthquake,2,_130969)) ) -5183d 287 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _131001, _131002 ) -5184d 287 0 CALL: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _131007:_131008 ) -5185d 321 0 CALL: prolog:_user_expand_goal(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _131010:_131011 ) -5189d 321 0 FAIL RETRY: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _131007:_131008 ) -5190d 287 0 CALL: prolog:$import_expansion(completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _131010:_131011 ) -5191d 320 0 CALL: prolog:$imported_predicate(grounder_compute_reachable_atoms(earthquake,2,_130969), completion, _131011, _131010 ) -5192d 336 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(earthquake,2,_130969), prolog ) -5193d 336 0 FAIL RETRY: prolog:$imported_predicate(grounder_compute_reachable_atoms(earthquake,2,_130969), completion, _131011, _131010 ) -5194d 320 0 CALL: prolog:$undefined(grounder_compute_reachable_atoms(earthquake,2,_130969), completion ) -5195d 320 0 CALL: prolog:$get_undefined_predicates(grounder_compute_reachable_atoms(earthquake,2,_130969), completion, _131011, _131010 ) -5196d 343 0 CALL: prolog:recorded('$import', '$import'(_131013,completion,_131015,grounder_compute_reachable_atoms(earthquake,2,_130969),_131017,_131018), _1048222 ) -5197d 343 0 CALL: prolog:$continue_imported(_131010, grounder, _131011, grounder_compute_reachable_atoms(earthquake,2,_130969) ) -5198d 354 0 CALL: prolog:$pred_exists(grounder_compute_reachable_atoms(earthquake,2,_130969), grounder ) -5199d 343 0 CALL: prolog:\=(grounder, completion ) -5200d 287 0 CALL: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), completion, [], _1048267 ) -5201d 319 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _131035, _1048246 ) -5202d 319 0 CALL: prolog:functor(grounder_compute_reachable_atoms(earthquake,2,_130969), _131038, _131039 ) -5203d 319 0 CALL: prolog:$meta_predicate(grounder_compute_reachable_atoms, grounder, 3, _1048247 ) -5204d 319 0 FAIL RETRY: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), completion, [], _1048267 ) -5205d 287 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _131035, _131036 ) -5206d 287 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _131037, _131038 ) -5207d 287 0 CALL: prolog:$end_goal_expansion(grounder_compute_reachable_atoms(earthquake,2,_130969), _1048278, _1048280, completion, user, grounder, completion:grounder_compute_reachable_atoms(earthquake,2,_130969) ) -5208d 287 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(earthquake,2,_130969), completion, user, grounder, _1048278 ) -5209d 287 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(earthquake,2,_130969), grounder ) -5210d 287 0 TRY_OR -5211d 325 0 CALL: prolog:==(grounder, completion ) -5213d 287 0 CALL: prolog:$c_built_in(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), grounder, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048269 ) -5214d 318 0 CALL: prolog:get_value('$c_arith', true ) -5215d 287 0 CALL: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), grounder, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048269 ) -5216d 329 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _131042, _131043 ) -5217d 329 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), grounder, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048269 ) -5218d 329 0 CALL: prolog:$compop(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048231, _1048232, _1048234 ) -5219d 329 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), grounder, completion:grounder_compute_reachable_atoms(earthquake,2,_130969), _1048269 ) -5220d 329 0 CALL: prolog:$yap_strip_module(grounder:grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _131045, _131046 ) -5221d 329 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(earthquake,2,_130969), completion, user, grounder, _1048280 ) -5222d 329 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(earthquake,2,_130969), grounder ) -5223d 329 0 TRY_OR -5224d 345 0 CALL: prolog:==(grounder, completion ) -5226d 329 0 CALL: prolog:$yap_strip_module(completion:grounder:grounder_compute_reachable_atoms(earthquake,2,_130969), _130983, _130984 ) -5227d 329 0 TRY_OR -5228d 337 0 CALL: prolog:\==(completion, grounder ) -5229d 329 0 CALL: prolog:\=(grounder_compute_reachable_atoms(earthquake,2,_130969), fail ) -5230d 246 0 CALL: prolog:yap_flag(unknown, _1048298, error ) -5231d 246 0 TRY_OR -5232d 284 0 CALL: prolog:==(false, true ) -5234d 246 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(earthquake,2,_130969), grounder ) -5235d 246 0 CALL: grounder:grounder_compute_reachable_atoms(earthquake, 2, _130969 ) -5236d 246 0 CALL: prolog:bb_put(grounder:dep_proven, false ) -5237d 246 0 TRY_OR -5238d 269 0 CALL: grounder:tabled_meta_interpreter(earthquake, 2 ) -5239d 278 0 CALL: prolog:writeln(2:earthquake ) -5240d 278 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 2 ) -5241d 278 0 CALL: prolog:predicate_property(grounder:earthquake, built_in ) -5242d 278 0 CALL: prolog:strip_module(grounder:earthquake, _131059, _131060 ) -5243d 278 0 CALL: prolog:$predicate_property2(earthquake, built_in, grounder ) -5244d 294 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5245d 294 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5246d 294 0 CALL: prolog:$pred_exists(earthquake, grounder ) -5247d 294 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5248d 278 0 CALL: prolog:$get_undefined_pred(earthquake, grounder, _1048283, _1048284 ) -5249d 278 0 CALL: prolog:$get_undefined_predicates(earthquake, grounder, _1048283, _1048284 ) -5250d 308 0 CALL: prolog:recorded('$import', '$import'(_131062,grounder,_131064,earthquake,_131066,_131067), _1048257 ) -5251d 308 0 FAIL RETRY: prolog:$get_undefined_predicates(earthquake, grounder, _1048283, _1048284 ) -5252d 308 0 CALL: prolog:$pred_exists(earthquake, user ) -5253d 278 0 TRY_OR -5255d 278 0 CALL: prolog:$predicate_property(earthquake, user, user, built_in ) -5256d 278 0 CALL: prolog:$is_system_predicate(earthquake, user ) -5257d 278 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 2 ) -5258d 278 0 CALL: prolog:ground(earthquake ) -5259d 269 0 TRY_OR -5260d 296 0 CALL: prolog:recorded(reachable, earthquake, _1048287 ) -5262d 269 0 CALL: prolog:recorda(reachable, earthquake, _1048289 ) -+s 0x5602af28e320 - @0x7efdd88a31e8 0 -5263d 269 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(earthquake, 2 ) -5264d 278 0 CALL: problog:probabilistic_fact(_1048290, earthquake, _1048291 ) -5265d 295 0 CALL: prolog:ground(earthquake ) -5266d 278 0 CALL: prolog:=..(earthquake, [_131056|_131057] ) -5267d 278 0 CALL: prolog:atomic_concat(problog_, earthquake, _1048270 ) -5268d 278 0 CALL: lists:append([_131060], [_131062], _1048269 ) -5269d 278 0 CALL: lists:append([], [_131062], _131065 ) -5270d 278 0 CALL: prolog:=..(_1048272, [problog_earthquake,_131060,_131062] ) -5271d 278 0 CALL: prolog:length([_131060,_131062], _1048271 ) -5272d 278 0 CALL: prolog:$skip_list([_131060,_131062], _1048271, _131071, _131072 ) -5273d 278 0 CALL: prolog:==([], [] ) -5274d 278 0 CALL: prolog:current_predicate(problog:problog_earthquake/2 ) -5275d 278 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake/2, _1048266, _1048265 ) -5276d 278 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_earthquake/2 ) -5277d 278 0 TRY_OR -5278d 326 0 CALL: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -5279d 335 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -5280d 326 0 TRY_OR -5282d 326 0 CALL: error:may_bind_to_type(atom, problog_earthquake ) -5283d 343 0 FAIL RETRY: error:may_bind_to_type(atom, problog_earthquake ) -5284d 326 0 CALL: error:may_bind_to_type(integer, 2 ) -5285d 335 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5286d 278 0 CALL: prolog:$c_i_predicate(problog_earthquake/2, problog ) -5287d 278 0 TRY_OR -5288d 320 0 CALL: prolog:ground(problog_earthquake/2 ) -5289d 278 0 CALL: prolog:functor(_131079, problog_earthquake, 2 ) -5290d 278 0 CALL: prolog:current_predicate(problog_earthquake, problog:problog_earthquake(_131080,_131081) ) -5291d 278 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake(_131080,_131081), _1048262, _1048261 ) -5292d 278 0 CALL: prolog:functor(problog_earthquake(_131080,_131081), problog_earthquake, _1048260 ) -5293d 278 0 TRY_OR -5294d 322 0 CALL: prolog:$current_predicate(problog_earthquake, problog, problog_earthquake(_131080,_131081), user ) -5295d 322 0 CALL: problog:problog_earthquake(_131060, _131062 ) -5296d 322 0 CALL: prolog:is(_1048290, 3, -0.6596650473806767 ) -5297d 269 0 CALL: prolog:bb_put(grounder:dep_proven, true ) -5299d 246 0 CALL: prolog:bb_delete(grounder:dep_proven, _130969 ) -5300d 246 0 TRY_OR -5301d 260 0 CALL: prolog:==(246, 246 ) -5302d 236 0 TRY_OR -5303d 244 0 TRY_OR -5304d 252 0 CALL: prolog:==(true, true ) -5305d 228 0 FAIL RETRY: user:known(2, _1048369, _1048367 ) -5306d 218 0 TRY_OR -5307d 226 0 CALL: prolog:catch(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048365, completion:fail ) -5308d 226 0 CALL: prolog:$catch(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048365, completion:fail ) -5309d 236 0 CALL: prolog:$execute(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971) ) -5310d 236 0 CALL: prolog:$call(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), 236, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), user ) -5311d 253 0 FAIL RETRY: prolog:$call(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), 236, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), user ) -5312d 236 0 CALL: prolog:$call(grounder_compute_reachable_atoms(calls(mary),2,_130971), 236, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), completion ) -5313d 264 0 FAIL RETRY: prolog:$call(grounder_compute_reachable_atoms(calls(mary),2,_130971), 236, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), completion ) -5314d 236 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion ) -5315d 236 0 CALL: completion:grounder_compute_reachable_atoms(calls(mary), 2, _130971 ) -5316d 236 0 CALL: prolog:$undefp([completion|grounder_compute_reachable_atoms(calls(mary),2,_130971)], error ) -5317d 236 0 CALL: prolog:yap_flag(unknown, error, fail ) -5318d 236 0 CALL: prolog:$stop_creeping(_1048309 ) -5319d 236 0 TRY_OR -5320d 277 0 CALL: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _130985:_130986 ) -5321d 286 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_130988,_130989,_130990,_130991), user ) -5322d 286 0 FAIL RETRY: prolog:$undefp_search(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _130985:_130986 ) -5323d 277 0 CALL: prolog:expand_goal(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _130985:_130986 ) -5324d 277 0 CALL: prolog:$expand_meta_call(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), [], _130985:_130986 ) -5325d 277 0 CALL: prolog:source_module(_130987 ) -5326d 277 0 CALL: prolog:$yap_strip_module(user:completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048289, _130991 ) -5327d 277 0 CALL: prolog:$expand_goals(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(calls(mary),2,_130971)) ) -5328d 301 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(calls(mary),2,_130971)) ) -5329d 301 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(calls(mary),2,_130971)) ) -5330d 301 0 FAIL RETRY: prolog:$expand_goals(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(calls(mary),2,_130971)) ) -5331d 277 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _130998, _130999 ) -5332d 277 0 CALL: prolog:$expand_goal(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, completion, []- (completion:grounder_compute_reachable_atoms(calls(mary),2,_130971)) ) -5333d 277 0 CALL: prolog:$yap_strip_module(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131003, _131004 ) -5334d 277 0 CALL: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131009:_131010 ) -5335d 311 0 CALL: prolog:_user_expand_goal(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131012:_131013 ) -5339d 311 0 FAIL RETRY: prolog:$user_expansion(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131009:_131010 ) -5340d 277 0 CALL: prolog:$import_expansion(completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131012:_131013 ) -5341d 310 0 CALL: prolog:$imported_predicate(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, _131013, _131012 ) -5342d 326 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(calls(mary),2,_130971), prolog ) -5343d 326 0 FAIL RETRY: prolog:$imported_predicate(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, _131013, _131012 ) -5344d 310 0 CALL: prolog:$undefined(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion ) -5345d 310 0 CALL: prolog:$get_undefined_predicates(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, _131013, _131012 ) -5346d 333 0 CALL: prolog:recorded('$import', '$import'(_131015,completion,_131017,grounder_compute_reachable_atoms(calls(mary),2,_130971),_131019,_131020), _1048232 ) -5347d 333 0 CALL: prolog:$continue_imported(_131012, grounder, _131013, grounder_compute_reachable_atoms(calls(mary),2,_130971) ) -5348d 344 0 CALL: prolog:$pred_exists(grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder ) -5349d 333 0 CALL: prolog:\=(grounder, completion ) -5350d 277 0 CALL: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, [], _1048277 ) -5351d 309 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131037, _1048256 ) -5352d 309 0 CALL: prolog:functor(grounder_compute_reachable_atoms(calls(mary),2,_130971), _131040, _131041 ) -5353d 309 0 CALL: prolog:$meta_predicate(grounder_compute_reachable_atoms, grounder, 3, _1048257 ) -5354d 309 0 FAIL RETRY: prolog:$meta_expansion(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, [], _1048277 ) -5355d 277 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131037, _131038 ) -5356d 277 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131039, _131040 ) -5357d 277 0 CALL: prolog:$end_goal_expansion(grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048288, _1048290, completion, user, grounder, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971) ) -5358d 277 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, user, grounder, _1048288 ) -5359d 277 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder ) -5360d 277 0 TRY_OR -5361d 315 0 CALL: prolog:==(grounder, completion ) -5363d 277 0 CALL: prolog:$c_built_in(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048279 ) -5364d 308 0 CALL: prolog:get_value('$c_arith', true ) -5365d 277 0 CALL: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048279 ) -5366d 319 0 CALL: prolog:$yap_strip_module(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131044, _131045 ) -5367d 319 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048279 ) -5368d 319 0 CALL: prolog:$compop(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048241, _1048242, _1048244 ) -5369d 319 0 FAIL RETRY: prolog:do_c_built_in(grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder, completion:grounder_compute_reachable_atoms(calls(mary),2,_130971), _1048279 ) -5370d 319 0 CALL: prolog:$yap_strip_module(grounder:grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _131047, _131048 ) -5371d 319 0 CALL: prolog:$match_mod(grounder_compute_reachable_atoms(calls(mary),2,_130971), completion, user, grounder, _1048290 ) -5372d 319 0 CALL: prolog:$is_system_predicate(grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder ) -5373d 319 0 TRY_OR -5374d 335 0 CALL: prolog:==(grounder, completion ) -5376d 319 0 CALL: prolog:$yap_strip_module(completion:grounder:grounder_compute_reachable_atoms(calls(mary),2,_130971), _130985, _130986 ) -5377d 319 0 TRY_OR -5378d 327 0 CALL: prolog:\==(completion, grounder ) -5379d 319 0 CALL: prolog:\=(grounder_compute_reachable_atoms(calls(mary),2,_130971), fail ) -5380d 236 0 CALL: prolog:yap_flag(unknown, _1048308, error ) -5381d 236 0 TRY_OR -5382d 274 0 CALL: prolog:==(false, true ) -5384d 236 0 CALL: prolog:$execute0(grounder_compute_reachable_atoms(calls(mary),2,_130971), grounder ) -5385d 236 0 CALL: grounder:grounder_compute_reachable_atoms(calls(mary), 2, _130971 ) -5386d 236 0 CALL: prolog:bb_put(grounder:dep_proven, false ) -5387d 236 0 TRY_OR -5388d 259 0 CALL: grounder:tabled_meta_interpreter(calls(mary), 2 ) -5389d 268 0 CALL: prolog:writeln(2:calls(mary) ) -5390d 268 0 FAIL RETRY: grounder:tabled_meta_interpreter(calls(mary), 2 ) -5391d 268 0 FAIL RETRY: grounder:tabled_meta_interpreter(calls(mary), 2 ) -5392d 268 0 CALL: prolog:predicate_property(grounder:calls(mary), built_in ) -5393d 268 0 CALL: prolog:strip_module(grounder:calls(mary), _131061, _131062 ) -5394d 268 0 CALL: prolog:$predicate_property2(calls(mary), built_in, grounder ) -5395d 284 0 FAIL RETRY: prolog:$predicate_property2(calls(mary), built_in, grounder ) -5396d 284 0 FAIL RETRY: prolog:$predicate_property2(calls(mary), built_in, grounder ) -5397d 284 0 CALL: prolog:$pred_exists(calls(mary), grounder ) -5398d 284 0 FAIL RETRY: prolog:$predicate_property2(calls(mary), built_in, grounder ) -5399d 268 0 CALL: prolog:$get_undefined_pred(calls(mary), grounder, _1048293, _1048294 ) -5400d 268 0 CALL: prolog:$get_undefined_predicates(calls(mary), grounder, _1048293, _1048294 ) -5401d 298 0 CALL: prolog:recorded('$import', '$import'(_131064,grounder,_131066,calls(mary),_131068,_131069), _1048267 ) -5402d 298 0 FAIL RETRY: prolog:$get_undefined_predicates(calls(mary), grounder, _1048293, _1048294 ) -5403d 298 0 CALL: prolog:$pred_exists(calls(mary), user ) -5404d 298 0 FAIL RETRY: prolog:$get_undefined_predicates(calls(mary), grounder, _1048293, _1048294 ) -5405d 298 0 CALL: prolog:recorded('$dialect', swi, _1048262 ) -5406d 298 0 FAIL RETRY: prolog:$get_undefined_predicates(calls(mary), grounder, _1048293, _1048294 ) -5407d 268 0 CALL: prolog:$parent_module(grounder, _1048280 ) -5408d 268 0 FAIL RETRY: grounder:tabled_meta_interpreter(calls(mary), 2 ) -5409d 268 0 CALL: prolog:ground(calls(mary) ) -5410d 259 0 TRY_OR -5411d 286 0 CALL: prolog:recorded(reachable, calls(mary), _1048297 ) -5413d 259 0 CALL: prolog:recorda(reachable, calls(mary), _1048299 ) -+s 0x5602af28dfd0 - @0x7efdd88a31e8 0 -5414d 259 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(calls(mary), 2 ) -5415d 268 0 CALL: problog:probabilistic_fact(_1048300, calls(mary), _1048301 ) -5416d 285 0 CALL: prolog:ground(calls(mary) ) -5417d 268 0 CALL: prolog:=..(calls(mary), [_131058|_131059] ) -5418d 268 0 CALL: prolog:atomic_concat(problog_, calls, _1048280 ) -5419d 268 0 CALL: lists:append([_131064,mary], [_131066], _1048279 ) -5420d 268 0 CALL: lists:append([mary], [_131066], _131069 ) -5421d 268 0 CALL: lists:append([], [_131066], _131071 ) -5422d 268 0 CALL: prolog:=..(_1048282, [problog_calls,_131064,mary,_131066] ) -+s 0x5602af297e00 - @0x7efdd88a31f8 0 -5423d 268 0 CALL: prolog:length([_131064,mary,_131066], _1048281 ) -5424d 268 0 CALL: prolog:$skip_list([_131064,mary,_131066], _1048281, _131078, _131079 ) -5425d 268 0 CALL: prolog:==([], [] ) -5426d 268 0 CALL: prolog:current_predicate(problog:problog_calls/3 ) -5427d 268 0 CALL: prolog:$yap_strip_module(problog:problog_calls/3, _1048276, _1048275 ) -5428d 268 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_calls/3 ) -5429d 268 0 TRY_OR -5430d 316 0 CALL: error:may_bind_to_type(predicate_indicator, problog_calls/3 ) -5431d 325 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_calls/3 ) -5432d 316 0 TRY_OR -5434d 316 0 CALL: error:may_bind_to_type(atom, problog_calls ) -5435d 333 0 FAIL RETRY: error:may_bind_to_type(atom, problog_calls ) -5436d 316 0 CALL: error:may_bind_to_type(integer, 3 ) -5437d 325 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5438d 268 0 CALL: prolog:$c_i_predicate(problog_calls/3, problog ) -5439d 268 0 TRY_OR -5440d 310 0 CALL: prolog:ground(problog_calls/3 ) -5441d 268 0 CALL: prolog:functor(_131086, problog_calls, 3 ) -5442d 268 0 CALL: prolog:current_predicate(problog_calls, problog:problog_calls(_131087,_131088,_131089) ) -5443d 268 0 CALL: prolog:$yap_strip_module(problog:problog_calls(_131087,_131088,_131089), _1048272, _1048271 ) -5444d 268 0 CALL: prolog:functor(problog_calls(_131087,_131088,_131089), problog_calls, _1048270 ) -5445d 268 0 TRY_OR -5446d 312 0 CALL: prolog:$current_predicate(problog_calls, problog, problog_calls(_131087,_131088,_131089), user ) -5448d 268 0 CALL: prolog:$imported_predicate(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5449d 313 0 CALL: prolog:$is_system_predicate(problog_calls(_131087,_131088,_131089), prolog ) -5450d 313 0 FAIL RETRY: prolog:$imported_predicate(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5451d 268 0 CALL: prolog:$undefined(problog_calls(_131087,_131088,_131089), problog ) -5452d 268 0 CALL: prolog:$get_undefined_predicates(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5453d 320 0 CALL: prolog:recorded('$import', '$import'(_131094,problog,_131096,problog_calls(_131087,_131088,_131089),_131098,_131099), _1048245 ) -5454d 320 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5455d 320 0 CALL: prolog:$pred_exists(problog_calls(_131087,_131088,_131089), user ) -5456d 320 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5457d 320 0 CALL: prolog:recorded('$dialect', swi, _1048240 ) -5458d 320 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131087,_131088,_131089), problog, _1048275, _1048276 ) -5459d 268 0 CALL: prolog:$parent_module(problog, _1048258 ) -5460d 268 0 FAIL RETRY: grounder:tabled_meta_interpreter_aux_ground_atom(calls(mary), 2 ) -5461d 259 0 CALL: prolog:current_predicate(user:myclause/3 ) -5462d 259 0 CALL: prolog:$yap_strip_module(user:myclause/3, _1048302, _1048301 ) -5463d 259 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/3 ) -5464d 259 0 TRY_OR -5465d 290 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5466d 299 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5467d 290 0 TRY_OR -5469d 290 0 CALL: error:may_bind_to_type(atom, myclause ) -5470d 307 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5471d 290 0 CALL: error:may_bind_to_type(integer, 3 ) -5472d 299 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5473d 259 0 CALL: prolog:$c_i_predicate(myclause/3, user ) -5474d 259 0 TRY_OR -5475d 284 0 CALL: prolog:ground(myclause/3 ) -5476d 259 0 CALL: prolog:functor(_131064, myclause, 3 ) -5477d 259 0 CALL: prolog:current_predicate(myclause, user:myclause(_131065,_131066,_131067) ) -5478d 259 0 CALL: prolog:$yap_strip_module(user:myclause(_131065,_131066,_131067), _1048298, _1048297 ) -5479d 259 0 CALL: prolog:functor(myclause(_131065,_131066,_131067), myclause, _1048296 ) -5480d 259 0 TRY_OR -5481d 286 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131065,_131066,_131067), user ) -5482d 286 0 CALL: user:myclause(2, calls(mary), _1048309 ) -5483d 286 0 CALL: prolog:current_predicate(user:myclause/2 ) -5484d 286 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048276, _1048275 ) -5485d 286 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -5486d 286 0 TRY_OR -5487d 316 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5488d 325 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5489d 316 0 TRY_OR -5491d 316 0 CALL: error:may_bind_to_type(atom, myclause ) -5492d 333 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5493d 316 0 CALL: error:may_bind_to_type(integer, 2 ) -5494d 325 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5495d 286 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -5496d 286 0 TRY_OR -5497d 310 0 CALL: prolog:ground(myclause/2 ) -5498d 286 0 CALL: prolog:functor(_131077, myclause, 2 ) -5499d 286 0 CALL: prolog:current_predicate(myclause, user:myclause(_131078,_131079) ) -5500d 286 0 CALL: prolog:$yap_strip_module(user:myclause(_131078,_131079), _1048272, _1048271 ) -5501d 286 0 CALL: prolog:functor(myclause(_131078,_131079), myclause, _1048270 ) -5502d 286 0 TRY_OR -5503d 312 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131078,_131079), user ) -5504d 312 0 CALL: user:myclause(calls(mary), _1048309 ) -5505d 312 0 CALL: grounder:tabled_meta_interpreter(person(mary),alarm,hears_alarm(mary), 2 ) -5506d 321 0 CALL: prolog:writeln(2: (person(mary),alarm,hears_alarm(mary)) ) -5507d 321 0 FAIL RETRY: grounder:tabled_meta_interpreter(person(mary),alarm,hears_alarm(mary), 2 ) -5508d 312 0 CALL: grounder:tabled_meta_interpreter(person(mary), 2 ) -5509d 337 0 CALL: prolog:writeln(2:person(mary) ) -5510d 337 0 FAIL RETRY: grounder:tabled_meta_interpreter(person(mary), 2 ) -5511d 337 0 FAIL RETRY: grounder:tabled_meta_interpreter(person(mary), 2 ) -5512d 337 0 CALL: prolog:predicate_property(grounder:person(mary), built_in ) -5513d 337 0 CALL: prolog:strip_module(grounder:person(mary), _131096, _131097 ) -5514d 337 0 CALL: prolog:$predicate_property2(person(mary), built_in, grounder ) -5515d 353 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -5516d 353 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -5517d 353 0 CALL: prolog:$pred_exists(person(mary), grounder ) -5518d 353 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -5519d 337 0 CALL: prolog:$get_undefined_pred(person(mary), grounder, _1048224, _1048225 ) -5520d 337 0 CALL: prolog:$get_undefined_predicates(person(mary), grounder, _1048224, _1048225 ) -5521d 367 0 CALL: prolog:recorded('$import', '$import'(_131099,grounder,_131101,person(mary),_131103,_131104), _1048198 ) -5522d 367 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048224, _1048225 ) -5523d 367 0 CALL: prolog:$pred_exists(person(mary), user ) -5524d 367 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048224, _1048225 ) -5525d 367 0 CALL: prolog:recorded('$dialect', swi, _1048193 ) -5526d 367 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048224, _1048225 ) -5527d 337 0 CALL: prolog:$parent_module(grounder, _1048211 ) -5528d 337 0 FAIL RETRY: grounder:tabled_meta_interpreter(person(mary), 2 ) -5529d 337 0 CALL: prolog:ground(person(mary) ) -5530d 312 0 TRY_OR -5531d 355 0 CALL: prolog:recorded(reachable, person(mary), _1048228 ) -+s 0x5602af299950 - @0x7efdd88a3208 0 -+s 0x5602af2994a0 - @0x7efdd88a3208 0 -- 0x5602af2994a0 - @0x7efdd88a3208 355 -+s 0x5602af298680 - @0x7efdd88a3208 0 -+s 0x5602aefa12f0 - @0x7efdd88a3208 0 -+s 0x5602af28ce10 - @0x7efdd88a3208 0 -- 0x5602af299950 - @0x7efdd88a3208 355 -5533d 312 0 CALL: prolog:recorda(reachable, person(mary), _1048230 ) -+s 0x5602af2666d0 - @0x7efdd88a3208 0 -+s 0x5602af2960a0 - @0x7efdd88a3208 0 -- 0x5602aefa12f0 - @0x7efdd88a3208 312 -5534d 312 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(person(mary), 2 ) -5535d 337 0 CALL: problog:probabilistic_fact(_1048231, person(mary), _1048232 ) -5536d 354 0 CALL: prolog:ground(person(mary) ) -5537d 337 0 CALL: prolog:=..(person(mary), [_131093|_131094] ) -5538d 337 0 CALL: prolog:atomic_concat(problog_, person, _1048211 ) -5539d 337 0 CALL: lists:append([_131099,mary], [_131101], _1048210 ) -5540d 337 0 CALL: lists:append([mary], [_131101], _131104 ) -5541d 337 0 CALL: lists:append([], [_131101], _131106 ) -5542d 337 0 CALL: prolog:=..(_1048213, [problog_person,_131099,mary,_131101] ) -5543d 337 0 CALL: prolog:length([_131099,mary,_131101], _1048212 ) -5544d 337 0 CALL: prolog:$skip_list([_131099,mary,_131101], _1048212, _131113, _131114 ) -5545d 337 0 CALL: prolog:==([], [] ) -5546d 337 0 CALL: prolog:current_predicate(problog:problog_person/3 ) -5547d 337 0 CALL: prolog:$yap_strip_module(problog:problog_person/3, _1048207, _1048206 ) -5548d 337 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_person/3 ) -5549d 337 0 TRY_OR -5550d 385 0 CALL: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -5551d 394 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -5552d 385 0 TRY_OR -5554d 385 0 CALL: error:may_bind_to_type(atom, problog_person ) -5555d 402 0 FAIL RETRY: error:may_bind_to_type(atom, problog_person ) -5556d 385 0 CALL: error:may_bind_to_type(integer, 3 ) -5557d 394 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5558d 337 0 CALL: prolog:$c_i_predicate(problog_person/3, problog ) -5559d 337 0 TRY_OR -5560d 379 0 CALL: prolog:ground(problog_person/3 ) -5561d 337 0 CALL: prolog:functor(_131121, problog_person, 3 ) -5562d 337 0 CALL: prolog:current_predicate(problog_person, problog:problog_person(_131122,_131123,_131124) ) -5563d 337 0 CALL: prolog:$yap_strip_module(problog:problog_person(_131122,_131123,_131124), _1048203, _1048202 ) -5564d 337 0 CALL: prolog:functor(problog_person(_131122,_131123,_131124), problog_person, _1048201 ) -5565d 337 0 TRY_OR -5566d 381 0 CALL: prolog:$current_predicate(problog_person, problog, problog_person(_131122,_131123,_131124), user ) -5568d 337 0 CALL: prolog:$imported_predicate(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5569d 382 0 CALL: prolog:$is_system_predicate(problog_person(_131122,_131123,_131124), prolog ) -5570d 382 0 FAIL RETRY: prolog:$imported_predicate(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5571d 337 0 CALL: prolog:$undefined(problog_person(_131122,_131123,_131124), problog ) -5572d 337 0 CALL: prolog:$get_undefined_predicates(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5573d 389 0 CALL: prolog:recorded('$import', '$import'(_131129,problog,_131131,problog_person(_131122,_131123,_131124),_131133,_131134), _1048176 ) -5574d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5575d 389 0 CALL: prolog:$pred_exists(problog_person(_131122,_131123,_131124), user ) -5576d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5577d 389 0 CALL: prolog:recorded('$dialect', swi, _1048171 ) -5578d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131122,_131123,_131124), problog, _1048206, _1048207 ) -5579d 337 0 CALL: prolog:$parent_module(problog, _1048189 ) -5580d 337 0 FAIL RETRY: grounder:tabled_meta_interpreter_aux_ground_atom(person(mary), 2 ) -5581d 312 0 CALL: prolog:current_predicate(user:myclause/3 ) -5582d 312 0 CALL: prolog:$yap_strip_module(user:myclause/3, _1048233, _1048232 ) -5583d 312 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/3 ) -5584d 312 0 TRY_OR -5585d 359 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5586d 368 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5587d 359 0 TRY_OR -5589d 359 0 CALL: error:may_bind_to_type(atom, myclause ) -5590d 376 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5591d 359 0 CALL: error:may_bind_to_type(integer, 3 ) -5592d 368 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5593d 312 0 CALL: prolog:$c_i_predicate(myclause/3, user ) -5594d 312 0 TRY_OR -5595d 353 0 CALL: prolog:ground(myclause/3 ) -5596d 312 0 CALL: prolog:functor(_131099, myclause, 3 ) -5597d 312 0 CALL: prolog:current_predicate(myclause, user:myclause(_131100,_131101,_131102) ) -5598d 312 0 CALL: prolog:$yap_strip_module(user:myclause(_131100,_131101,_131102), _1048229, _1048228 ) -5599d 312 0 CALL: prolog:functor(myclause(_131100,_131101,_131102), myclause, _1048227 ) -5600d 312 0 TRY_OR -5601d 355 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131100,_131101,_131102), user ) -5602d 355 0 CALL: user:myclause(2, person(mary), _1048240 ) -5603d 355 0 CALL: prolog:current_predicate(user:myclause/2 ) -5604d 355 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048207, _1048206 ) -5605d 355 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -5606d 355 0 TRY_OR -5607d 385 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5608d 394 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5609d 385 0 TRY_OR -5611d 385 0 CALL: error:may_bind_to_type(atom, myclause ) -5612d 402 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5613d 385 0 CALL: error:may_bind_to_type(integer, 2 ) -5614d 394 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5615d 355 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -5616d 355 0 TRY_OR -5617d 379 0 CALL: prolog:ground(myclause/2 ) -5618d 355 0 CALL: prolog:functor(_131112, myclause, 2 ) -5619d 355 0 CALL: prolog:current_predicate(myclause, user:myclause(_131113,_131114) ) -5620d 355 0 CALL: prolog:$yap_strip_module(user:myclause(_131113,_131114), _1048203, _1048202 ) -5621d 355 0 CALL: prolog:functor(myclause(_131113,_131114), myclause, _1048201 ) -5622d 355 0 TRY_OR -5623d 381 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131113,_131114), user ) -5624d 381 0 CALL: user:myclause(person(mary), _1048240 ) -+s 0x5602af28dc40 - @0x7efdd88a3218 0 -+s 0x5602af29b580 - @0x7efdd88a3218 0 -- 0x5602af29b580 - @0x7efdd88a3218 381 -+s 0x5602af297030 - @0x7efdd88a3218 0 -+s 0x5602af266940 - @0x7efdd88a3218 0 -- 0x5602af28dc40 - @0x7efdd88a3218 381 -5625d 381 0 CALL: grounder:tabled_meta_interpreter(true, 2 ) -5626d 390 0 CALL: prolog:writeln(2:true ) -5627d 390 0 FAIL RETRY: grounder:tabled_meta_interpreter(true, 2 ) -5628d 390 0 CALL: prolog:predicate_property(grounder:true, built_in ) -5629d 390 0 CALL: prolog:strip_module(grounder:true, _131121, _131122 ) -5630d 390 0 CALL: prolog:$predicate_property2(true, built_in, grounder ) -5631d 406 0 FAIL RETRY: prolog:$predicate_property2(true, built_in, grounder ) -5632d 406 0 FAIL RETRY: prolog:$predicate_property2(true, built_in, grounder ) -5633d 406 0 CALL: prolog:$pred_exists(true, grounder ) -5634d 390 0 CALL: prolog:$predicate_property(true, grounder, grounder, built_in ) -5635d 390 0 CALL: prolog:$is_system_predicate(true, grounder ) -5636d 381 0 CALL: prolog:call(grounder:true ) -5637d 381 0 CALL: prolog:$execute(grounder:true ) -5638d 381 0 CALL: grounder:tabled_meta_interpreter(alarm,hears_alarm(mary), 2 ) -5639d 390 0 CALL: prolog:writeln(2: (alarm,hears_alarm(mary)) ) -5640d 390 0 FAIL RETRY: grounder:tabled_meta_interpreter(alarm,hears_alarm(mary), 2 ) -5641d 381 0 CALL: grounder:tabled_meta_interpreter(alarm, 2 ) -5642d 406 0 CALL: prolog:writeln(2:alarm ) -5643d 406 0 FAIL RETRY: grounder:tabled_meta_interpreter(alarm, 2 ) -5644d 406 0 CALL: prolog:predicate_property(grounder:alarm, built_in ) -5645d 406 0 CALL: prolog:strip_module(grounder:alarm, _131126, _131127 ) -5646d 406 0 CALL: prolog:$predicate_property2(alarm, built_in, grounder ) -5647d 422 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -5648d 422 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -5649d 422 0 CALL: prolog:$pred_exists(alarm, grounder ) -5650d 422 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -5651d 406 0 CALL: prolog:$get_undefined_pred(alarm, grounder, _1048155, _1048156 ) -5652d 406 0 CALL: prolog:$get_undefined_predicates(alarm, grounder, _1048155, _1048156 ) -5653d 436 0 CALL: prolog:recorded('$import', '$import'(_131129,grounder,_131131,alarm,_131133,_131134), _1048129 ) -5654d 436 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048155, _1048156 ) -5655d 436 0 CALL: prolog:$pred_exists(alarm, user ) -5656d 436 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048155, _1048156 ) -5657d 436 0 CALL: prolog:recorded('$dialect', swi, _1048124 ) -5658d 436 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048155, _1048156 ) -5659d 406 0 CALL: prolog:$parent_module(grounder, _1048142 ) -5660d 406 0 FAIL RETRY: grounder:tabled_meta_interpreter(alarm, 2 ) -5661d 406 0 CALL: prolog:ground(alarm ) -5662d 381 0 TRY_OR -5663d 424 0 CALL: prolog:recorded(reachable, alarm, _1048159 ) -5665d 381 0 CALL: prolog:recorda(reachable, alarm, _1048161 ) -+s 0x5602af2339c0 - @0x7efdd88a3228 0 -+s 0x5602af263e00 - @0x7efdd88a3228 0 -- 0x5602af298680 - @0x7efdd88a3228 381 -5666d 381 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(alarm, 2 ) -5667d 406 0 CALL: problog:probabilistic_fact(_1048162, alarm, _1048163 ) -5668d 423 0 CALL: prolog:ground(alarm ) -5669d 406 0 CALL: prolog:=..(alarm, [_131123|_131124] ) -5670d 406 0 CALL: prolog:atomic_concat(problog_, alarm, _1048142 ) -5671d 406 0 CALL: lists:append([_131127], [_131129], _1048141 ) -5672d 406 0 CALL: lists:append([], [_131129], _131132 ) -5673d 406 0 CALL: prolog:=..(_1048144, [problog_alarm,_131127,_131129] ) -5674d 406 0 CALL: prolog:length([_131127,_131129], _1048143 ) -5675d 406 0 CALL: prolog:$skip_list([_131127,_131129], _1048143, _131138, _131139 ) -5676d 406 0 CALL: prolog:==([], [] ) -5677d 406 0 CALL: prolog:current_predicate(problog:problog_alarm/2 ) -5678d 406 0 CALL: prolog:$yap_strip_module(problog:problog_alarm/2, _1048138, _1048137 ) -5679d 406 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_alarm/2 ) -5680d 406 0 TRY_OR -5681d 454 0 CALL: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -5682d 463 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_alarm/2 ) -5683d 454 0 TRY_OR -5685d 454 0 CALL: error:may_bind_to_type(atom, problog_alarm ) -5686d 471 0 FAIL RETRY: error:may_bind_to_type(atom, problog_alarm ) -5687d 454 0 CALL: error:may_bind_to_type(integer, 2 ) -5688d 463 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5689d 406 0 CALL: prolog:$c_i_predicate(problog_alarm/2, problog ) -5690d 406 0 TRY_OR -5691d 448 0 CALL: prolog:ground(problog_alarm/2 ) -5692d 406 0 CALL: prolog:functor(_131146, problog_alarm, 2 ) -5693d 406 0 CALL: prolog:current_predicate(problog_alarm, problog:problog_alarm(_131147,_131148) ) -5694d 406 0 CALL: prolog:$yap_strip_module(problog:problog_alarm(_131147,_131148), _1048134, _1048133 ) -5695d 406 0 CALL: prolog:functor(problog_alarm(_131147,_131148), problog_alarm, _1048132 ) -5696d 406 0 TRY_OR -5697d 450 0 CALL: prolog:$current_predicate(problog_alarm, problog, problog_alarm(_131147,_131148), user ) -5699d 406 0 CALL: prolog:$imported_predicate(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5700d 451 0 CALL: prolog:$is_system_predicate(problog_alarm(_131147,_131148), prolog ) -5701d 451 0 FAIL RETRY: prolog:$imported_predicate(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5702d 406 0 CALL: prolog:$undefined(problog_alarm(_131147,_131148), problog ) -5703d 406 0 CALL: prolog:$get_undefined_predicates(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5704d 458 0 CALL: prolog:recorded('$import', '$import'(_131153,problog,_131155,problog_alarm(_131147,_131148),_131157,_131158), _1048107 ) -5705d 458 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5706d 458 0 CALL: prolog:$pred_exists(problog_alarm(_131147,_131148), user ) -5707d 458 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5708d 458 0 CALL: prolog:recorded('$dialect', swi, _1048102 ) -5709d 458 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_alarm(_131147,_131148), problog, _1048137, _1048138 ) -5710d 406 0 CALL: prolog:$parent_module(problog, _1048120 ) -5711d 406 0 FAIL RETRY: grounder:tabled_meta_interpreter_aux_ground_atom(alarm, 2 ) -5712d 381 0 CALL: prolog:current_predicate(user:myclause/3 ) -5713d 381 0 CALL: prolog:$yap_strip_module(user:myclause/3, _1048164, _1048163 ) -5714d 381 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/3 ) -5715d 381 0 TRY_OR -5716d 428 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5717d 437 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/3 ) -5718d 428 0 TRY_OR -5720d 428 0 CALL: error:may_bind_to_type(atom, myclause ) -5721d 445 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5722d 428 0 CALL: error:may_bind_to_type(integer, 3 ) -5723d 437 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5724d 381 0 CALL: prolog:$c_i_predicate(myclause/3, user ) -5725d 381 0 TRY_OR -5726d 422 0 CALL: prolog:ground(myclause/3 ) -5727d 381 0 CALL: prolog:functor(_131129, myclause, 3 ) -5728d 381 0 CALL: prolog:current_predicate(myclause, user:myclause(_131130,_131131,_131132) ) -5729d 381 0 CALL: prolog:$yap_strip_module(user:myclause(_131130,_131131,_131132), _1048160, _1048159 ) -5730d 381 0 CALL: prolog:functor(myclause(_131130,_131131,_131132), myclause, _1048158 ) -5731d 381 0 TRY_OR -5732d 424 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131130,_131131,_131132), user ) -5733d 424 0 CALL: user:myclause(2, alarm, _1048171 ) -5734d 424 0 CALL: prolog:current_predicate(user:myclause/2 ) -5735d 424 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048138, _1048137 ) -5736d 424 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -5737d 424 0 TRY_OR -5738d 454 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5739d 463 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -5740d 454 0 TRY_OR -5742d 454 0 CALL: error:may_bind_to_type(atom, myclause ) -5743d 471 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -5744d 454 0 CALL: error:may_bind_to_type(integer, 2 ) -5745d 463 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5746d 424 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -5747d 424 0 TRY_OR -5748d 448 0 CALL: prolog:ground(myclause/2 ) -5749d 424 0 CALL: prolog:functor(_131142, myclause, 2 ) -5750d 424 0 CALL: prolog:current_predicate(myclause, user:myclause(_131143,_131144) ) -5751d 424 0 CALL: prolog:$yap_strip_module(user:myclause(_131143,_131144), _1048134, _1048133 ) -5752d 424 0 CALL: prolog:functor(myclause(_131143,_131144), myclause, _1048132 ) -5753d 424 0 TRY_OR -5754d 450 0 CALL: prolog:$current_predicate(myclause, user, myclause(_131143,_131144), user ) -5755d 450 0 CALL: user:myclause(alarm, _1048171 ) -5756d 459 0 CALL: grounder:tabled_meta_interpreter(burglary, 2 ) -5757d 468 0 CALL: prolog:writeln(2:burglary ) -5758d 468 0 FAIL RETRY: grounder:tabled_meta_interpreter(burglary, 2 ) -5759d 468 0 CALL: prolog:predicate_property(grounder:burglary, built_in ) -5760d 468 0 CALL: prolog:strip_module(grounder:burglary, _131151, _131152 ) -5761d 468 0 CALL: prolog:$predicate_property2(burglary, built_in, grounder ) -5762d 484 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -5763d 484 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -5764d 484 0 CALL: prolog:$pred_exists(burglary, grounder ) -5765d 484 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -5766d 468 0 CALL: prolog:$get_undefined_pred(burglary, grounder, _1048093, _1048094 ) -5767d 468 0 CALL: prolog:$get_undefined_predicates(burglary, grounder, _1048093, _1048094 ) -5768d 498 0 CALL: prolog:recorded('$import', '$import'(_131154,grounder,_131156,burglary,_131158,_131159), _1048067 ) -5769d 498 0 FAIL RETRY: prolog:$get_undefined_predicates(burglary, grounder, _1048093, _1048094 ) -5770d 498 0 CALL: prolog:$pred_exists(burglary, user ) -5771d 468 0 TRY_OR -5773d 468 0 CALL: prolog:$predicate_property(burglary, user, user, built_in ) -5774d 468 0 CALL: prolog:$is_system_predicate(burglary, user ) -5775d 468 0 FAIL RETRY: grounder:tabled_meta_interpreter(burglary, 2 ) -5776d 468 0 CALL: prolog:ground(burglary ) -5777d 459 0 TRY_OR -5778d 486 0 CALL: prolog:recorded(reachable, burglary, _1048097 ) -5780d 459 0 CALL: prolog:recorda(reachable, burglary, _1048099 ) -+s 0x5602af233a50 - @0x7efdd88a3248 0 -+s 0x5602af233b50 - @0x7efdd88a3248 0 -- 0x5602af263e00 - @0x7efdd88a3248 459 -5781d 459 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(burglary, 2 ) -5782d 468 0 CALL: problog:probabilistic_fact(_1048100, burglary, _1048101 ) -5783d 485 0 CALL: prolog:ground(burglary ) -5784d 468 0 CALL: prolog:=..(burglary, [_131148|_131149] ) -5785d 468 0 CALL: prolog:atomic_concat(problog_, burglary, _1048080 ) -5786d 468 0 CALL: lists:append([_131152], [_131154], _1048079 ) -5787d 468 0 CALL: lists:append([], [_131154], _131157 ) -5788d 468 0 CALL: prolog:=..(_1048082, [problog_burglary,_131152,_131154] ) -5789d 468 0 CALL: prolog:length([_131152,_131154], _1048081 ) -5790d 468 0 CALL: prolog:$skip_list([_131152,_131154], _1048081, _131163, _131164 ) -5791d 468 0 CALL: prolog:==([], [] ) -5792d 468 0 CALL: prolog:current_predicate(problog:problog_burglary/2 ) -5793d 468 0 CALL: prolog:$yap_strip_module(problog:problog_burglary/2, _1048076, _1048075 ) -5794d 468 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_burglary/2 ) -5795d 468 0 TRY_OR -5796d 516 0 CALL: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -5797d 525 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -5798d 516 0 TRY_OR -5800d 516 0 CALL: error:may_bind_to_type(atom, problog_burglary ) -5801d 533 0 FAIL RETRY: error:may_bind_to_type(atom, problog_burglary ) -5802d 516 0 CALL: error:may_bind_to_type(integer, 2 ) -5803d 525 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -5804d 468 0 CALL: prolog:$c_i_predicate(problog_burglary/2, problog ) -5805d 468 0 TRY_OR -5806d 510 0 CALL: prolog:ground(problog_burglary/2 ) -5807d 468 0 CALL: prolog:functor(_131171, problog_burglary, 2 ) -5808d 468 0 CALL: prolog:current_predicate(problog_burglary, problog:problog_burglary(_131172,_131173) ) -5809d 468 0 CALL: prolog:$yap_strip_module(problog:problog_burglary(_131172,_131173), _1048072, _1048071 ) -5810d 468 0 CALL: prolog:functor(problog_burglary(_131172,_131173), problog_burglary, _1048070 ) -5811d 468 0 TRY_OR -5812d 512 0 CALL: prolog:$current_predicate(problog_burglary, problog, problog_burglary(_131172,_131173), user ) -5813d 512 0 CALL: problog:problog_burglary(_131152, _131154 ) -5814d 512 0 CALL: prolog:is(_1048100, 3, -1.249826789005093 ) -5815d 459 0 CALL: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5816d 468 0 CALL: prolog:writeln(2:hears_alarm(mary) ) -5817d 468 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5818d 468 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5819d 468 0 CALL: prolog:predicate_property(grounder:hears_alarm(mary), built_in ) -5820d 468 0 CALL: prolog:strip_module(grounder:hears_alarm(mary), _131183, _131184 ) -5821d 468 0 CALL: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5822d 484 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5823d 484 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5824d 484 0 CALL: prolog:$pred_exists(hears_alarm(mary), grounder ) -5825d 484 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5826d 468 0 CALL: prolog:$get_undefined_pred(hears_alarm(mary), grounder, _1048093, _1048094 ) -5827d 468 0 CALL: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048093, _1048094 ) -5828d 498 0 CALL: prolog:recorded('$import', '$import'(_131186,grounder,_131188,hears_alarm(mary),_131190,_131191), _1048067 ) -5829d 498 0 FAIL RETRY: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048093, _1048094 ) -5830d 498 0 CALL: prolog:$pred_exists(hears_alarm(mary), user ) -5831d 468 0 TRY_OR -5833d 468 0 CALL: prolog:$predicate_property(hears_alarm(mary), user, user, built_in ) -5834d 468 0 CALL: prolog:$is_system_predicate(hears_alarm(mary), user ) -5835d 468 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5836d 468 0 CALL: prolog:ground(hears_alarm(mary) ) -5837d 459 0 TRY_OR -5838d 486 0 CALL: prolog:recorded(reachable, hears_alarm(mary), _1048097 ) -5840d 459 0 CALL: prolog:recorda(reachable, hears_alarm(mary), _1048099 ) -+s 0x5602af266af0 - @0x7efdd88a3268 0 -+s 0x5602af08ccb0 - @0x7efdd88a3268 0 -- 0x5602af2960a0 - @0x7efdd88a3268 459 -5841d 459 0 CALL: grounder:tabled_meta_interpreter_aux_ground_atom(hears_alarm(mary), 2 ) -5842d 468 0 CALL: problog:probabilistic_fact(_1048100, hears_alarm(mary), _1048101 ) -5843d 485 0 CALL: prolog:ground(hears_alarm(mary) ) -5844d 468 0 CALL: prolog:=..(hears_alarm(mary), [_131180|_131181] ) -5845d 468 0 CALL: prolog:atomic_concat(problog_, hears_alarm, _1048080 ) -5846d 468 0 CALL: lists:append([_131186,mary], [_131188], _1048079 ) -5847d 468 0 CALL: lists:append([mary], [_131188], _131191 ) -5848d 468 0 CALL: lists:append([], [_131188], _131193 ) -5849d 468 0 CALL: prolog:=..(_1048082, [problog_hears_alarm,_131186,mary,_131188] ) -5850d 468 0 CALL: prolog:length([_131186,mary,_131188], _1048081 ) -5851d 468 0 CALL: prolog:$skip_list([_131186,mary,_131188], _1048081, _131200, _131201 ) -5852d 468 0 CALL: prolog:==([], [] ) -5853d 468 0 CALL: prolog:current_predicate(problog:problog_hears_alarm/3 ) -5854d 468 0 CALL: prolog:$yap_strip_module(problog:problog_hears_alarm/3, _1048076, _1048075 ) -5855d 468 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -5856d 468 0 TRY_OR -5857d 516 0 CALL: error:may_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -5858d 525 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -5859d 516 0 TRY_OR -5861d 516 0 CALL: error:may_bind_to_type(atom, problog_hears_alarm ) -5862d 533 0 FAIL RETRY: error:may_bind_to_type(atom, problog_hears_alarm ) -5863d 516 0 CALL: error:may_bind_to_type(integer, 3 ) -5864d 525 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -5865d 468 0 CALL: prolog:$c_i_predicate(problog_hears_alarm/3, problog ) -5866d 468 0 TRY_OR -5867d 510 0 CALL: prolog:ground(problog_hears_alarm/3 ) -5868d 468 0 CALL: prolog:functor(_131208, problog_hears_alarm, 3 ) -5869d 468 0 CALL: prolog:current_predicate(problog_hears_alarm, problog:problog_hears_alarm(_131209,_131210,_131211) ) -5870d 468 0 CALL: prolog:$yap_strip_module(problog:problog_hears_alarm(_131209,_131210,_131211), _1048072, _1048071 ) -5871d 468 0 CALL: prolog:functor(problog_hears_alarm(_131209,_131210,_131211), problog_hears_alarm, _1048070 ) -5872d 468 0 TRY_OR -5873d 512 0 CALL: prolog:$current_predicate(problog_hears_alarm, problog, problog_hears_alarm(_131209,_131210,_131211), user ) -5874d 512 0 CALL: problog:problog_hears_alarm(_131186, mary, _131188 ) -5875d 512 0 CALL: prolog:is(_1048100, 3, -0.8533637893529484 ) -5876d 459 0 CALL: prolog:bb_put(grounder:dep_proven, true ) -5877d 459 0 FAIL RETRY: user:myclause(alarm, _1048171 ) -5878d 450 0 CALL: grounder:tabled_meta_interpreter(earthquake, 2 ) -5879d 459 0 CALL: prolog:writeln(2:earthquake ) -5880d 459 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 2 ) -5881d 459 0 CALL: prolog:predicate_property(grounder:earthquake, built_in ) -5882d 459 0 CALL: prolog:strip_module(grounder:earthquake, _131151, _131152 ) -5883d 459 0 CALL: prolog:$predicate_property2(earthquake, built_in, grounder ) -5884d 475 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5885d 475 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5886d 475 0 CALL: prolog:$pred_exists(earthquake, grounder ) -5887d 475 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -5888d 459 0 CALL: prolog:$get_undefined_pred(earthquake, grounder, _1048102, _1048103 ) -5889d 459 0 CALL: prolog:$get_undefined_predicates(earthquake, grounder, _1048102, _1048103 ) -5890d 489 0 CALL: prolog:recorded('$import', '$import'(_131154,grounder,_131156,earthquake,_131158,_131159), _1048076 ) -5891d 489 0 FAIL RETRY: prolog:$get_undefined_predicates(earthquake, grounder, _1048102, _1048103 ) -5892d 489 0 CALL: prolog:$pred_exists(earthquake, user ) -5893d 459 0 TRY_OR -5895d 459 0 CALL: prolog:$predicate_property(earthquake, user, user, built_in ) -5896d 459 0 CALL: prolog:$is_system_predicate(earthquake, user ) -5897d 459 0 FAIL RETRY: grounder:tabled_meta_interpreter(earthquake, 2 ) -5898d 459 0 CALL: prolog:ground(earthquake ) -5899d 450 0 TRY_OR -5900d 477 0 CALL: prolog:recorded(reachable, earthquake, _1048106 ) -5901d 450 0 CALL: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5902d 459 0 CALL: prolog:writeln(2:hears_alarm(mary) ) -5903d 459 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5904d 459 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5905d 459 0 CALL: prolog:predicate_property(grounder:hears_alarm(mary), built_in ) -5906d 459 0 CALL: prolog:strip_module(grounder:hears_alarm(mary), _131151, _131152 ) -5907d 459 0 CALL: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5908d 475 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5909d 475 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5910d 475 0 CALL: prolog:$pred_exists(hears_alarm(mary), grounder ) -5911d 475 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -5912d 459 0 CALL: prolog:$get_undefined_pred(hears_alarm(mary), grounder, _1048102, _1048103 ) -5913d 459 0 CALL: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048102, _1048103 ) -5914d 489 0 CALL: prolog:recorded('$import', '$import'(_131154,grounder,_131156,hears_alarm(mary),_131158,_131159), _1048076 ) -5915d 489 0 FAIL RETRY: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048102, _1048103 ) -5916d 489 0 CALL: prolog:$pred_exists(hears_alarm(mary), user ) -5917d 459 0 TRY_OR -5919d 459 0 CALL: prolog:$predicate_property(hears_alarm(mary), user, user, built_in ) -5920d 459 0 CALL: prolog:$is_system_predicate(hears_alarm(mary), user ) -5921d 459 0 FAIL RETRY: grounder:tabled_meta_interpreter(hears_alarm(mary), 2 ) -5922d 459 0 CALL: prolog:ground(hears_alarm(mary) ) -5923d 450 0 TRY_OR -5924d 477 0 CALL: prolog:recorded(reachable, hears_alarm(mary), _1048106 ) -5925d 450 0 CALL: prolog:bb_put(grounder:dep_proven, true ) -5927d 424 0 CALL: prolog:$imported_predicate(myclause(_131143,_131144), user, _1048137, _1048138 ) -5928d 451 0 CALL: prolog:$is_system_predicate(myclause(_131143,_131144), prolog ) -5929d 451 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131143,_131144), user, _1048137, _1048138 ) -5930d 424 0 CALL: prolog:$undefined(myclause(_131143,_131144), user ) -5932d 381 0 CALL: prolog:$imported_predicate(myclause(_131130,_131131,_131132), user, _1048163, _1048164 ) -5933d 425 0 CALL: prolog:$is_system_predicate(myclause(_131130,_131131,_131132), prolog ) -5934d 425 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131130,_131131,_131132), user, _1048163, _1048164 ) -5935d 381 0 CALL: prolog:$undefined(myclause(_131130,_131131,_131132), user ) -5937d 355 0 CALL: prolog:$imported_predicate(myclause(_131113,_131114), user, _1048206, _1048207 ) -5938d 382 0 CALL: prolog:$is_system_predicate(myclause(_131113,_131114), prolog ) -5939d 382 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131113,_131114), user, _1048206, _1048207 ) -5940d 355 0 CALL: prolog:$undefined(myclause(_131113,_131114), user ) -5942d 312 0 CALL: prolog:$imported_predicate(myclause(_131100,_131101,_131102), user, _1048232, _1048233 ) -5943d 356 0 CALL: prolog:$is_system_predicate(myclause(_131100,_131101,_131102), prolog ) -5944d 356 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131100,_131101,_131102), user, _1048232, _1048233 ) -5945d 312 0 CALL: prolog:$undefined(myclause(_131100,_131101,_131102), user ) -5947d 286 0 CALL: prolog:$imported_predicate(myclause(_131078,_131079), user, _1048275, _1048276 ) -5948d 313 0 CALL: prolog:$is_system_predicate(myclause(_131078,_131079), prolog ) -5949d 313 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131078,_131079), user, _1048275, _1048276 ) -5950d 286 0 CALL: prolog:$undefined(myclause(_131078,_131079), user ) -5952d 259 0 CALL: prolog:$imported_predicate(myclause(_131065,_131066,_131067), user, _1048301, _1048302 ) -5953d 287 0 CALL: prolog:$is_system_predicate(myclause(_131065,_131066,_131067), prolog ) -5954d 287 0 FAIL RETRY: prolog:$imported_predicate(myclause(_131065,_131066,_131067), user, _1048301, _1048302 ) -5955d 259 0 CALL: prolog:$undefined(myclause(_131065,_131066,_131067), user ) -5957d 236 0 CALL: prolog:bb_delete(grounder:dep_proven, _130971 ) -5958d 236 0 TRY_OR -5959d 250 0 CALL: prolog:==(236, 236 ) -5960d 226 0 TRY_OR -5961d 234 0 TRY_OR -5962d 242 0 CALL: prolog:==(true, true ) -5964d 173 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_grounding ) -5965d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_grounding, _1048360 ) -5966d 173 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_grounding, _1048363 ) -5967d 173 0 CALL: prolog:statistics(walltime, [_130966,_130968] ) -5968d 173 0 CALL: prolog:$walltime(_130966, _130968 ) -5969d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_grounding, null ) -5970d 173 0 TRY_OR -5971d 219 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_grounding ) -5972d 219 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_grounding, _1048349 ) -5973d 219 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, _1048350 ) -5974d 219 0 CALL: prolog:\=(1838, null ) -5975d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_grounding, _1048365 ) -5976d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_grounding, _1048357 ) -5977d 173 0 TRY_OR -5978d 227 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, null ) -5980d 227 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, _1048365 ) -5981d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_grounding, 6169 ) -5982d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_grounding, _1048358 ) -5983d 173 0 TRY_OR -5984d 227 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_grounding, _1048356 ) -5985d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_grounding, 6169 ) -5986d 173 0 CALL: logger:logger_start_timer(train_bdd_script_generation_completion ) -5987d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_completion, _1048364 ) -5988d 173 0 TRY_OR -5989d 220 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_completion, null ) -5990d 173 0 CALL: prolog:statistics(walltime, [_130985,_130987] ) -5991d 173 0 CALL: prolog:$walltime(_130985, _130987 ) -5992d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_completion, 346436 ) -5993d 173 0 CALL: print_learning:format_learning(5, c, [] ) -5994d 212 0 CALL: flags:problog_flag(verbosity_learning, _1048354 ) -5995d 212 0 CALL: gflags:flag_get(verbosity_learning, _1048354 ) -5996d 212 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_130994), _130995 ) -5997d 212 0 CALL: prolog:>=(5, 5 ) -5998d 173 0 CALL: prolog:format(c, print_learning:[] ) -5999d 173 0 CALL: prolog:flush_output(user ) -2:earthquake -2:calls(mary) -2: (person(mary),alarm,hears_alarm(mary)) -2:person(mary) -2:true -2: (alarm,hears_alarm(mary)) -2:alarm -2:burglary -2:hears_alarm(mary) -2:earthquake -2:hears_alarm(mary) -c6000d 173 0 CALL: prolog:$current_choice_point(_1048373 ) -6001d 173 0 CALL: completion:completion(2 ) -6002d 173 0 TRY_OR -6003d 230 0 CALL: grounder:grounder_reachable_atom(_1048356 ) -6004d 230 0 CALL: prolog:recorded(reachable, _1048356, _130999 ) -+s 0x5602af28d370 - @0x7efdd88a31a8 0 -+s 0x5602aeec6410 - @0x7efdd88a31a8 0 -+s 0x5602af27fff0 - @0x7efdd88a31a8 0 -+s 0x5602af2a1fb0 - @0x7efdd88a31a8 0 -+s 0x5602af03be90 - @0x7efdd88a31a8 0 -+s 0x5602aefeaa80 - @0x7efdd88a31a8 0 -+s 0x5602aec1f700 - @0x7efdd88a31a8 0 -+s 0x5602aec8ed70 - @0x7efdd88a31a8 0 -- 0x5602af28d370 - @0x7efdd88a31a8 230 -6005d 241 0 CALL: grounder:grounder_completion_for_atom(hears_alarm(mary), 2, _1048357 ) -6006d 241 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048327 ) -6007d 241 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6008d 265 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6009d 241 0 TRY_OR -6010d 272 0 CALL: error:has_type(list_or_partial_list, _1048327 ) -6011d 272 0 CALL: error:is_list_or_partial_list(_1048327 ) -6012d 272 0 CALL: prolog:$skip_list(_131022, _1048327, _131023 ) -6013d 241 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6014d 241 0 CALL: nb:nb_queue(_1048319 ) -6015d 241 0 TRY_OR -6016d 266 0 CALL: prolog:$execute(grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6017d 266 0 CALL: prolog:$call(grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6018d 277 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6019d 266 0 CALL: prolog:$call(user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6020d 266 0 CALL: prolog:$call(user:myclause(2,hears_alarm(mary),_131018), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6021d 308 0 FAIL RETRY: prolog:$call(user:myclause(2,hears_alarm(mary),_131018), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6022d 266 0 CALL: prolog:$call(myclause(2,hears_alarm(mary),_131018), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6023d 319 0 FAIL RETRY: prolog:$call(myclause(2,hears_alarm(mary),_131018), 266, grounder: (user:myclause(2,hears_alarm(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6024d 266 0 CALL: prolog:$execute0(myclause(2,hears_alarm(mary),_131018), user ) -6025d 266 0 CALL: user:myclause(2, hears_alarm(mary), _131018 ) -6026d 266 0 CALL: prolog:current_predicate(user:myclause/2 ) -6027d 266 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048254, _1048253 ) -6028d 266 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6029d 266 0 TRY_OR -6030d 338 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6031d 347 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6032d 338 0 TRY_OR -6034d 338 0 CALL: error:may_bind_to_type(atom, myclause ) -6035d 355 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6036d 338 0 CALL: error:may_bind_to_type(integer, 2 ) -6037d 347 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6038d 266 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6039d 266 0 TRY_OR -6040d 332 0 CALL: prolog:ground(myclause/2 ) -6041d 266 0 CALL: prolog:functor(_135131, myclause, 2 ) -6042d 266 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6043d 266 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048250, _1048249 ) -6044d 266 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048248 ) -6045d 266 0 TRY_OR -6046d 334 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6047d 334 0 CALL: user:myclause(hears_alarm(mary), _131018 ) -6049d 266 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6050d 335 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6051d 335 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6052d 266 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6054d 241 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _131023, [] ) -6055d 241 0 CALL: prolog:\==([], [] ) -6056d 241 0 FAIL RETRY: idb:recorded(reachable, _1048356, _130999 ) -6057d 241 0 CALL: grounder:grounder_completion_for_atom(burglary, 2, _1048357 ) -6058d 241 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048327 ) -6059d 241 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6060d 265 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6061d 241 0 TRY_OR -6062d 272 0 CALL: error:has_type(list_or_partial_list, _1048327 ) -6063d 272 0 CALL: error:is_list_or_partial_list(_1048327 ) -6064d 272 0 CALL: prolog:$skip_list(_131022, _1048327, _131023 ) -6065d 241 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6066d 241 0 CALL: nb:nb_queue(_1048319 ) -6067d 241 0 TRY_OR -6068d 266 0 CALL: prolog:$execute(grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6069d 266 0 CALL: prolog:$call(grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6070d 277 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6071d 266 0 CALL: prolog:$call(user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6072d 266 0 CALL: prolog:$call(user:myclause(2,burglary,_131018), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6073d 308 0 FAIL RETRY: prolog:$call(user:myclause(2,burglary,_131018), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6074d 266 0 CALL: prolog:$call(myclause(2,burglary,_131018), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6075d 319 0 FAIL RETRY: prolog:$call(myclause(2,burglary,_131018), 266, grounder: (user:myclause(2,burglary,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6076d 266 0 CALL: prolog:$execute0(myclause(2,burglary,_131018), user ) -6077d 266 0 CALL: user:myclause(2, burglary, _131018 ) -6078d 266 0 CALL: prolog:current_predicate(user:myclause/2 ) -6079d 266 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048254, _1048253 ) -6080d 266 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6081d 266 0 TRY_OR -6082d 338 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6083d 347 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6084d 338 0 TRY_OR -6086d 338 0 CALL: error:may_bind_to_type(atom, myclause ) -6087d 355 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6088d 338 0 CALL: error:may_bind_to_type(integer, 2 ) -6089d 347 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6090d 266 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6091d 266 0 TRY_OR -6092d 332 0 CALL: prolog:ground(myclause/2 ) -6093d 266 0 CALL: prolog:functor(_135131, myclause, 2 ) -6094d 266 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6095d 266 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048250, _1048249 ) -6096d 266 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048248 ) -6097d 266 0 TRY_OR -6098d 334 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6099d 334 0 CALL: user:myclause(burglary, _131018 ) -6101d 266 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6102d 335 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6103d 335 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6104d 266 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6106d 241 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _131023, [] ) -6107d 241 0 CALL: prolog:\==([], [] ) -6108d 241 0 FAIL RETRY: idb:recorded(reachable, _1048356, _130999 ) -6109d 241 0 CALL: grounder:grounder_completion_for_atom(alarm, 2, _1048357 ) -6110d 241 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048327 ) -6111d 241 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6112d 265 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6113d 241 0 TRY_OR -6114d 272 0 CALL: error:has_type(list_or_partial_list, _1048327 ) -6115d 272 0 CALL: error:is_list_or_partial_list(_1048327 ) -6116d 272 0 CALL: prolog:$skip_list(_131022, _1048327, _131023 ) -6117d 241 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6118d 241 0 CALL: nb:nb_queue(_1048319 ) -6119d 241 0 TRY_OR -6120d 266 0 CALL: prolog:$execute(grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6121d 266 0 CALL: prolog:$call(grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6122d 277 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6123d 266 0 CALL: prolog:$call(user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6124d 266 0 CALL: prolog:$call(user:myclause(2,alarm,_131018), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6125d 308 0 FAIL RETRY: prolog:$call(user:myclause(2,alarm,_131018), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6126d 266 0 CALL: prolog:$call(myclause(2,alarm,_131018), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6127d 319 0 FAIL RETRY: prolog:$call(myclause(2,alarm,_131018), 266, grounder: (user:myclause(2,alarm,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6128d 266 0 CALL: prolog:$execute0(myclause(2,alarm,_131018), user ) -6129d 266 0 CALL: user:myclause(2, alarm, _131018 ) -6130d 266 0 CALL: prolog:current_predicate(user:myclause/2 ) -6131d 266 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048254, _1048253 ) -6132d 266 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6133d 266 0 TRY_OR -6134d 338 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6135d 347 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6136d 338 0 TRY_OR -6138d 338 0 CALL: error:may_bind_to_type(atom, myclause ) -6139d 355 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6140d 338 0 CALL: error:may_bind_to_type(integer, 2 ) -6141d 347 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6142d 266 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6143d 266 0 TRY_OR -6144d 332 0 CALL: prolog:ground(myclause/2 ) -6145d 266 0 CALL: prolog:functor(_135131, myclause, 2 ) -6146d 266 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6147d 266 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048250, _1048249 ) -6148d 266 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048248 ) -6149d 266 0 TRY_OR -6150d 334 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6151d 334 0 CALL: user:myclause(alarm, _131018 ) -6152d 343 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms(burglary,_131005), 266, grounder: (user:myclause(2,alarm,burglary),grounder_ground_term_with_reachable_atoms(burglary,_131005)), grounder ) -6153d 354 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms(burglary,_131005), 266, grounder: (user:myclause(2,alarm,burglary),grounder_ground_term_with_reachable_atoms(burglary,_131005)), grounder ) -6154d 343 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms(burglary,_131005), grounder ) -6155d 343 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(burglary, _131005 ) -6156d 352 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(burglary, _131005 ) -6157d 352 0 CALL: prolog:predicate_property(grounder:burglary, built_in ) -6158d 352 0 CALL: prolog:strip_module(grounder:burglary, _135140, _135141 ) -6159d 352 0 CALL: prolog:$predicate_property2(burglary, built_in, grounder ) -6160d 368 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -6161d 368 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -6162d 368 0 CALL: prolog:$pred_exists(burglary, grounder ) -6163d 368 0 FAIL RETRY: prolog:$predicate_property2(burglary, built_in, grounder ) -6164d 352 0 CALL: prolog:$get_undefined_pred(burglary, grounder, _1048209, _1048210 ) -6165d 352 0 CALL: prolog:$get_undefined_predicates(burglary, grounder, _1048209, _1048210 ) -6166d 382 0 CALL: prolog:recorded('$import', '$import'(_135143,grounder,_135145,burglary,_135147,_135148), _1048183 ) -6167d 382 0 FAIL RETRY: prolog:$get_undefined_predicates(burglary, grounder, _1048209, _1048210 ) -6168d 382 0 CALL: prolog:$pred_exists(burglary, user ) -6169d 352 0 TRY_OR -6171d 352 0 CALL: prolog:$predicate_property(burglary, user, user, built_in ) -6172d 352 0 CALL: prolog:$is_system_predicate(burglary, user ) -6173d 352 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(burglary, _131005 ) -6174d 343 0 CALL: prolog:recorded(reachable, burglary, _135139 ) -6175d 343 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), '$atom'(burglary) ) -6176d 343 0 FAIL RETRY: user:myclause(alarm, _131018 ) -6177d 334 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms(earthquake,_131005), 266, grounder: (user:myclause(2,alarm,earthquake),grounder_ground_term_with_reachable_atoms(earthquake,_131005)), grounder ) -6178d 345 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms(earthquake,_131005), 266, grounder: (user:myclause(2,alarm,earthquake),grounder_ground_term_with_reachable_atoms(earthquake,_131005)), grounder ) -6179d 334 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms(earthquake,_131005), grounder ) -6180d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _131005 ) -6181d 343 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _131005 ) -6182d 343 0 CALL: prolog:predicate_property(grounder:earthquake, built_in ) -6183d 343 0 CALL: prolog:strip_module(grounder:earthquake, _135140, _135141 ) -6184d 343 0 CALL: prolog:$predicate_property2(earthquake, built_in, grounder ) -6185d 359 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -6186d 359 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -6187d 359 0 CALL: prolog:$pred_exists(earthquake, grounder ) -6188d 359 0 FAIL RETRY: prolog:$predicate_property2(earthquake, built_in, grounder ) -6189d 343 0 CALL: prolog:$get_undefined_pred(earthquake, grounder, _1048218, _1048219 ) -6190d 343 0 CALL: prolog:$get_undefined_predicates(earthquake, grounder, _1048218, _1048219 ) -6191d 373 0 CALL: prolog:recorded('$import', '$import'(_135143,grounder,_135145,earthquake,_135147,_135148), _1048192 ) -6192d 373 0 FAIL RETRY: prolog:$get_undefined_predicates(earthquake, grounder, _1048218, _1048219 ) -6193d 373 0 CALL: prolog:$pred_exists(earthquake, user ) -6194d 343 0 TRY_OR -6196d 343 0 CALL: prolog:$predicate_property(earthquake, user, user, built_in ) -6197d 343 0 CALL: prolog:$is_system_predicate(earthquake, user ) -6198d 343 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(earthquake, _131005 ) -6199d 334 0 CALL: prolog:recorded(reachable, earthquake, _135139 ) -6200d 334 0 CALL: nb:nb_queue_enqueue(queue(0,['$atom'(burglary) |_131032],_131032,1), '$atom'(earthquake) ) -6202d 266 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6203d 335 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6204d 335 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6205d 266 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6207d 241 0 CALL: nb:nb_queue_close(queue(0,['$atom'(burglary),'$atom'(earthquake) |_131036],_131036,2), _131023, [] ) -6208d 241 0 CALL: prolog:\==(['$atom'(burglary),'$atom'(earthquake)], [] ) -6209d 241 0 CALL: termhandling:list_to_disjunction(['$atom'(burglary),'$atom'(earthquake)], _131002 ) -6210d 241 0 CALL: termhandling:list_to_disjunction(['$atom'(earthquake)], _131039 ) -6211d 241 0 TRY_OR -6212d 249 0 CALL: prolog:$current_choice_point(_1048353 ) -6213d 249 0 CALL: termhandling:propagate_interpretation(<=>('$atom'(alarm),('$atom'(burglary);'$atom'(earthquake))), 2, _1048358 ) -6214d 249 0 CALL: termhandling:propagate_interpretation('$atom'(alarm), 2, _131041 ) -6215d 249 0 TRY_OR -6216d 273 0 CALL: user:known(2, alarm, _131041 ) -6218d 249 0 CALL: termhandling:propagate_interpretation('$atom'(burglary);'$atom'(earthquake), 2, _131042 ) -6219d 249 0 CALL: termhandling:propagate_interpretation('$atom'(burglary), 2, _131044 ) -6220d 249 0 TRY_OR -6221d 273 0 CALL: user:known(2, burglary, _131044 ) -6223d 249 0 CALL: termhandling:propagate_interpretation('$atom'(earthquake), 2, _131045 ) -6224d 249 0 TRY_OR -6225d 265 0 CALL: user:known(2, earthquake, _131045 ) -6226d 249 0 CALL: termhandling:simplify(<=>('$atom'(alarm),('$atom'(burglary);false)), _1048359, _1048354 ) -6227d 259 0 CALL: termhandling:simplify_intern(<=>('$atom'(alarm),('$atom'(burglary);false)), _1048309, _1048308 ) -6228d 259 0 CALL: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary);false, _1048309, _1048308 ) -6229d 278 0 FAIL RETRY: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary);false, _1048309, _1048308 ) -6230d 278 0 FAIL RETRY: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary);false, _1048309, _1048308 ) -6231d 259 0 CALL: termhandling:simplify_intern('$atom'(burglary);false, _131048, _1048308 ) -6232d 259 0 CALL: termhandling:simplify_intern_or('$atom'(burglary), false, _131048, _1048308 ) -6233d 278 0 FAIL RETRY: termhandling:simplify_intern_or('$atom'(burglary), false, _131048, _1048308 ) -6234d 259 0 CALL: prolog:==(true, true ) -6235d 249 0 CALL: termhandling:simplify(<=>('$atom'(alarm),'$atom'(burglary)), _1048359, _131049 ) -6236d 259 0 CALL: termhandling:simplify_intern(<=>('$atom'(alarm),'$atom'(burglary)), _1048309, _1048308 ) -6237d 259 0 CALL: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary), _1048309, _1048308 ) -6238d 278 0 FAIL RETRY: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary), _1048309, _1048308 ) -6239d 278 0 FAIL RETRY: termhandling:simplify_intern_implication('$atom'(alarm), '$atom'(burglary), _1048309, _1048308 ) -6240d 259 0 CALL: termhandling:simplify_intern('$atom'(burglary), _131052, _1048308 ) -6241d 259 0 CALL: prolog:==(false, true ) -6242d 259 0 FAIL RETRY: termhandling:simplify(<=>('$atom'(alarm),'$atom'(burglary)), _1048359, _131049 ) -6243d 249 0 TRY_OR -6244d 257 0 CALL: prolog:\==(<=>('$atom'(alarm),'$atom'(burglary)), false ) -6245d 257 0 CALL: completion:record_constraint_cs_check(<=>('$atom'(alarm),'$atom'(burglary)) ) -6246d 257 0 CALL: prolog:recorda(rules, <=>('$atom'(alarm),'$atom'(burglary)), _131050 ) -+s 0x5602af28d780 - @0x7efdd88a3238 0 -6247d 241 0 FAIL RETRY: idb:recorded(reachable, _1048356, _130999 ) -6248d 241 0 CALL: grounder:grounder_completion_for_atom(person(mary), 2, _1048357 ) -6249d 241 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048327 ) -6250d 241 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6251d 265 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6252d 241 0 TRY_OR -6253d 272 0 CALL: error:has_type(list_or_partial_list, _1048327 ) -6254d 272 0 CALL: error:is_list_or_partial_list(_1048327 ) -6255d 272 0 CALL: prolog:$skip_list(_131022, _1048327, _131023 ) -6256d 241 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6257d 241 0 CALL: nb:nb_queue(_1048319 ) -6258d 241 0 TRY_OR -6259d 266 0 CALL: prolog:$execute(grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6260d 266 0 CALL: prolog:$call(grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6261d 277 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6262d 266 0 CALL: prolog:$call(user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6263d 266 0 CALL: prolog:$call(user:myclause(2,person(mary),_131018), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6264d 308 0 FAIL RETRY: prolog:$call(user:myclause(2,person(mary),_131018), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6265d 266 0 CALL: prolog:$call(myclause(2,person(mary),_131018), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6266d 319 0 FAIL RETRY: prolog:$call(myclause(2,person(mary),_131018), 266, grounder: (user:myclause(2,person(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6267d 266 0 CALL: prolog:$execute0(myclause(2,person(mary),_131018), user ) -6268d 266 0 CALL: user:myclause(2, person(mary), _131018 ) -6269d 266 0 CALL: prolog:current_predicate(user:myclause/2 ) -6270d 266 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048254, _1048253 ) -6271d 266 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6272d 266 0 TRY_OR -6273d 338 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6274d 347 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6275d 338 0 TRY_OR -6277d 338 0 CALL: error:may_bind_to_type(atom, myclause ) -6278d 355 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6279d 338 0 CALL: error:may_bind_to_type(integer, 2 ) -6280d 347 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6281d 266 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6282d 266 0 TRY_OR -6283d 332 0 CALL: prolog:ground(myclause/2 ) -6284d 266 0 CALL: prolog:functor(_135131, myclause, 2 ) -6285d 266 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6286d 266 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048250, _1048249 ) -6287d 266 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048248 ) -6288d 266 0 TRY_OR -6289d 334 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6290d 334 0 CALL: user:myclause(person(mary), _131018 ) -6291d 334 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms(true,_131005), 266, grounder: (user:myclause(2,person(mary),true),grounder_ground_term_with_reachable_atoms(true,_131005)), grounder ) -6292d 345 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms(true,_131005), 266, grounder: (user:myclause(2,person(mary),true),grounder_ground_term_with_reachable_atoms(true,_131005)), grounder ) -6293d 334 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms(true,_131005), grounder ) -6294d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(true, _131005 ) -6295d 343 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(true, _131005 ) -6296d 343 0 CALL: prolog:predicate_property(grounder:true, built_in ) -6297d 343 0 CALL: prolog:strip_module(grounder:true, _135140, _135141 ) -6298d 343 0 CALL: prolog:$predicate_property2(true, built_in, grounder ) -6299d 359 0 FAIL RETRY: prolog:$predicate_property2(true, built_in, grounder ) -6300d 359 0 FAIL RETRY: prolog:$predicate_property2(true, built_in, grounder ) -6301d 359 0 CALL: prolog:$pred_exists(true, grounder ) -6302d 343 0 CALL: prolog:$predicate_property(true, grounder, grounder, built_in ) -6303d 343 0 CALL: prolog:$is_system_predicate(true, grounder ) -6304d 334 0 CALL: prolog:call(grounder:true ) -6305d 334 0 CALL: prolog:$execute(grounder:true ) -6306d 334 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), true ) -6308d 266 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6309d 335 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6310d 335 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6311d 266 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6313d 241 0 CALL: nb:nb_queue_close(queue(0,[true|_131030],_131030,1), _131023, [] ) -6314d 241 0 CALL: prolog:\==([true], [] ) -6315d 241 0 CALL: termhandling:list_to_disjunction([true], _131002 ) -6316d 241 0 TRY_OR -6317d 249 0 CALL: prolog:$current_choice_point(_1048353 ) -6318d 249 0 CALL: termhandling:propagate_interpretation(<=>('$atom'(person(mary)),true), 2, _1048358 ) -6319d 249 0 CALL: termhandling:propagate_interpretation('$atom'(person(mary)), 2, _131032 ) -6320d 249 0 TRY_OR -6321d 273 0 CALL: user:known(2, person(mary), _131032 ) -6323d 249 0 CALL: termhandling:propagate_interpretation(true, 2, _131033 ) -6324d 249 0 CALL: termhandling:simplify(<=>('$atom'(person(mary)),true), _1048359, _1048354 ) -6325d 259 0 CALL: termhandling:simplify_intern(<=>('$atom'(person(mary)),true), _1048309, _1048308 ) -6326d 259 0 CALL: termhandling:simplify_intern_implication('$atom'(person(mary)), true, _1048309, _1048308 ) -6327d 259 0 CALL: prolog:==(true, true ) -6328d 249 0 CALL: termhandling:simplify('$atom'(person(mary)), _1048359, _131034 ) -6329d 259 0 CALL: termhandling:simplify_intern('$atom'(person(mary)), _1048309, _1048308 ) -6330d 259 0 CALL: prolog:==(false, true ) -6331d 259 0 FAIL RETRY: termhandling:simplify('$atom'(person(mary)), _1048359, _131034 ) -6332d 249 0 TRY_OR -6333d 257 0 CALL: prolog:\==('$atom'(person(mary)), false ) -6334d 257 0 CALL: completion:record_constraint_cs_check('$atom'(person(mary)) ) -6335d 257 0 TRY_OR -6336d 274 0 CALL: prolog:recorded(unpropagated_rules, <=>('$atom'(person(mary)),_131037), _1048309 ) -6338d 257 0 CALL: prolog:recorda(unpropagated_rules, <=>('$atom'(person(mary)),true), _131038 ) -+s 0x5602af01ad50 - @0x7efdd88a3238 0 -6339d 241 0 FAIL RETRY: idb:recorded(reachable, _1048356, _130999 ) -6340d 241 0 CALL: grounder:grounder_completion_for_atom(calls(mary), 2, _1048357 ) -6341d 241 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048327 ) -6342d 241 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6343d 265 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048327 ) -6344d 241 0 TRY_OR -6345d 272 0 CALL: error:has_type(list_or_partial_list, _1048327 ) -6346d 272 0 CALL: error:is_list_or_partial_list(_1048327 ) -6347d 272 0 CALL: prolog:$skip_list(_131022, _1048327, _131023 ) -6348d 241 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6349d 241 0 CALL: nb:nb_queue(_1048319 ) -6350d 241 0 TRY_OR -6351d 266 0 CALL: prolog:$execute(grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6352d 266 0 CALL: prolog:$call(grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6353d 277 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6354d 266 0 CALL: prolog:$call(user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6355d 266 0 CALL: prolog:$call(user:myclause(2,calls(mary),_131018), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6356d 308 0 FAIL RETRY: prolog:$call(user:myclause(2,calls(mary),_131018), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6357d 266 0 CALL: prolog:$call(myclause(2,calls(mary),_131018), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6358d 319 0 FAIL RETRY: prolog:$call(myclause(2,calls(mary),_131018), 266, grounder: (user:myclause(2,calls(mary),_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6359d 266 0 CALL: prolog:$execute0(myclause(2,calls(mary),_131018), user ) -6360d 266 0 CALL: user:myclause(2, calls(mary), _131018 ) -6361d 266 0 CALL: prolog:current_predicate(user:myclause/2 ) -6362d 266 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048254, _1048253 ) -6363d 266 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6364d 266 0 TRY_OR -6365d 338 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6366d 347 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6367d 338 0 TRY_OR -6369d 338 0 CALL: error:may_bind_to_type(atom, myclause ) -6370d 355 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6371d 338 0 CALL: error:may_bind_to_type(integer, 2 ) -6372d 347 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6373d 266 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6374d 266 0 TRY_OR -6375d 332 0 CALL: prolog:ground(myclause/2 ) -6376d 266 0 CALL: prolog:functor(_135131, myclause, 2 ) -6377d 266 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6378d 266 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048250, _1048249 ) -6379d 266 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048248 ) -6380d 266 0 TRY_OR -6381d 334 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6382d 334 0 CALL: user:myclause(calls(mary), _131018 ) -6383d 334 0 CALL: prolog:$call(grounder_ground_term_with_reachable_atoms((person(mary),alarm,hears_alarm(mary)),_131005), 266, grounder: (user:myclause(2,calls(mary),(person(mary),alarm,hears_alarm(mary))),grounder_ground_term_with_reachable_atoms((person(mary),alarm,hears_alarm(mary)),_131005)), grounder ) -6384d 345 0 FAIL RETRY: prolog:$call(grounder_ground_term_with_reachable_atoms((person(mary),alarm,hears_alarm(mary)),_131005), 266, grounder: (user:myclause(2,calls(mary),(person(mary),alarm,hears_alarm(mary))),grounder_ground_term_with_reachable_atoms((person(mary),alarm,hears_alarm(mary)),_131005)), grounder ) -6385d 334 0 CALL: prolog:$execute0(grounder_ground_term_with_reachable_atoms((person(mary),alarm,hears_alarm(mary)),_131005), grounder ) -6386d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(person(mary),alarm,hears_alarm(mary), _131005 ) -6387d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(person(mary), _135148 ) -6388d 359 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(person(mary), _135148 ) -6389d 359 0 CALL: prolog:predicate_property(grounder:person(mary), built_in ) -6390d 359 0 CALL: prolog:strip_module(grounder:person(mary), _135153, _135154 ) -6391d 359 0 CALL: prolog:$predicate_property2(person(mary), built_in, grounder ) -6392d 375 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -6393d 375 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -6394d 375 0 CALL: prolog:$pred_exists(person(mary), grounder ) -6395d 375 0 FAIL RETRY: prolog:$predicate_property2(person(mary), built_in, grounder ) -6396d 359 0 CALL: prolog:$get_undefined_pred(person(mary), grounder, _1048202, _1048203 ) -6397d 359 0 CALL: prolog:$get_undefined_predicates(person(mary), grounder, _1048202, _1048203 ) -6398d 389 0 CALL: prolog:recorded('$import', '$import'(_135156,grounder,_135158,person(mary),_135160,_135161), _1048176 ) -6399d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048202, _1048203 ) -6400d 389 0 CALL: prolog:$pred_exists(person(mary), user ) -6401d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048202, _1048203 ) -6402d 389 0 CALL: prolog:recorded('$dialect', swi, _1048171 ) -6403d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(person(mary), grounder, _1048202, _1048203 ) -6404d 359 0 CALL: prolog:$parent_module(grounder, _1048189 ) -6405d 359 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(person(mary), _135148 ) -6406d 334 0 CALL: prolog:recorded(reachable, person(mary), _135152 ) -6407d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(alarm,hears_alarm(mary), _135149 ) -6408d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(alarm, _135154 ) -6409d 359 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(alarm, _135154 ) -6410d 359 0 CALL: prolog:predicate_property(grounder:alarm, built_in ) -6411d 359 0 CALL: prolog:strip_module(grounder:alarm, _135159, _135160 ) -6412d 359 0 CALL: prolog:$predicate_property2(alarm, built_in, grounder ) -6413d 375 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -6414d 375 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -6415d 375 0 CALL: prolog:$pred_exists(alarm, grounder ) -6416d 375 0 FAIL RETRY: prolog:$predicate_property2(alarm, built_in, grounder ) -6417d 359 0 CALL: prolog:$get_undefined_pred(alarm, grounder, _1048202, _1048203 ) -6418d 359 0 CALL: prolog:$get_undefined_predicates(alarm, grounder, _1048202, _1048203 ) -6419d 389 0 CALL: prolog:recorded('$import', '$import'(_135162,grounder,_135164,alarm,_135166,_135167), _1048176 ) -6420d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048202, _1048203 ) -6421d 389 0 CALL: prolog:$pred_exists(alarm, user ) -6422d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048202, _1048203 ) -6423d 389 0 CALL: prolog:recorded('$dialect', swi, _1048171 ) -6424d 389 0 FAIL RETRY: prolog:$get_undefined_predicates(alarm, grounder, _1048202, _1048203 ) -6425d 359 0 CALL: prolog:$parent_module(grounder, _1048189 ) -6426d 359 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(alarm, _135154 ) -6427d 334 0 CALL: prolog:recorded(reachable, alarm, _135158 ) -6428d 334 0 CALL: grounder:grounder_ground_term_with_reachable_atoms(hears_alarm(mary), _135155 ) -6429d 343 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(hears_alarm(mary), _135155 ) -6430d 343 0 CALL: prolog:predicate_property(grounder:hears_alarm(mary), built_in ) -6431d 343 0 CALL: prolog:strip_module(grounder:hears_alarm(mary), _135162, _135163 ) -6432d 343 0 CALL: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -6433d 359 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -6434d 359 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -6435d 359 0 CALL: prolog:$pred_exists(hears_alarm(mary), grounder ) -6436d 359 0 FAIL RETRY: prolog:$predicate_property2(hears_alarm(mary), built_in, grounder ) -6437d 343 0 CALL: prolog:$get_undefined_pred(hears_alarm(mary), grounder, _1048218, _1048219 ) -6438d 343 0 CALL: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048218, _1048219 ) -6439d 373 0 CALL: prolog:recorded('$import', '$import'(_135165,grounder,_135167,hears_alarm(mary),_135169,_135170), _1048192 ) -6440d 373 0 FAIL RETRY: prolog:$get_undefined_predicates(hears_alarm(mary), grounder, _1048218, _1048219 ) -6441d 373 0 CALL: prolog:$pred_exists(hears_alarm(mary), user ) -6442d 343 0 TRY_OR -6444d 343 0 CALL: prolog:$predicate_property(hears_alarm(mary), user, user, built_in ) -6445d 343 0 CALL: prolog:$is_system_predicate(hears_alarm(mary), user ) -6446d 343 0 FAIL RETRY: grounder:grounder_ground_term_with_reachable_atoms(hears_alarm(mary), _135155 ) -6447d 334 0 CALL: prolog:recorded(reachable, hears_alarm(mary), _135161 ) -6448d 334 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), '$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)) ) -6450d 266 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6451d 335 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6452d 335 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048253, _1048254 ) -6453d 266 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6455d 241 0 CALL: nb:nb_queue_close(queue(0,[('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary))) |_131046],_131046,1), _131023, [] ) -6456d 241 0 CALL: prolog:\==([('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)))], [] ) -6457d 241 0 CALL: termhandling:list_to_disjunction([('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)))], _131002 ) -6458d 241 0 TRY_OR -6459d 249 0 CALL: prolog:$current_choice_point(_1048353 ) -6460d 249 0 CALL: termhandling:propagate_interpretation(<=>('$atom'(calls(mary)),('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)))), 2, _1048358 ) -6461d 249 0 CALL: termhandling:propagate_interpretation('$atom'(calls(mary)), 2, _131048 ) -6462d 249 0 TRY_OR -6463d 273 0 CALL: user:known(2, calls(mary), _131048 ) -6464d 249 0 CALL: termhandling:propagate_interpretation('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), 2, _131049 ) -6465d 249 0 CALL: termhandling:propagate_interpretation('$atom'(person(mary)), 2, _131051 ) -6466d 249 0 TRY_OR -6467d 273 0 CALL: user:known(2, person(mary), _131051 ) -6469d 249 0 CALL: termhandling:propagate_interpretation('$atom'(alarm),'$atom'(hears_alarm(mary)), 2, _131052 ) -6470d 249 0 CALL: termhandling:propagate_interpretation('$atom'(alarm), 2, _131054 ) -6471d 249 0 TRY_OR -6472d 273 0 CALL: user:known(2, alarm, _131054 ) -6474d 249 0 CALL: termhandling:propagate_interpretation('$atom'(hears_alarm(mary)), 2, _131055 ) -6475d 249 0 TRY_OR -6476d 265 0 CALL: user:known(2, hears_alarm(mary), _131055 ) -6478d 249 0 CALL: termhandling:simplify(<=>(true,('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)))), _1048359, _1048354 ) -6479d 259 0 CALL: termhandling:simplify_intern(<=>(true,('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)))), _1048309, _1048308 ) -6480d 259 0 CALL: termhandling:simplify_intern_implication(true, '$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), _1048309, _1048308 ) -6481d 259 0 CALL: prolog:==(true, true ) -6482d 249 0 CALL: termhandling:simplify('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), _1048359, _131056 ) -6483d 259 0 CALL: termhandling:simplify_intern('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), _1048309, _1048308 ) -6484d 259 0 CALL: termhandling:simplify_intern_and('$atom'(person(mary)), '$atom'(alarm),'$atom'(hears_alarm(mary)), _1048309, _1048308 ) -+s 0x5602af28dc40 - @0x7efdd88a3238 0 -+s 0x5602af2ace20 - @0x7efdd88a3238 0 -- 0x5602af2ace20 - @0x7efdd88a3238 259 -+s 0x5602af2acf90 - @0x7efdd88a3238 0 -+s 0x5602af28c380 - @0x7efdd88a3238 0 -- 0x5602af28dc40 - @0x7efdd88a3238 259 -6485d 278 0 FAIL RETRY: termhandling:simplify_intern_and('$atom'(person(mary)), '$atom'(alarm),'$atom'(hears_alarm(mary)), _1048309, _1048308 ) -6486d 278 0 FAIL RETRY: termhandling:simplify_intern_and('$atom'(person(mary)), '$atom'(alarm),'$atom'(hears_alarm(mary)), _1048309, _1048308 ) -6487d 259 0 CALL: termhandling:simplify_intern('$atom'(person(mary)), _131058, _1048300 ) -6488d 259 0 CALL: termhandling:simplify_intern('$atom'(alarm),'$atom'(hears_alarm(mary)), _131059, _1048301 ) -6489d 259 0 CALL: termhandling:simplify_intern_and('$atom'(alarm), '$atom'(hears_alarm(mary)), _131059, _1048301 ) -6490d 286 0 FAIL RETRY: termhandling:simplify_intern_and('$atom'(alarm), '$atom'(hears_alarm(mary)), _131059, _1048301 ) -6491d 286 0 FAIL RETRY: termhandling:simplify_intern_and('$atom'(alarm), '$atom'(hears_alarm(mary)), _131059, _1048301 ) -6492d 259 0 CALL: termhandling:simplify_intern('$atom'(alarm), _131061, _1048292 ) -6493d 259 0 CALL: termhandling:simplify_intern('$atom'(hears_alarm(mary)), _131062, _1048293 ) -6494d 259 0 CALL: termhandling:or(false, false, _1048301 ) -6495d 259 0 CALL: termhandling:or(false, false, _1048308 ) -6496d 259 0 CALL: prolog:==(false, true ) -6497d 259 0 FAIL RETRY: termhandling:simplify('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), _1048359, _131056 ) -6498d 249 0 TRY_OR -6499d 257 0 CALL: prolog:\==('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)), false ) -6500d 257 0 CALL: completion:record_constraint_cs_check('$atom'(person(mary)),'$atom'(alarm),'$atom'(hears_alarm(mary)) ) -6501d 257 0 CALL: completion:record_constraint_cs_check('$atom'(person(mary)) ) -6502d 257 0 TRY_OR -6503d 280 0 CALL: prolog:recorded(unpropagated_rules, <=>('$atom'(person(mary)),_131059), _1048303 ) -6504d 257 0 CALL: prolog:==(true, true ) -6505d 257 0 CALL: completion:record_constraint_cs_check('$atom'(alarm),'$atom'(hears_alarm(mary)) ) -6506d 257 0 CALL: completion:record_constraint_cs_check('$atom'(alarm) ) -6507d 257 0 TRY_OR -6508d 280 0 CALL: prolog:recorded(unpropagated_rules, <=>('$atom'(alarm),_131062), _1048303 ) -6510d 257 0 CALL: prolog:recorda(unpropagated_rules, <=>('$atom'(alarm),true), _131063 ) -+s 0x5602af28dc40 - @0x7efdd88a3248 0 -6511d 257 0 CALL: completion:record_constraint_cs_check('$atom'(hears_alarm(mary)) ) -6512d 257 0 TRY_OR -6513d 274 0 CALL: prolog:recorded(unpropagated_rules, <=>('$atom'(hears_alarm(mary)),_131066), _1048309 ) -+s 0x5602af2ad980 - @0x7efdd88a3258 0 -+s 0x5602af2adc30 - @0x7efdd88a3258 0 -- 0x5602af2adc30 - @0x7efdd88a3258 274 -+s 0x5602af2aca20 - @0x7efdd88a3258 0 -+s 0x5602af2adc30 - @0x7efdd88a3258 0 -- 0x5602af2adc30 - @0x7efdd88a3258 274 -+s 0x5602af29a880 - @0x7efdd88a3258 0 -+s 0x5602af2adc30 - @0x7efdd88a3258 0 -- 0x5602af2adc30 - @0x7efdd88a3258 274 -+s 0x5602af159630 - @0x7efdd88a3258 0 -+s 0x5602aeff6af0 - @0x7efdd88a3258 0 -+s 0x5602af239da0 - @0x7efdd88a3258 0 -- 0x5602af2ad980 - @0x7efdd88a3258 274 -6515d 257 0 CALL: prolog:recorda(unpropagated_rules, <=>('$atom'(hears_alarm(mary)),true), _131067 ) -+s 0x5602af2aaeb0 - @0x7efdd88a3258 0 -+s 0x5602af2aa660 - @0x7efdd88a3258 0 -- 0x5602aeff6af0 - @0x7efdd88a3258 257 -6516d 241 0 FAIL RETRY: idb:recorded(reachable, _1048356, _130999 ) -6517d 230 0 CALL: grounder:grounder_completion_for_atom(earthquake, 2, _1048357 ) -6518d 230 0 CALL: prolog:findall(_131005, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), _1048338 ) -6519d 230 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048338 ) -6520d 254 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048338 ) -6521d 230 0 TRY_OR -6522d 261 0 CALL: error:has_type(list_or_partial_list, _1048338 ) -6523d 261 0 CALL: error:is_list_or_partial_list(_1048338 ) -6524d 261 0 CALL: prolog:$skip_list(_131022, _1048338, _131023 ) -6525d 230 0 CALL: prolog:$findall(_131005, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), [], _131023 ) -6526d 230 0 CALL: nb:nb_queue(_1048330 ) -6527d 230 0 TRY_OR -6528d 255 0 CALL: prolog:$execute(grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)) ) -6529d 255 0 CALL: prolog:$call(grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6530d 266 0 FAIL RETRY: prolog:$call(grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6531d 255 0 CALL: prolog:$call(user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6532d 255 0 CALL: prolog:$call(user:myclause(2,earthquake,_131018), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6533d 297 0 FAIL RETRY: prolog:$call(user:myclause(2,earthquake,_131018), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), grounder ) -6534d 255 0 CALL: prolog:$call(myclause(2,earthquake,_131018), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6535d 308 0 FAIL RETRY: prolog:$call(myclause(2,earthquake,_131018), 255, grounder: (user:myclause(2,earthquake,_131018),grounder_ground_term_with_reachable_atoms(_131018,_131005)), user ) -6536d 255 0 CALL: prolog:$execute0(myclause(2,earthquake,_131018), user ) -6537d 255 0 CALL: user:myclause(2, earthquake, _131018 ) -6538d 255 0 CALL: prolog:current_predicate(user:myclause/2 ) -6539d 255 0 CALL: prolog:$yap_strip_module(user:myclause/2, _1048265, _1048264 ) -6540d 255 0 CALL: prolog:must_bind_to_type(predicate_indicator, myclause/2 ) -6541d 255 0 TRY_OR -6542d 327 0 CALL: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6543d 336 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, myclause/2 ) -6544d 327 0 TRY_OR -6546d 327 0 CALL: error:may_bind_to_type(atom, myclause ) -6547d 344 0 FAIL RETRY: error:may_bind_to_type(atom, myclause ) -6548d 327 0 CALL: error:may_bind_to_type(integer, 2 ) -6549d 336 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6550d 255 0 CALL: prolog:$c_i_predicate(myclause/2, user ) -6551d 255 0 TRY_OR -6552d 321 0 CALL: prolog:ground(myclause/2 ) -6553d 255 0 CALL: prolog:functor(_135131, myclause, 2 ) -6554d 255 0 CALL: prolog:current_predicate(myclause, user:myclause(_135132,_135133) ) -6555d 255 0 CALL: prolog:$yap_strip_module(user:myclause(_135132,_135133), _1048261, _1048260 ) -6556d 255 0 CALL: prolog:functor(myclause(_135132,_135133), myclause, _1048259 ) -6557d 255 0 TRY_OR -6558d 323 0 CALL: prolog:$current_predicate(myclause, user, myclause(_135132,_135133), user ) -6559d 323 0 CALL: user:myclause(earthquake, _131018 ) -6561d 255 0 CALL: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048264, _1048265 ) -6562d 324 0 CALL: prolog:$is_system_predicate(myclause(_135132,_135133), prolog ) -6563d 324 0 FAIL RETRY: prolog:$imported_predicate(myclause(_135132,_135133), user, _1048264, _1048265 ) -6564d 255 0 CALL: prolog:$undefined(myclause(_135132,_135133), user ) -6566d 230 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _131023, [] ) -6567d 230 0 CALL: prolog:\==([], [] ) -6569d 173 0 TRY_OR -6570d 221 0 CALL: user:known(2, _1048363, _1048364 ) -6571d 231 0 TRY_OR -6572d 239 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(earthquake),false), _1048365 ) -+s 0x5602af265b10 - @0x7efdd88a31c8 0 -6573d 231 0 FAIL RETRY: user:known(2, _1048363, _1048364 ) -6574d 221 0 TRY_OR -6575d 229 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(calls(mary)),true), _1048365 ) -+s 0x5602af266c50 - @0x7efdd88a31c8 0 -6577d 173 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_completion ) -6578d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_completion, _1048362 ) -6579d 173 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_completion, _1048365 ) -6580d 173 0 CALL: prolog:statistics(walltime, [_131002,_131004] ) -6581d 173 0 CALL: prolog:$walltime(_131002, _131004 ) -6582d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_completion, null ) -6583d 173 0 TRY_OR -6584d 217 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_completion ) -6585d 217 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_completion, _1048351 ) -6586d 217 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, _1048352 ) -6587d 217 0 CALL: prolog:\=(1698, null ) -6588d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_completion, _1048367 ) -6589d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_completion, _1048359 ) -6590d 173 0 TRY_OR -6591d 225 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, null ) -6593d 225 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, _1048367 ) -6594d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_completion, 5417 ) -6595d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_completion, _1048360 ) -6596d 173 0 TRY_OR -6597d 225 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_completion, _1048358 ) -6598d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_completion, 5417 ) -6599d 173 0 CALL: grounder:grounder_reset -6600d 173 0 CALL: prolog:eraseall(reachable ) -- 0x5602af27fff0 - @0x7efdd88a31a8 173 -- 0x5602af2a1fb0 - @0x7efdd88a31a8 173 -- 0x5602af03be90 - @0x7efdd88a31a8 173 -- 0x5602aefeaa80 - @0x7efdd88a31a8 173 -- 0x5602aec1f700 - @0x7efdd88a31a8 173 -- 0x5602aec8ed70 - @0x7efdd88a31a8 173 -- 0x5602aeec6410 - @0x7efdd88a31a8 173 -- 0x5602af08ccb0 - @0x7efdd88a31a8 173 -- 0x5602af233b50 - @0x7efdd88a31a8 173 -- 0x5602af28ce10 - @0x7efdd88a31a8 173 -- 0x5602af266af0 - @0x7efdd88a31a8 173 -- 0x5602af233a50 - @0x7efdd88a31a8 173 -- 0x5602af2339c0 - @0x7efdd88a31a8 173 -- 0x5602af2666d0 - @0x7efdd88a31a8 173 -- 0x5602af28dfd0 - @0x7efdd88a31a8 173 -- 0x5602af28e320 - @0x7efdd88a31a8 173 -6601d 173 0 CALL: prolog:garbage_collect_atoms -6602d 173 0 CALL: prolog:$atom_gc -- 0x5602aeb49e10 - @0x7efdd88a31a8 173 -- 0x5602af229bb0 - @0x7efdd88a31a8 173 -- 0x5602aebb3a40 - @0x7efdd88a31a8 173 -- 0x5602af20ebd0 - @0x7efdd88a31a8 173 -- 0x5602af26d2e0 - @0x7efdd88a31a8 173 -- 0x5602af26d4d0 - @0x7efdd88a31a8 173 -- 0x5602af281820 - @0x7efdd88a31a8 173 -- 0x5602af22d6a0 - @0x7efdd88a31a8 173 -- 0x5602af222600 - @0x7efdd88a31a8 173 -- 0x5602af267be0 - @0x7efdd88a31a8 173 -- 0x5602af226060 - @0x7efdd88a31a8 173 -- 0x5602af275d90 - @0x7efdd88a31a8 173 -- 0x5602af27f850 - @0x7efdd88a31a8 173 -- 0x5602af20eb60 - @0x7efdd88a31a8 173 -6603d 173 0 CALL: flags:problog_flag(propagate_known, _1048375 ) -6604d 173 0 CALL: gflags:flag_get(propagate_known, _1048375 ) -6605d 173 0 CALL: prolog:recorded(flag_values, flag(propagate_known,_131020), _131021 ) -6606d 173 0 TRY_OR -6607d 208 0 CALL: prolog:==(true, true ) -6608d 173 0 CALL: logger:logger_start_timer(train_bdd_script_generation_propagation ) -6609d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_propagation, _1048367 ) -6610d 173 0 TRY_OR -6611d 217 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_propagation, null ) -6612d 173 0 CALL: prolog:statistics(walltime, [_131025,_131027] ) -6613d 173 0 CALL: prolog:$walltime(_131025, _131027 ) -6614d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_propagation, 357409 ) -6615d 173 0 CALL: print_learning:format_learning(5, p, [] ) -6616d 209 0 CALL: flags:problog_flag(verbosity_learning, _1048357 ) -6617d 209 0 CALL: gflags:flag_get(verbosity_learning, _1048357 ) -6618d 209 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_131034), _131035 ) -6619d 209 0 CALL: prolog:>=(5, 5 ) -6620d 173 0 CALL: prolog:format(p, print_learning:[] ) -6621d 173 0 CALL: prolog:flush_output(user ) -p6622d 173 0 CALL: prolog:$current_choice_point(_1048376 ) -6623d 173 0 CALL: completion:propagate -6624d 207 0 CALL: flags:problog_flag(propagate_det, true ) -6625d 207 0 CALL: gflags:flag_get(propagate_det, true ) -6626d 207 0 CALL: prolog:recorded(flag_values, flag(propagate_det,true), _131042 ) -6627d 173 0 TRY_OR -6628d 224 0 CALL: prolog:$current_choice_point(_1048359 ) -6629d 224 0 CALL: completion:propagate_intern_known(_1048360 ) -6630d 232 0 CALL: prolog:recorded(unpropagated_rules, <=>(_131044,_131045), _1048323 ) -+s 0x5602af226060 - @0x7efdd88a31e8 0 -+s 0x5602af2adaa0 - @0x7efdd88a31e8 0 -- 0x5602af2adaa0 - @0x7efdd88a31e8 232 -+s 0x5602af222600 - @0x7efdd88a31e8 0 -+s 0x5602af2339c0 - @0x7efdd88a31e8 0 -- 0x5602af226060 - @0x7efdd88a31e8 232 -+s 0x5602af226060 - @0x7efdd88a31e8 0 -+s 0x5602aeec6410 - @0x7efdd88a31e8 0 -+s 0x5602af2afee0 - @0x7efdd88a31e8 0 -+s 0x5602af2afd30 - @0x7efdd88a31e8 0 -+s 0x5602af1de3e0 - @0x7efdd88a31e8 0 -- 0x5602af226060 - @0x7efdd88a31e8 232 -6631d 224 0 CALL: prolog:erase('$dbref'(0x5602af2aaeb0,1) ) -- 0x5602af2afee0 - @0x7efdd88a31f8 224 -- 0x5602af2afd30 - @0x7efdd88a31f8 224 -- 0x5602af1de3e0 - @0x7efdd88a31f8 224 -- 0x5602aeec6410 - @0x7efdd88a31f8 224 -- 0x5602af222600 - @0x7efdd88a31f8 224 -- 0x5602af2339c0 - @0x7efdd88a31f8 224 -- 0x5602af2aa660 - @0x7efdd88a31f8 224 -- 0x5602af159630 - @0x7efdd88a31f8 224 -- 0x5602af29a880 - @0x7efdd88a31f8 224 -- 0x5602af2aca20 - @0x7efdd88a31f8 224 -- 0x5602af239da0 - @0x7efdd88a31f8 224 -6632d 224 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(hears_alarm(mary)),true), _1048325 ) -+s 0x5602af266d10 - @0x7efdd88a31f8 0 -6633d 224 0 TRY_OR -6634d 257 0 CALL: prolog:recorded(rules, _1048335, _1048327 ) -6635d 257 0 CALL: prolog:$current_choice_point(_1048326 ) -6636d 257 0 CALL: termhandling:propagate(<=>('$atom'(alarm),'$atom'(burglary)), '$atom'(hears_alarm(mary)), true, _1048328, true ) -+s 0x5602af28c980 - @0x7efdd88a3248 0 -+s 0x5602af2aa660 - @0x7efdd88a3248 0 -- 0x5602af2aa660 - @0x7efdd88a3248 257 -+s 0x5602aeff1e90 - @0x7efdd88a3248 0 -+s 0x5602af2339c0 - @0x7efdd88a3248 0 -+s 0x5602af266dd0 - @0x7efdd88a3248 0 -- 0x5602af28c980 - @0x7efdd88a3248 257 -6637d 257 0 CALL: termhandling:propagate('$atom'(alarm), '$atom'(hears_alarm(mary)), true, _131047, _1048310 ) -6638d 257 0 TRY_OR -6639d 285 0 CALL: prolog:==(alarm, hears_alarm(mary) ) -6641d 257 0 CALL: termhandling:propagate('$atom'(burglary), '$atom'(hears_alarm(mary)), true, _131048, _1048311 ) -6642d 257 0 TRY_OR -6643d 281 0 CALL: prolog:==(burglary, hears_alarm(mary) ) -6645d 257 0 CALL: termhandling:or(false, false, true ) -6647d 224 0 CALL: prolog:==(true, false ) -- 0x5602af2aaeb0 - @0x7efdd88a3208 224 -6649d 224 0 CALL: prolog:$current_choice_point(_1048359 ) -6650d 224 0 CALL: completion:propagate_intern_known(_1048360 ) -6651d 232 0 CALL: prolog:recorded(unpropagated_rules, <=>(_131044,_131045), _1048323 ) -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602af2b02c0 - @0x7efdd88a31e8 0 -- 0x5602af2b02c0 - @0x7efdd88a31e8 232 -+s 0x5602af222600 - @0x7efdd88a31e8 0 -+s 0x5602af2b02c0 - @0x7efdd88a31e8 0 -- 0x5602af2b02c0 - @0x7efdd88a31e8 232 -+s 0x5602af226060 - @0x7efdd88a31e8 0 -+s 0x5602af2669e0 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602af2b02c0 - @0x7efdd88a31e8 0 -- 0x5602af2b02c0 - @0x7efdd88a31e8 232 -+s 0x5602af22d6a0 - @0x7efdd88a31e8 0 -+s 0x5602af266e90 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602aeec6410 - @0x7efdd88a31e8 0 -+s 0x5602af2b02c0 - @0x7efdd88a31e8 0 -+s 0x5602af2afd30 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -6652d 224 0 CALL: prolog:erase('$dbref'(0x5602af28dc40,1) ) -- 0x5602af2b02c0 - @0x7efdd88a31f8 224 -- 0x5602af2afd30 - @0x7efdd88a31f8 224 -- 0x5602aeec6410 - @0x7efdd88a31f8 224 -- 0x5602af22d6a0 - @0x7efdd88a31f8 224 -- 0x5602af266e90 - @0x7efdd88a31f8 224 -- 0x5602af226060 - @0x7efdd88a31f8 224 -- 0x5602af222600 - @0x7efdd88a31f8 224 -- 0x5602af2669e0 - @0x7efdd88a31f8 224 -6653d 224 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(alarm),true), _1048325 ) -+s 0x5602af266e90 - @0x7efdd88a31f8 0 -6654d 224 0 TRY_OR -6655d 257 0 CALL: prolog:recorded(rules, _1048335, _1048327 ) -6656d 257 0 CALL: prolog:$current_choice_point(_1048326 ) -6657d 257 0 CALL: termhandling:propagate(<=>('$atom'(alarm),'$atom'(burglary)), '$atom'(alarm), true, _1048328, true ) -6658d 257 0 CALL: termhandling:propagate('$atom'(alarm), '$atom'(alarm), true, _131047, _1048310 ) -6659d 257 0 TRY_OR -6660d 285 0 CALL: prolog:==(alarm, alarm ) -6661d 257 0 CALL: termhandling:propagate('$atom'(burglary), '$atom'(alarm), true, _131048, _1048311 ) -6662d 257 0 TRY_OR -6663d 281 0 CALL: prolog:==(burglary, alarm ) -6665d 257 0 CALL: termhandling:or(true, false, true ) -6666d 257 0 TRY_OR -6667d 265 0 CALL: prolog:erase('$dbref'(0x5602af28d780,0) ) -6668d 265 0 CALL: prolog:$current_choice_point(_1048330 ) -6669d 265 0 CALL: termhandling:simplify(<=>(true,'$atom'(burglary)), _1048331, _1048329 ) -6670d 275 0 CALL: termhandling:simplify_intern(<=>(true,'$atom'(burglary)), _1048293, _1048292 ) -6671d 275 0 CALL: termhandling:simplify_intern_implication(true, '$atom'(burglary), _1048293, _1048292 ) -6672d 275 0 CALL: prolog:==(true, true ) -6673d 265 0 CALL: termhandling:simplify('$atom'(burglary), _1048331, _131049 ) -6674d 275 0 CALL: termhandling:simplify_intern('$atom'(burglary), _1048293, _1048292 ) -6675d 275 0 CALL: prolog:==(false, true ) -6676d 275 0 FAIL RETRY: termhandling:simplify('$atom'(burglary), _1048331, _131049 ) -6677d 265 0 TRY_OR -6678d 273 0 CALL: prolog:\==('$atom'(burglary), false ) -6679d 273 0 CALL: completion:record_constraint_cs_check('$atom'(burglary) ) -6680d 273 0 TRY_OR -6681d 290 0 CALL: prolog:recorded(unpropagated_rules, <=>('$atom'(burglary),_131052), _1048293 ) -6683d 273 0 CALL: prolog:recorda(unpropagated_rules, <=>('$atom'(burglary),true), _131053 ) -+s 0x5602af266f40 - @0x7efdd88a3288 0 -- 0x5602af28d780 - @0x7efdd88a3298 257 -6685d 224 0 CALL: prolog:==(true, false ) -- 0x5602af28dc40 - @0x7efdd88a3208 224 -6687d 224 0 CALL: prolog:$current_choice_point(_1048359 ) -6688d 224 0 CALL: completion:propagate_intern_known(_1048360 ) -6689d 232 0 CALL: prolog:recorded(unpropagated_rules, <=>(_131044,_131045), _1048323 ) -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602af2b0d00 - @0x7efdd88a31e8 0 -- 0x5602af2b0d00 - @0x7efdd88a31e8 232 -+s 0x5602af222600 - @0x7efdd88a31e8 0 -+s 0x5602af2b0d00 - @0x7efdd88a31e8 0 -- 0x5602af2b0d00 - @0x7efdd88a31e8 232 -+s 0x5602af226060 - @0x7efdd88a31e8 0 -+s 0x5602af2669e0 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602af2b0d00 - @0x7efdd88a31e8 0 -- 0x5602af2b0d00 - @0x7efdd88a31e8 232 -+s 0x5602af22d6a0 - @0x7efdd88a31e8 0 -+s 0x5602af28dc40 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -+s 0x5602af2afbc0 - @0x7efdd88a31e8 0 -+s 0x5602aeec6410 - @0x7efdd88a31e8 0 -+s 0x5602af2b0d00 - @0x7efdd88a31e8 0 -+s 0x5602af2b02c0 - @0x7efdd88a31e8 0 -- 0x5602af2afbc0 - @0x7efdd88a31e8 232 -6690d 224 0 CALL: prolog:erase('$dbref'(0x5602af266f40,1) ) -- 0x5602af2b0d00 - @0x7efdd88a31f8 224 -- 0x5602af2b02c0 - @0x7efdd88a31f8 224 -- 0x5602aeec6410 - @0x7efdd88a31f8 224 -- 0x5602af22d6a0 - @0x7efdd88a31f8 224 -- 0x5602af28dc40 - @0x7efdd88a31f8 224 -- 0x5602af226060 - @0x7efdd88a31f8 224 -- 0x5602af222600 - @0x7efdd88a31f8 224 -- 0x5602af2669e0 - @0x7efdd88a31f8 224 -6691d 224 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(burglary),true), _1048325 ) -+s 0x5602af28dc40 - @0x7efdd88a31f8 0 -6692d 224 0 TRY_OR -6693d 257 0 CALL: prolog:recorded(rules, _1048335, _1048327 ) -6695d 224 0 CALL: prolog:==(true, false ) -- 0x5602af266f40 - @0x7efdd88a3208 224 -6697d 224 0 CALL: prolog:$current_choice_point(_1048359 ) -6698d 224 0 CALL: completion:propagate_intern_known(_1048360 ) -6699d 232 0 CALL: prolog:recorded(unpropagated_rules, <=>(_131044,_131045), _1048323 ) -6700d 224 0 CALL: prolog:erase('$dbref'(0x5602af01ad50,0) ) -6701d 224 0 CALL: prolog:recorda(known_atoms, <=>('$atom'(person(mary)),true), _1048325 ) -+s 0x5602af28d780 - @0x7efdd88a31f8 0 -6702d 224 0 TRY_OR -6703d 257 0 CALL: prolog:recorded(rules, _1048335, _1048327 ) -6705d 224 0 CALL: prolog:==(true, false ) -- 0x5602af01ad50 - @0x7efdd88a3208 224 -6707d 224 0 CALL: prolog:$current_choice_point(_1048359 ) -6708d 224 0 CALL: completion:propagate_intern_known(_1048360 ) -6709d 232 0 CALL: prolog:recorded(unpropagated_rules, <=>(_131044,_131045), _1048323 ) -6710d 232 0 FAIL RETRY: completion:propagate_intern_known(_1048360 ) -6711d 224 0 CALL: prolog:==(false, false ) -6712d 224 0 CALL: prolog:$current_choice_point(_1048361 ) -6713d 224 0 CALL: completion:propagate_intern_deterministic(_1048362 ) -6714d 232 0 CALL: prolog:recorded(rules, <=>(_131044,_131045), _1048325 ) -6715d 232 0 FAIL RETRY: completion:propagate_intern_deterministic(_1048362 ) -6716d 224 0 CALL: prolog:==(false, false ) -6717d 173 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_propagation ) -6718d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_propagation, _1048365 ) -6719d 173 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_propagation, _1048368 ) -6720d 173 0 CALL: prolog:statistics(walltime, [_131046,_131048] ) -6721d 173 0 CALL: prolog:$walltime(_131046, _131048 ) -6722d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_propagation, null ) -6723d 173 0 TRY_OR -6724d 214 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_propagation ) -6725d 214 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagation, _1048354 ) -6726d 214 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, _1048355 ) -6727d 214 0 CALL: prolog:\=(167, null ) -6728d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_propagation, _1048370 ) -6729d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagation, _1048362 ) -6730d 173 0 TRY_OR -6731d 222 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, null ) -6733d 222 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, _1048370 ) -6734d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_propagation, 896 ) -6735d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagation, _1048363 ) -6736d 173 0 TRY_OR -6737d 222 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagation, _1048361 ) -6738d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_propagation, 896 ) -6739d 173 0 CALL: flags:problog_flag(split_bdds, _1048378 ) -6740d 173 0 CALL: gflags:flag_get(split_bdds, _1048378 ) -6741d 173 0 CALL: prolog:recorded(flag_values, flag(split_bdds,_131064), _131065 ) -6742d 173 0 CALL: print_learning:format_learning(5, 'S', [] ) -6743d 207 0 CALL: flags:problog_flag(verbosity_learning, _1048359 ) -6744d 207 0 CALL: gflags:flag_get(verbosity_learning, _1048359 ) -6745d 207 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_131068), _131069 ) -6746d 207 0 CALL: prolog:>=(5, 5 ) -6747d 173 0 CALL: prolog:format('S', print_learning:[] ) -6748d 173 0 CALL: prolog:flush_output(user ) -S6749d 173 0 TRY_OR -6750d 205 0 CALL: prolog:==(true, false ) -6752d 173 0 CALL: logger:logger_start_timer(train_bdd_script_generation_splitting ) -6753d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_splitting, _1048371 ) -6754d 173 0 TRY_OR -6755d 213 0 CALL: prolog:bb_get(logger:logger_start_time_train_bdd_script_generation_splitting, null ) -6756d 173 0 CALL: prolog:statistics(walltime, [_131076,_131078] ) -6757d 173 0 CALL: prolog:$walltime(_131076, _131078 ) -6758d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_splitting, 358313 ) -6759d 173 0 CALL: completion:split_rules(_1048381 ) -6760d 173 0 CALL: prolog:eraseall(cluster ) -6761d 173 0 TRY_OR -6762d 216 0 CALL: prolog:recorded(rules, _1048369, _1048370 ) -6764d 173 0 TRY_OR -6765d 214 0 CALL: prolog:recorded(unpropagated_rules, _1048369, _1048370 ) -6767d 173 0 CALL: prolog:garbage_collect_atoms -6768d 173 0 CALL: prolog:$atom_gc -6769d 173 0 TRY_OR -6770d 210 0 CALL: completion:merge_cluster(_1048373 ) -6771d 218 0 CALL: prolog:recorded(cluster, c(_131084,_131085), _1048343 ) -6772d 218 0 FAIL RETRY: completion:merge_cluster(_1048373 ) -6773d 210 0 CALL: prolog:==(false, false ) -6774d 173 0 CALL: prolog:findall(_131083, completion:recorded(cluster,c(_131092,_131083),_131090), _1048381 ) -6775d 173 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048381 ) -6776d 217 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048381 ) -6777d 173 0 TRY_OR -6778d 224 0 CALL: error:has_type(list_or_partial_list, _1048381 ) -6779d 224 0 CALL: error:is_list_or_partial_list(_1048381 ) -6780d 224 0 CALL: prolog:$skip_list(_131094, _1048381, _131095 ) -6781d 173 0 CALL: prolog:$findall(_131083, completion:recorded(cluster,c(_131092,_131083),_131090), [], _131095 ) -6782d 173 0 CALL: nb:nb_queue(_1048367 ) -6783d 173 0 TRY_OR -6784d 218 0 CALL: prolog:$execute(completion:recorded(cluster,c(_131092,_131083),_131090) ) -6785d 218 0 CALL: prolog:recorded(cluster, c(_131092,_131083), _131090 ) -6786d 218 0 CALL: prolog:recorded(cluster, c(_131092,_131083), _131090 ) -6788d 173 0 CALL: nb:nb_queue_close(queue(0,0,0,0), _131095, [] ) -6789d 173 0 CALL: prolog:eraseall(cluster ) -6790d 173 0 CALL: prolog:garbage_collect_atoms -6791d 173 0 CALL: prolog:$atom_gc -6792d 173 0 CALL: logger:logger_stop_timer(train_bdd_script_generation_splitting ) -6793d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation_splitting, _1048368 ) -6794d 173 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation_splitting, _1048371 ) -6795d 173 0 CALL: prolog:statistics(walltime, [_131104,_131106] ) -6796d 173 0 CALL: prolog:$walltime(_131104, _131106 ) -6797d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation_splitting, null ) -6798d 173 0 TRY_OR -6799d 211 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_splitting ) -6800d 211 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_splitting, _1048357 ) -6801d 211 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, _1048358 ) -6802d 211 0 CALL: prolog:\=(14936, null ) -6803d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_splitting, _1048373 ) -6804d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_splitting, _1048365 ) -6805d 173 0 TRY_OR -6806d 219 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, null ) -6808d 219 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, _1048373 ) -6809d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_splitting, 28963 ) -6810d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_splitting, _1048366 ) -6811d 173 0 TRY_OR -6812d 219 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_splitting, _1048364 ) -6813d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_splitting, 28963 ) -6814d 173 0 CALL: print_learning:format_learning(5, s, [] ) -6815d 204 0 CALL: flags:problog_flag(verbosity_learning, _1048362 ) -6816d 204 0 CALL: gflags:flag_get(verbosity_learning, _1048362 ) -6817d 204 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_131122), _131123 ) -6818d 204 0 CALL: prolog:>=(5, 5 ) -6819d 173 0 CALL: prolog:format(s, print_learning:[] ) -6820d 173 0 CALL: prolog:flush_output(user ) -s6821d 173 0 CALL: completion:print_script_per_cluster([], 2, 1, 0, _1048387, [], _1048383 ) -6822d 173 0 CALL: completion:store_known_atoms(2, [], training ) -6823d 173 0 TRY_OR -6824d 221 0 CALL: prolog:==(training, test ) -6826d 173 0 CALL: prolog:retractall(completion:bdd_cluster(2,_131134) ) -6827d 173 0 CALL: prolog:$retractall(bdd_cluster(2,_131134), completion ) -6828d 230 0 FAIL RETRY: prolog:$retractall(bdd_cluster(2,_131134), completion ) -6829d 173 0 CALL: prolog:functor(bdd_cluster(2,_131134), _131136, _131137 ) -6830d 173 0 CALL: prolog:$is_log_updatable(bdd_cluster(2,_131134), completion ) -6831d 173 0 CALL: prolog:$is_multifile(bdd_cluster(2,_131134), completion ) -6832d 173 0 CALL: prolog:$retractall_lu_mf(bdd_cluster(2,_131134), completion, bdd_cluster, 2 ) -6833d 224 0 CALL: prolog:$log_update_clause(bdd_cluster(2,_131134), completion, _1048340, _1048345 ) -6834d 224 0 FAIL RETRY: prolog:$retractall_lu_mf(bdd_cluster(2,_131134), completion, bdd_cluster, 2 ) -6835d 173 0 CALL: prolog:assertz(completion:bdd_cluster(2,[]) ) -6836d 173 0 CALL: prolog:$assert(completion:bdd_cluster(2,[]), assertz, _131141 ) -6837d 173 0 CALL: prolog:$yap_strip_clause(completion:bdd_cluster(2,[]), _1048351, _1048352 ) -6838d 173 0 CALL: prolog:$expand_clause(completion:bdd_cluster(2,[]), _1048355, _1048353 ) -6839d 234 0 CALL: prolog:source_module(_131142 ) -6840d 234 0 CALL: prolog:$yap_strip_clause(user:completion:bdd_cluster(2,[]), _131146, _131147 ) -6841d 234 0 CALL: prolog:$expand_a_clause(completion:bdd_cluster(2,[]), user, _1048355, _1048353 ) -6842d 234 0 CALL: prolog:$yap_strip_module(user:completion:bdd_cluster(2,[]), _1048322, _131154 ) -6843d 234 0 CALL: prolog:$head_and_body(bdd_cluster(2,[]), _1048321, _1048323 ) -6844d 264 0 FAIL RETRY: prolog:$head_and_body(bdd_cluster(2,[]), _1048321, _1048323 ) -6845d 234 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(2,[]), _1048324, _1048325 ) -6846d 234 0 CALL: prolog:$not_imported(bdd_cluster(2,[]), completion ) -6847d 262 0 CALL: prolog:recorded('$import', '$import'(_131159,completion,_131161,bdd_cluster(2,[]),_131163,_131164), _1048307 ) -6848d 262 0 FAIL RETRY: prolog:$not_imported(bdd_cluster(2,[]), completion ) -6849d 234 0 CALL: prolog:$yap_strip_module(completion:true, _131161, _131162 ) -6850d 234 0 CALL: prolog:$expand_clause_body(true, bdd_cluster(2,[]), completion, user, completion, _1048327, _1048329 ) -6851d 234 0 CALL: prolog:$build_up(completion, bdd_cluster(2,[]), user, true, _1048355, true, _1048353 ) -6852d 253 0 CALL: prolog:==(completion, user ) -6853d 253 0 FAIL RETRY: prolog:$build_up(completion, bdd_cluster(2,[]), user, true, _1048355, true, _1048353 ) -6854d 173 0 CALL: prolog:$$compile(completion:bdd_cluster(2,[]), assertz, completion:bdd_cluster(2,[]), _131141 ) -6855d 173 0 CALL: prolog:$head_and_body(completion:bdd_cluster(2,[]), _1048350, _1048352 ) -6856d 235 0 FAIL RETRY: prolog:$head_and_body(completion:bdd_cluster(2,[]), _1048350, _1048352 ) -6857d 173 0 CALL: prolog:strip_module(completion:bdd_cluster(2,[]), _1048355, _1048351 ) -6858d 173 0 CALL: prolog:$undefined(bdd_cluster(2,[]), completion ) -6859d 173 0 CALL: prolog:$compile(bdd_cluster(2,[]):-true, assertz, completion:bdd_cluster(2,[]), completion, _131141 ) -+s 0x5602af28dfd0 - @0x7efdd88a31d8 0 -+s 0x5602af28d370 - @0x7efdd88a31e8 0 -+s 0x5602af222600 - @0x7efdd88a31e8 0 -6860d 173 0 CALL: utils_learning:create_known_values_file_name(2, _1048362 ) -6861d 222 0 CALL: flags:problog_flag(bdd_directory, _1048345 ) -6862d 222 0 CALL: gflags:flag_get(bdd_directory, _1048345 ) -6863d 222 0 CALL: prolog:recorded(flag_values, flag(bdd_directory,_131177), _131178 ) -6864d 173 0 CALL: prolog:atomic_concat([query_,2,'_known_values'], _1048346 ) -6865d 173 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries', query_2_known_values, _1048362 ) -6866d 173 0 CALL: os:path_separator(_1048354 ) -6867d 230 0 CALL: prolog:current_prolog_flag(windows, true ) -6868d 230 0 FAIL RETRY: os:path_separator(_1048354 ) -6869d 173 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_2_known_values], _1048362 ) -6870d 173 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries',/,query_2_known_values], _1048362 ) -6871d 173 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/queries/query_2_known_values', write, _1048379 ) -6872d 173 0 CALL: prolog:format('$stream'(3), 'completion:bdd_cluster(~w,~w).~n', completion:[2,[]] ) -6873d 173 0 TRY_OR -6874d 219 0 CALL: prolog:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -+s 0x5602af266ff0 - @0x7efdd88a3228 0 -+s 0x5602af2b4110 - @0x7efdd88a3228 0 -- 0x5602af2b4110 - @0x7efdd88a3228 219 -+s 0x5602af2b4110 - @0x7efdd88a3228 0 -+s 0x5602af26d4d0 - @0x7efdd88a3228 0 -- 0x5602af26d4d0 - @0x7efdd88a3228 219 -+s 0x5602af26d4d0 - @0x7efdd88a3228 0 -+s 0x5602af20ebd0 - @0x7efdd88a3228 0 -- 0x5602af20ebd0 - @0x7efdd88a3228 219 -+s 0x5602aeec6410 - @0x7efdd88a3228 0 -+s 0x5602af1e08d0 - @0x7efdd88a3228 0 -+s 0x5602af239da0 - @0x7efdd88a3228 0 -- 0x5602af266ff0 - @0x7efdd88a3228 219 -+s 0x5602af266ff0 - @0x7efdd88a3228 0 -+s 0x5602af000ee0 - @0x7efdd88a3228 0 -+s 0x5602af2b4250 - @0x7efdd88a3228 0 -+s 0x5602af2b0e30 - @0x7efdd88a3228 0 -+s 0x5602af2affd0 - @0x7efdd88a3228 0 -+s 0x5602aeebe100 - @0x7efdd88a3228 0 -+s 0x5602af001a10 - @0x7efdd88a3228 0 -+s 0x5602af1b7ee0 - @0x7efdd88a3228 0 -- 0x5602af266ff0 - @0x7efdd88a3228 219 -6875d 230 0 CALL: completion:remember(person(mary), _1048365 ) -6876d 239 0 CALL: completion:seen_atom(person(mary), _1048365, _1048329, _1048330 ) -6877d 239 0 FAIL RETRY: completion:remember(person(mary), _1048365 ) -6878d 239 0 FAIL RETRY: completion:remember(person(mary), _1048365 ) -6879d 239 0 CALL: problog:probabilistic_fact(_1048330, person(mary), _1048329 ) -6880d 260 0 CALL: prolog:ground(person(mary) ) -6881d 239 0 CALL: prolog:=..(person(mary), [_131207|_131208] ) -6882d 239 0 CALL: prolog:atomic_concat(problog_, person, _1048305 ) -6883d 239 0 CALL: lists:append([_131213,mary], [_131215], _1048304 ) -6884d 239 0 CALL: lists:append([mary], [_131215], _131218 ) -6885d 239 0 CALL: lists:append([], [_131215], _131220 ) -6886d 239 0 CALL: prolog:=..(_1048307, [problog_person,_131213,mary,_131215] ) -6887d 239 0 CALL: prolog:length([_131213,mary,_131215], _1048306 ) -6888d 239 0 CALL: prolog:$skip_list([_131213,mary,_131215], _1048306, _131227, _131228 ) -6889d 239 0 CALL: prolog:==([], [] ) -6890d 239 0 CALL: prolog:current_predicate(problog:problog_person/3 ) -6891d 239 0 CALL: prolog:$yap_strip_module(problog:problog_person/3, _1048301, _1048300 ) -6892d 239 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_person/3 ) -6893d 239 0 TRY_OR -6894d 291 0 CALL: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -6895d 300 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_person/3 ) -6896d 291 0 TRY_OR -6898d 291 0 CALL: error:may_bind_to_type(atom, problog_person ) -6899d 308 0 FAIL RETRY: error:may_bind_to_type(atom, problog_person ) -6900d 291 0 CALL: error:may_bind_to_type(integer, 3 ) -6901d 300 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -6902d 239 0 CALL: prolog:$c_i_predicate(problog_person/3, problog ) -6903d 239 0 TRY_OR -6904d 285 0 CALL: prolog:ground(problog_person/3 ) -6905d 239 0 CALL: prolog:functor(_131235, problog_person, 3 ) -6906d 239 0 CALL: prolog:current_predicate(problog_person, problog:problog_person(_131236,_131237,_131238) ) -6907d 239 0 CALL: prolog:$yap_strip_module(problog:problog_person(_131236,_131237,_131238), _1048297, _1048296 ) -6908d 239 0 CALL: prolog:functor(problog_person(_131236,_131237,_131238), problog_person, _1048295 ) -6909d 239 0 TRY_OR -6910d 287 0 CALL: prolog:$current_predicate(problog_person, problog, problog_person(_131236,_131237,_131238), user ) -6912d 239 0 CALL: prolog:$imported_predicate(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6913d 288 0 CALL: prolog:$is_system_predicate(problog_person(_131236,_131237,_131238), prolog ) -6914d 288 0 FAIL RETRY: prolog:$imported_predicate(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6915d 239 0 CALL: prolog:$undefined(problog_person(_131236,_131237,_131238), problog ) -6916d 239 0 CALL: prolog:$get_undefined_predicates(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6917d 295 0 CALL: prolog:recorded('$import', '$import'(_131243,problog,_131245,problog_person(_131236,_131237,_131238),_131247,_131248), _1048270 ) -6918d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6919d 295 0 CALL: prolog:$pred_exists(problog_person(_131236,_131237,_131238), user ) -6920d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6921d 295 0 CALL: prolog:recorded('$dialect', swi, _1048265 ) -6922d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_person(_131236,_131237,_131238), problog, _1048300, _1048301 ) -6923d 239 0 CALL: prolog:$parent_module(problog, _1048283 ) -6924d 239 0 FAIL RETRY: completion:remember(person(mary), _1048365 ) -6925d 230 0 CALL: completion:next_det_counter(_1048337 ) -6926d 230 0 CALL: prolog:bb_get(completion:det_counter, _1048328 ) -6927d 230 0 CALL: prolog:atomic_concat([y,2], _1048337 ) -6928d 230 0 CALL: prolog:bb_put(completion:det_counter, 2 ) -6929d 230 0 CALL: prolog:atomic_concat([y,y2], _1048365 ) -6930d 230 0 CALL: prolog:assertz(completion:seen_atom(person(mary),yy2,det,1) ) -6931d 230 0 CALL: prolog:$assert(completion:seen_atom(person(mary),yy2,det,1), assertz, _131226 ) -6932d 230 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(person(mary),yy2,det,1), _1048334, _1048335 ) -6933d 230 0 CALL: prolog:$expand_clause(completion:seen_atom(person(mary),yy2,det,1), _1048338, _1048336 ) -6934d 251 0 CALL: prolog:source_module(_131227 ) -6935d 251 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(person(mary),yy2,det,1), _131231, _131232 ) -6936d 251 0 CALL: prolog:$expand_a_clause(completion:seen_atom(person(mary),yy2,det,1), user, _1048338, _1048336 ) -6937d 251 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(person(mary),yy2,det,1), _1048305, _131239 ) -6938d 251 0 CALL: prolog:$head_and_body(seen_atom(person(mary),yy2,det,1), _1048304, _1048306 ) -6939d 281 0 FAIL RETRY: prolog:$head_and_body(seen_atom(person(mary),yy2,det,1), _1048304, _1048306 ) -6940d 251 0 CALL: prolog:$yap_strip_module(completion:seen_atom(person(mary),yy2,det,1), _1048307, _1048308 ) -6941d 251 0 CALL: prolog:$not_imported(seen_atom(person(mary),yy2,det,1), completion ) -6942d 279 0 CALL: prolog:recorded('$import', '$import'(_131244,completion,_131246,seen_atom(person(mary),yy2,det,1),_131248,_131249), _1048290 ) -6943d 279 0 FAIL RETRY: prolog:$not_imported(seen_atom(person(mary),yy2,det,1), completion ) -6944d 251 0 CALL: prolog:$yap_strip_module(completion:true, _131246, _131247 ) -6945d 251 0 CALL: prolog:$expand_clause_body(true, seen_atom(person(mary),yy2,det,1), completion, user, completion, _1048310, _1048312 ) -6946d 251 0 CALL: prolog:$build_up(completion, seen_atom(person(mary),yy2,det,1), user, true, _1048338, true, _1048336 ) -6947d 270 0 CALL: prolog:==(completion, user ) -6948d 270 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(person(mary),yy2,det,1), user, true, _1048338, true, _1048336 ) -6949d 230 0 CALL: prolog:$$compile(completion:seen_atom(person(mary),yy2,det,1), assertz, completion:seen_atom(person(mary),yy2,det,1), _131226 ) -6950d 230 0 CALL: prolog:$head_and_body(completion:seen_atom(person(mary),yy2,det,1), _1048333, _1048335 ) -6951d 252 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(person(mary),yy2,det,1), _1048333, _1048335 ) -6952d 230 0 CALL: prolog:strip_module(completion:seen_atom(person(mary),yy2,det,1), _1048338, _1048334 ) -6953d 230 0 CALL: prolog:$undefined(seen_atom(person(mary),yy2,det,1), completion ) -6954d 230 0 CALL: prolog:$compile(seen_atom(person(mary),yy2,det,1):-true, assertz, completion:seen_atom(person(mary),yy2,det,1), completion, _131226 ) -+s 0x5602af28b690 - @0x7efdd88a3288 0 -6955d 230 0 CALL: completion:split_atom_name(yy2, _1048373, _1048374 ) -6956d 230 0 CALL: prolog:atomic_concat(x, _1048333, yy2 ) -6957d 230 0 FAIL RETRY: idb:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -6958d 230 0 CALL: completion:remember(burglary, _1048365 ) -6959d 239 0 CALL: completion:seen_atom(burglary, _1048365, _1048329, _1048330 ) -+s 0x5602af281870 - @0x7efdd88a3278 0 -+s 0x5602af2b6110 - @0x7efdd88a3278 0 -- 0x5602af2b6110 - @0x7efdd88a3278 239 -+s 0x5602af2b4eb0 - @0x7efdd88a3278 0 -+s 0x5602af229bb0 - @0x7efdd88a3278 0 -+s 0x5602af266ff0 - @0x7efdd88a3278 0 -- 0x5602af281870 - @0x7efdd88a3278 239 -6960d 239 0 FAIL RETRY: completion:remember(burglary, _1048365 ) -6961d 239 0 CALL: prolog:atom_codes(burglary, [76|_131208] ) -6962d 239 0 FAIL RETRY: completion:remember(burglary, _1048365 ) -6963d 239 0 CALL: problog:probabilistic_fact(_1048330, burglary, _1048329 ) -6964d 260 0 CALL: prolog:ground(burglary ) -6965d 239 0 CALL: prolog:=..(burglary, [_131207|_131208] ) -6966d 239 0 CALL: prolog:atomic_concat(problog_, burglary, _1048305 ) -6967d 239 0 CALL: lists:append([_131211], [_131213], _1048304 ) -6968d 239 0 CALL: lists:append([], [_131213], _131216 ) -6969d 239 0 CALL: prolog:=..(_1048307, [problog_burglary,_131211,_131213] ) -6970d 239 0 CALL: prolog:length([_131211,_131213], _1048306 ) -6971d 239 0 CALL: prolog:$skip_list([_131211,_131213], _1048306, _131222, _131223 ) -6972d 239 0 CALL: prolog:==([], [] ) -6973d 239 0 CALL: prolog:current_predicate(problog:problog_burglary/2 ) -6974d 239 0 CALL: prolog:$yap_strip_module(problog:problog_burglary/2, _1048301, _1048300 ) -6975d 239 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_burglary/2 ) -6976d 239 0 TRY_OR -6977d 291 0 CALL: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -6978d 300 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_burglary/2 ) -6979d 291 0 TRY_OR -6981d 291 0 CALL: error:may_bind_to_type(atom, problog_burglary ) -6982d 308 0 FAIL RETRY: error:may_bind_to_type(atom, problog_burglary ) -6983d 291 0 CALL: error:may_bind_to_type(integer, 2 ) -6984d 300 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -6985d 239 0 CALL: prolog:$c_i_predicate(problog_burglary/2, problog ) -6986d 239 0 TRY_OR -6987d 285 0 CALL: prolog:ground(problog_burglary/2 ) -6988d 239 0 CALL: prolog:functor(_131230, problog_burglary, 2 ) -6989d 239 0 CALL: prolog:current_predicate(problog_burglary, problog:problog_burglary(_131231,_131232) ) -6990d 239 0 CALL: prolog:$yap_strip_module(problog:problog_burglary(_131231,_131232), _1048297, _1048296 ) -6991d 239 0 CALL: prolog:functor(problog_burglary(_131231,_131232), problog_burglary, _1048295 ) -6992d 239 0 TRY_OR -6993d 287 0 CALL: prolog:$current_predicate(problog_burglary, problog, problog_burglary(_131231,_131232), user ) -6994d 287 0 CALL: problog:problog_burglary(_131211, _131213 ) -6995d 287 0 CALL: prolog:is(_1048330, 3, -1.249826789005093 ) -6996d 230 0 TRY_OR -6997d 258 0 CALL: problog:non_ground_fact(0 ) -6999d 230 0 CALL: prolog:atomic_concat([x,0], _1048365 ) -7000d 230 0 CALL: prolog:assertz(completion:seen_atom(burglary,x0,0,0.2865544269392134) ) -7001d 230 0 CALL: prolog:$assert(completion:seen_atom(burglary,x0,0,0.2865544269392134), assertz, _131251 ) -7002d 230 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048334, _1048335 ) -7003d 230 0 CALL: prolog:$expand_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048338, _1048336 ) -7004d 251 0 CALL: prolog:source_module(_131252 ) -7005d 251 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(burglary,x0,0,0.2865544269392134), _131256, _131257 ) -7006d 251 0 CALL: prolog:$expand_a_clause(completion:seen_atom(burglary,x0,0,0.2865544269392134), user, _1048338, _1048336 ) -7007d 251 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048305, _131264 ) -7008d 251 0 CALL: prolog:$head_and_body(seen_atom(burglary,x0,0,0.2865544269392134), _1048304, _1048306 ) -7009d 281 0 FAIL RETRY: prolog:$head_and_body(seen_atom(burglary,x0,0,0.2865544269392134), _1048304, _1048306 ) -7010d 251 0 CALL: prolog:$yap_strip_module(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048307, _1048308 ) -7011d 251 0 CALL: prolog:$not_imported(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -7012d 279 0 CALL: prolog:recorded('$import', '$import'(_131269,completion,_131271,seen_atom(burglary,x0,0,0.2865544269392134),_131273,_131274), _1048290 ) -7013d 279 0 FAIL RETRY: prolog:$not_imported(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -7014d 251 0 CALL: prolog:$yap_strip_module(completion:true, _131271, _131272 ) -7015d 251 0 CALL: prolog:$expand_clause_body(true, seen_atom(burglary,x0,0,0.2865544269392134), completion, user, completion, _1048310, _1048312 ) -7016d 251 0 CALL: prolog:$build_up(completion, seen_atom(burglary,x0,0,0.2865544269392134), user, true, _1048338, true, _1048336 ) -7017d 270 0 CALL: prolog:==(completion, user ) -7018d 270 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(burglary,x0,0,0.2865544269392134), user, true, _1048338, true, _1048336 ) -7019d 230 0 CALL: prolog:$$compile(completion:seen_atom(burglary,x0,0,0.2865544269392134), assertz, completion:seen_atom(burglary,x0,0,0.2865544269392134), _131251 ) -7020d 230 0 CALL: prolog:$head_and_body(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048333, _1048335 ) -7021d 252 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048333, _1048335 ) -7022d 230 0 CALL: prolog:strip_module(completion:seen_atom(burglary,x0,0,0.2865544269392134), _1048338, _1048334 ) -7023d 230 0 CALL: prolog:$undefined(seen_atom(burglary,x0,0,0.2865544269392134), completion ) -7024d 230 0 CALL: prolog:$compile(seen_atom(burglary,x0,0,0.2865544269392134):-true, assertz, completion:seen_atom(burglary,x0,0,0.2865544269392134), completion, _131251 ) -+s 0x5602af2670c0 - @0x7efdd88a3298 0 -+s 0x5602af2aa660 - @0x7efdd88a3298 0 -- 0x5602af2b4eb0 - @0x7efdd88a3298 230 -7025d 230 0 CALL: completion:split_atom_name(x0, _1048373, _1048374 ) -7026d 230 0 CALL: prolog:atomic_concat(x, _1048333, x0 ) -7027d 230 0 CALL: prolog:atom_codes('0', _1048338 ) -7028d 230 0 TRY_OR -7029d 249 0 CALL: lists:append(_1048335, [95|_131282], [48] ) -7030d 259 0 FAIL RETRY: lists:append(_1048335, [95|_131282], [48] ) -7031d 249 0 CALL: lists:append(_131284, [95|_131282], [] ) -7032d 259 0 FAIL RETRY: lists:append(_131284, [95|_131282], [] ) -7034d 230 0 CALL: prolog:number_chars(_1048373, [48] ) -7035d 230 0 TRY_OR -7036d 238 0 TRY_OR -7037d 246 0 CALL: prolog:==(true, true ) -7038d 238 0 CALL: prolog:add_to_array_element(known_count_true_training, 0, 1, _1048370 ) -7039d 238 0 CALL: completion:know_atom_expected_count(true, _1048375 ) -+s 0x5602af2b6f20 - @0x7efdd88a32e8 0 -+s 0x5602af2b7cc0 - @0x7efdd88a32e8 0 -- 0x5602af2b7cc0 - @0x7efdd88a32e8 238 -+s 0x5602af2b5890 - @0x7efdd88a32e8 0 -+s 0x5602af05bf90 - @0x7efdd88a32e8 0 -- 0x5602af2b6f20 - @0x7efdd88a32e8 238 -7040d 238 0 CALL: prolog:format('$stream'(3), 'completion:known_count(~w,~w,~w,~w). % ~w~n', completion:[2,0,0,1,burglary] ) -7041d 230 0 FAIL RETRY: idb:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -7042d 230 0 CALL: completion:remember(alarm, _1048365 ) -7043d 239 0 CALL: completion:seen_atom(alarm, _1048365, _1048329, _1048330 ) -7044d 230 0 CALL: completion:split_atom_name(yy1, _1048373, _1048374 ) -7045d 230 0 CALL: prolog:atomic_concat(x, _1048333, yy1 ) -7046d 230 0 FAIL RETRY: idb:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -7047d 230 0 CALL: completion:remember(hears_alarm(mary), _1048365 ) -7048d 239 0 CALL: completion:seen_atom(hears_alarm(mary), _1048365, _1048329, _1048330 ) -7049d 239 0 FAIL RETRY: completion:remember(hears_alarm(mary), _1048365 ) -7050d 239 0 FAIL RETRY: completion:remember(hears_alarm(mary), _1048365 ) -7051d 239 0 CALL: problog:probabilistic_fact(_1048330, hears_alarm(mary), _1048329 ) -7052d 260 0 CALL: prolog:ground(hears_alarm(mary) ) -7053d 239 0 CALL: prolog:=..(hears_alarm(mary), [_131207|_131208] ) -7054d 239 0 CALL: prolog:atomic_concat(problog_, hears_alarm, _1048305 ) -7055d 239 0 CALL: lists:append([_131213,mary], [_131215], _1048304 ) -7056d 239 0 CALL: lists:append([mary], [_131215], _131218 ) -7057d 239 0 CALL: lists:append([], [_131215], _131220 ) -7058d 239 0 CALL: prolog:=..(_1048307, [problog_hears_alarm,_131213,mary,_131215] ) -7059d 239 0 CALL: prolog:length([_131213,mary,_131215], _1048306 ) -7060d 239 0 CALL: prolog:$skip_list([_131213,mary,_131215], _1048306, _131227, _131228 ) -7061d 239 0 CALL: prolog:==([], [] ) -7062d 239 0 CALL: prolog:current_predicate(problog:problog_hears_alarm/3 ) -7063d 239 0 CALL: prolog:$yap_strip_module(problog:problog_hears_alarm/3, _1048301, _1048300 ) -7064d 239 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -7065d 239 0 TRY_OR -7066d 291 0 CALL: error:may_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -7067d 300 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_hears_alarm/3 ) -7068d 291 0 TRY_OR -7070d 291 0 CALL: error:may_bind_to_type(atom, problog_hears_alarm ) -7071d 308 0 FAIL RETRY: error:may_bind_to_type(atom, problog_hears_alarm ) -7072d 291 0 CALL: error:may_bind_to_type(integer, 3 ) -7073d 300 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -7074d 239 0 CALL: prolog:$c_i_predicate(problog_hears_alarm/3, problog ) -7075d 239 0 TRY_OR -7076d 285 0 CALL: prolog:ground(problog_hears_alarm/3 ) -7077d 239 0 CALL: prolog:functor(_131235, problog_hears_alarm, 3 ) -7078d 239 0 CALL: prolog:current_predicate(problog_hears_alarm, problog:problog_hears_alarm(_131236,_131237,_131238) ) -7079d 239 0 CALL: prolog:$yap_strip_module(problog:problog_hears_alarm(_131236,_131237,_131238), _1048297, _1048296 ) -7080d 239 0 CALL: prolog:functor(problog_hears_alarm(_131236,_131237,_131238), problog_hears_alarm, _1048295 ) -7081d 239 0 TRY_OR -7082d 287 0 CALL: prolog:$current_predicate(problog_hears_alarm, problog, problog_hears_alarm(_131236,_131237,_131238), user ) -7083d 287 0 CALL: problog:problog_hears_alarm(_131213, mary, _131215 ) -7084d 287 0 CALL: prolog:is(_1048330, 3, -0.8533637893529484 ) -7085d 230 0 TRY_OR -7086d 258 0 CALL: problog:non_ground_fact(2 ) -7087d 230 0 CALL: completion:next_grounding_id(_1048326 ) -7088d 230 0 CALL: prolog:bb_get(completion:grounding_counter, _1048326 ) -7089d 230 0 CALL: prolog:bb_put(completion:grounding_counter, 1 ) -7090d 230 0 CALL: prolog:atomic_concat([x,2,'_',0], _1048365 ) -7091d 230 0 CALL: prolog:assertz(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997) ) -7092d 230 0 CALL: prolog:$assert(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), assertz, _131264 ) -7093d 230 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048334, _1048335 ) -7094d 230 0 CALL: prolog:$expand_clause(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048338, _1048336 ) -7095d 251 0 CALL: prolog:source_module(_131265 ) -7096d 251 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _131269, _131270 ) -7097d 251 0 CALL: prolog:$expand_a_clause(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), user, _1048338, _1048336 ) -7098d 251 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048305, _131277 ) -7099d 251 0 CALL: prolog:$head_and_body(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048304, _1048306 ) -7100d 281 0 FAIL RETRY: prolog:$head_and_body(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048304, _1048306 ) -7101d 251 0 CALL: prolog:$yap_strip_module(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048307, _1048308 ) -7102d 251 0 CALL: prolog:$not_imported(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), completion ) -7103d 279 0 CALL: prolog:recorded('$import', '$import'(_131282,completion,_131284,seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997),_131286,_131287), _1048290 ) -7104d 279 0 FAIL RETRY: prolog:$not_imported(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), completion ) -7105d 251 0 CALL: prolog:$yap_strip_module(completion:true, _131284, _131285 ) -7106d 251 0 CALL: prolog:$expand_clause_body(true, seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), completion, user, completion, _1048310, _1048312 ) -7107d 251 0 CALL: prolog:$build_up(completion, seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), user, true, _1048338, true, _1048336 ) -7108d 270 0 CALL: prolog:==(completion, user ) -7109d 270 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), user, true, _1048338, true, _1048336 ) -7110d 230 0 CALL: prolog:$$compile(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), assertz, completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _131264 ) -7111d 230 0 CALL: prolog:$head_and_body(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048333, _1048335 ) -7112d 252 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048333, _1048335 ) -7113d 230 0 CALL: prolog:strip_module(completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), _1048338, _1048334 ) -7114d 230 0 CALL: prolog:$undefined(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), completion ) -7115d 230 0 CALL: prolog:$compile(seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997):-true, assertz, completion:seen_atom(hears_alarm(mary),x2_0,2,0.4259796135590997), completion, _131264 ) -+s 0x5602af267190 - @0x7efdd88a3298 0 -+s 0x5602af2b9280 - @0x7efdd88a3298 0 -- 0x5602af229bb0 - @0x7efdd88a3298 230 -7116d 230 0 CALL: completion:split_atom_name(x2_0, _1048373, _1048374 ) -7117d 230 0 CALL: prolog:atomic_concat(x, _1048333, x2_0 ) -7118d 230 0 CALL: prolog:atom_codes('2_0', _1048338 ) -7119d 230 0 TRY_OR -7120d 249 0 CALL: lists:append(_1048335, [95|_131299], [50,95,48] ) -7121d 259 0 FAIL RETRY: lists:append(_1048335, [95|_131299], [50,95,48] ) -7122d 249 0 CALL: lists:append(_131301, [95|_131299], [95,48] ) -7123d 230 0 CALL: prolog:number_chars(_1048373, [50] ) -7124d 230 0 CALL: prolog:number_chars(_1048374, [48] ) -7125d 230 0 TRY_OR -7126d 238 0 TRY_OR -7127d 246 0 CALL: prolog:==(true, true ) -7128d 238 0 CALL: prolog:add_to_array_element(known_count_true_training, 2, 1, _1048370 ) -7129d 238 0 CALL: completion:know_atom_expected_count(true, _1048375 ) -7130d 238 0 CALL: prolog:format('$stream'(3), 'completion:known_count(~w,~w,~w,~w). % ~w~n', completion:[2,2,0,1,hears_alarm(mary)] ) -7131d 230 0 FAIL RETRY: idb:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -7132d 230 0 CALL: completion:remember(calls(mary), _1048365 ) -7133d 239 0 CALL: completion:seen_atom(calls(mary), _1048365, _1048329, _1048330 ) -7134d 239 0 FAIL RETRY: completion:remember(calls(mary), _1048365 ) -7135d 239 0 FAIL RETRY: completion:remember(calls(mary), _1048365 ) -7136d 239 0 CALL: problog:probabilistic_fact(_1048330, calls(mary), _1048329 ) -7137d 260 0 CALL: prolog:ground(calls(mary) ) -7138d 239 0 CALL: prolog:=..(calls(mary), [_131207|_131208] ) -7139d 239 0 CALL: prolog:atomic_concat(problog_, calls, _1048305 ) -7140d 239 0 CALL: lists:append([_131213,mary], [_131215], _1048304 ) -7141d 239 0 CALL: lists:append([mary], [_131215], _131218 ) -7142d 239 0 CALL: lists:append([], [_131215], _131220 ) -7143d 239 0 CALL: prolog:=..(_1048307, [problog_calls,_131213,mary,_131215] ) -7144d 239 0 CALL: prolog:length([_131213,mary,_131215], _1048306 ) -7145d 239 0 CALL: prolog:$skip_list([_131213,mary,_131215], _1048306, _131227, _131228 ) -7146d 239 0 CALL: prolog:==([], [] ) -7147d 239 0 CALL: prolog:current_predicate(problog:problog_calls/3 ) -7148d 239 0 CALL: prolog:$yap_strip_module(problog:problog_calls/3, _1048301, _1048300 ) -7149d 239 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_calls/3 ) -7150d 239 0 TRY_OR -7151d 291 0 CALL: error:may_bind_to_type(predicate_indicator, problog_calls/3 ) -7152d 300 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_calls/3 ) -7153d 291 0 TRY_OR -7155d 291 0 CALL: error:may_bind_to_type(atom, problog_calls ) -7156d 308 0 FAIL RETRY: error:may_bind_to_type(atom, problog_calls ) -7157d 291 0 CALL: error:may_bind_to_type(integer, 3 ) -7158d 300 0 FAIL RETRY: error:may_bind_to_type(integer, 3 ) -7159d 239 0 CALL: prolog:$c_i_predicate(problog_calls/3, problog ) -7160d 239 0 TRY_OR -7161d 285 0 CALL: prolog:ground(problog_calls/3 ) -7162d 239 0 CALL: prolog:functor(_131235, problog_calls, 3 ) -7163d 239 0 CALL: prolog:current_predicate(problog_calls, problog:problog_calls(_131236,_131237,_131238) ) -7164d 239 0 CALL: prolog:$yap_strip_module(problog:problog_calls(_131236,_131237,_131238), _1048297, _1048296 ) -7165d 239 0 CALL: prolog:functor(problog_calls(_131236,_131237,_131238), problog_calls, _1048295 ) -7166d 239 0 TRY_OR -7167d 287 0 CALL: prolog:$current_predicate(problog_calls, problog, problog_calls(_131236,_131237,_131238), user ) -7169d 239 0 CALL: prolog:$imported_predicate(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7170d 288 0 CALL: prolog:$is_system_predicate(problog_calls(_131236,_131237,_131238), prolog ) -7171d 288 0 FAIL RETRY: prolog:$imported_predicate(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7172d 239 0 CALL: prolog:$undefined(problog_calls(_131236,_131237,_131238), problog ) -7173d 239 0 CALL: prolog:$get_undefined_predicates(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7174d 295 0 CALL: prolog:recorded('$import', '$import'(_131243,problog,_131245,problog_calls(_131236,_131237,_131238),_131247,_131248), _1048270 ) -7175d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7176d 295 0 CALL: prolog:$pred_exists(problog_calls(_131236,_131237,_131238), user ) -7177d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7178d 295 0 CALL: prolog:recorded('$dialect', swi, _1048265 ) -7179d 295 0 FAIL RETRY: prolog:$get_undefined_predicates(problog_calls(_131236,_131237,_131238), problog, _1048300, _1048301 ) -7180d 239 0 CALL: prolog:$parent_module(problog, _1048283 ) -7181d 239 0 FAIL RETRY: completion:remember(calls(mary), _1048365 ) -7182d 230 0 CALL: completion:next_det_counter(_1048337 ) -7183d 230 0 CALL: prolog:bb_get(completion:det_counter, _1048328 ) -7184d 230 0 CALL: prolog:atomic_concat([y,3], _1048337 ) -7185d 230 0 CALL: prolog:bb_put(completion:det_counter, 3 ) -7186d 230 0 CALL: prolog:atomic_concat([y,y3], _1048365 ) -7187d 230 0 CALL: prolog:assertz(completion:seen_atom(calls(mary),yy3,det,1) ) -7188d 230 0 CALL: prolog:$assert(completion:seen_atom(calls(mary),yy3,det,1), assertz, _131226 ) -7189d 230 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(calls(mary),yy3,det,1), _1048334, _1048335 ) -7190d 230 0 CALL: prolog:$expand_clause(completion:seen_atom(calls(mary),yy3,det,1), _1048338, _1048336 ) -7191d 251 0 CALL: prolog:source_module(_131227 ) -7192d 251 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(calls(mary),yy3,det,1), _131231, _131232 ) -7193d 251 0 CALL: prolog:$expand_a_clause(completion:seen_atom(calls(mary),yy3,det,1), user, _1048338, _1048336 ) -7194d 251 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(calls(mary),yy3,det,1), _1048305, _131239 ) -7195d 251 0 CALL: prolog:$head_and_body(seen_atom(calls(mary),yy3,det,1), _1048304, _1048306 ) -7196d 281 0 FAIL RETRY: prolog:$head_and_body(seen_atom(calls(mary),yy3,det,1), _1048304, _1048306 ) -7197d 251 0 CALL: prolog:$yap_strip_module(completion:seen_atom(calls(mary),yy3,det,1), _1048307, _1048308 ) -7198d 251 0 CALL: prolog:$not_imported(seen_atom(calls(mary),yy3,det,1), completion ) -7199d 279 0 CALL: prolog:recorded('$import', '$import'(_131244,completion,_131246,seen_atom(calls(mary),yy3,det,1),_131248,_131249), _1048290 ) -7200d 279 0 FAIL RETRY: prolog:$not_imported(seen_atom(calls(mary),yy3,det,1), completion ) -7201d 251 0 CALL: prolog:$yap_strip_module(completion:true, _131246, _131247 ) -7202d 251 0 CALL: prolog:$expand_clause_body(true, seen_atom(calls(mary),yy3,det,1), completion, user, completion, _1048310, _1048312 ) -7203d 251 0 CALL: prolog:$build_up(completion, seen_atom(calls(mary),yy3,det,1), user, true, _1048338, true, _1048336 ) -7204d 270 0 CALL: prolog:==(completion, user ) -7205d 270 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(calls(mary),yy3,det,1), user, true, _1048338, true, _1048336 ) -7206d 230 0 CALL: prolog:$$compile(completion:seen_atom(calls(mary),yy3,det,1), assertz, completion:seen_atom(calls(mary),yy3,det,1), _131226 ) -7207d 230 0 CALL: prolog:$head_and_body(completion:seen_atom(calls(mary),yy3,det,1), _1048333, _1048335 ) -7208d 252 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(calls(mary),yy3,det,1), _1048333, _1048335 ) -7209d 230 0 CALL: prolog:strip_module(completion:seen_atom(calls(mary),yy3,det,1), _1048338, _1048334 ) -7210d 230 0 CALL: prolog:$undefined(seen_atom(calls(mary),yy3,det,1), completion ) -7211d 230 0 CALL: prolog:$compile(seen_atom(calls(mary),yy3,det,1):-true, assertz, completion:seen_atom(calls(mary),yy3,det,1), completion, _131226 ) -+s 0x5602af267380 - @0x7efdd88a3288 0 -+s 0x5602af1db490 - @0x7efdd88a3288 0 -- 0x5602af2b9280 - @0x7efdd88a3288 230 -7212d 230 0 CALL: completion:split_atom_name(yy3, _1048373, _1048374 ) -7213d 230 0 CALL: prolog:atomic_concat(x, _1048333, yy3 ) -7214d 230 0 FAIL RETRY: idb:recorded(known_atoms, <=>('$atom'(_131206),_131204), _1048364 ) -7215d 219 0 CALL: completion:remember(earthquake, _1048365 ) -7216d 228 0 CALL: completion:seen_atom(earthquake, _1048365, _1048340, _1048341 ) -7217d 228 0 FAIL RETRY: completion:remember(earthquake, _1048365 ) -7218d 228 0 CALL: prolog:atom_codes(earthquake, [76|_131208] ) -7219d 228 0 FAIL RETRY: completion:remember(earthquake, _1048365 ) -7220d 228 0 CALL: problog:probabilistic_fact(_1048341, earthquake, _1048340 ) -7221d 249 0 CALL: prolog:ground(earthquake ) -7222d 228 0 CALL: prolog:=..(earthquake, [_131207|_131208] ) -7223d 228 0 CALL: prolog:atomic_concat(problog_, earthquake, _1048316 ) -7224d 228 0 CALL: lists:append([_131211], [_131213], _1048315 ) -7225d 228 0 CALL: lists:append([], [_131213], _131216 ) -7226d 228 0 CALL: prolog:=..(_1048318, [problog_earthquake,_131211,_131213] ) -7227d 228 0 CALL: prolog:length([_131211,_131213], _1048317 ) -7228d 228 0 CALL: prolog:$skip_list([_131211,_131213], _1048317, _131222, _131223 ) -7229d 228 0 CALL: prolog:==([], [] ) -7230d 228 0 CALL: prolog:current_predicate(problog:problog_earthquake/2 ) -7231d 228 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake/2, _1048312, _1048311 ) -7232d 228 0 CALL: prolog:must_bind_to_type(predicate_indicator, problog_earthquake/2 ) -7233d 228 0 TRY_OR -7234d 280 0 CALL: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -7235d 289 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, problog_earthquake/2 ) -7236d 280 0 TRY_OR -7238d 280 0 CALL: error:may_bind_to_type(atom, problog_earthquake ) -7239d 297 0 FAIL RETRY: error:may_bind_to_type(atom, problog_earthquake ) -7240d 280 0 CALL: error:may_bind_to_type(integer, 2 ) -7241d 289 0 FAIL RETRY: error:may_bind_to_type(integer, 2 ) -7242d 228 0 CALL: prolog:$c_i_predicate(problog_earthquake/2, problog ) -7243d 228 0 TRY_OR -7244d 274 0 CALL: prolog:ground(problog_earthquake/2 ) -7245d 228 0 CALL: prolog:functor(_131230, problog_earthquake, 2 ) -7246d 228 0 CALL: prolog:current_predicate(problog_earthquake, problog:problog_earthquake(_131231,_131232) ) -7247d 228 0 CALL: prolog:$yap_strip_module(problog:problog_earthquake(_131231,_131232), _1048308, _1048307 ) -7248d 228 0 CALL: prolog:functor(problog_earthquake(_131231,_131232), problog_earthquake, _1048306 ) -7249d 228 0 TRY_OR -7250d 276 0 CALL: prolog:$current_predicate(problog_earthquake, problog, problog_earthquake(_131231,_131232), user ) -7251d 276 0 CALL: problog:problog_earthquake(_131211, _131213 ) -7252d 276 0 CALL: prolog:is(_1048341, 3, -0.6596650473806767 ) -7253d 219 0 TRY_OR -7254d 247 0 CALL: problog:non_ground_fact(1 ) -7256d 219 0 CALL: prolog:atomic_concat([x,1], _1048365 ) -7257d 219 0 CALL: prolog:assertz(completion:seen_atom(earthquake,x1,1,0.5170244841968428) ) -7258d 219 0 CALL: prolog:$assert(completion:seen_atom(earthquake,x1,1,0.5170244841968428), assertz, _131251 ) -7259d 219 0 CALL: prolog:$yap_strip_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048345, _1048346 ) -7260d 219 0 CALL: prolog:$expand_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048349, _1048347 ) -7261d 240 0 CALL: prolog:source_module(_131252 ) -7262d 240 0 CALL: prolog:$yap_strip_clause(user:completion:seen_atom(earthquake,x1,1,0.5170244841968428), _131256, _131257 ) -7263d 240 0 CALL: prolog:$expand_a_clause(completion:seen_atom(earthquake,x1,1,0.5170244841968428), user, _1048349, _1048347 ) -7264d 240 0 CALL: prolog:$yap_strip_module(user:completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048316, _131264 ) -7265d 240 0 CALL: prolog:$head_and_body(seen_atom(earthquake,x1,1,0.5170244841968428), _1048315, _1048317 ) -7266d 270 0 FAIL RETRY: prolog:$head_and_body(seen_atom(earthquake,x1,1,0.5170244841968428), _1048315, _1048317 ) -7267d 240 0 CALL: prolog:$yap_strip_module(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048318, _1048319 ) -7268d 240 0 CALL: prolog:$not_imported(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -7269d 268 0 CALL: prolog:recorded('$import', '$import'(_131269,completion,_131271,seen_atom(earthquake,x1,1,0.5170244841968428),_131273,_131274), _1048301 ) -7270d 268 0 FAIL RETRY: prolog:$not_imported(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -7271d 240 0 CALL: prolog:$yap_strip_module(completion:true, _131271, _131272 ) -7272d 240 0 CALL: prolog:$expand_clause_body(true, seen_atom(earthquake,x1,1,0.5170244841968428), completion, user, completion, _1048321, _1048323 ) -7273d 240 0 CALL: prolog:$build_up(completion, seen_atom(earthquake,x1,1,0.5170244841968428), user, true, _1048349, true, _1048347 ) -7274d 259 0 CALL: prolog:==(completion, user ) -7275d 259 0 FAIL RETRY: prolog:$build_up(completion, seen_atom(earthquake,x1,1,0.5170244841968428), user, true, _1048349, true, _1048347 ) -7276d 219 0 CALL: prolog:$$compile(completion:seen_atom(earthquake,x1,1,0.5170244841968428), assertz, completion:seen_atom(earthquake,x1,1,0.5170244841968428), _131251 ) -7277d 219 0 CALL: prolog:$head_and_body(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048344, _1048346 ) -7278d 241 0 FAIL RETRY: prolog:$head_and_body(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048344, _1048346 ) -7279d 219 0 CALL: prolog:strip_module(completion:seen_atom(earthquake,x1,1,0.5170244841968428), _1048349, _1048345 ) -7280d 219 0 CALL: prolog:$undefined(seen_atom(earthquake,x1,1,0.5170244841968428), completion ) -7281d 219 0 CALL: prolog:$compile(seen_atom(earthquake,x1,1,0.5170244841968428):-true, assertz, completion:seen_atom(earthquake,x1,1,0.5170244841968428), completion, _131251 ) -+s 0x5602af2672b0 - @0x7efdd88a3268 0 -+s 0x5602af1db2f0 - @0x7efdd88a3268 0 -- 0x5602af2aa660 - @0x7efdd88a3268 219 -7282d 219 0 CALL: completion:split_atom_name(x1, _1048373, _1048374 ) -7283d 219 0 CALL: prolog:atomic_concat(x, _1048344, x1 ) -7284d 219 0 CALL: prolog:atom_codes('1', _1048349 ) -7285d 219 0 TRY_OR -7286d 238 0 CALL: lists:append(_1048346, [95|_131282], [49] ) -7287d 248 0 FAIL RETRY: lists:append(_1048346, [95|_131282], [49] ) -7288d 238 0 CALL: lists:append(_131284, [95|_131282], [] ) -7289d 248 0 FAIL RETRY: lists:append(_131284, [95|_131282], [] ) -7291d 219 0 CALL: prolog:number_chars(_1048373, [49] ) -7292d 219 0 TRY_OR -7293d 227 0 TRY_OR -7294d 235 0 CALL: prolog:==(false, true ) -7296d 227 0 CALL: prolog:add_to_array_element(known_count_false_training, 1, 1, _1048371 ) -7297d 227 0 CALL: completion:know_atom_expected_count(false, _1048375 ) -7298d 227 0 CALL: prolog:format('$stream'(3), 'completion:known_count(~w,~w,~w,~w). % ~w~n', completion:[2,1,0,0,earthquake] ) -7300d 173 0 CALL: prolog:close('$stream'(3) ) -7301d 173 0 CALL: prolog:key_statistics(known_atoms, _1048389, _1048385 ) -7302d 173 0 CALL: prolog:key_statistics(known_atoms, _1048389, _1048377, _1048378 ) -7303d 173 0 CALL: logger:logger_add_to_variable(train_bdd_script_generation_active_ground_atoms, 0 ) -7304d 173 0 TRY_OR -7305d 204 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_active_ground_atoms ) -7306d 204 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_active_ground_atoms, _1048364 ) -7307d 204 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, _1048365 ) -7308d 204 0 CALL: prolog:\=(2, null ) -7309d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_active_ground_atoms, _1048380 ) -7310d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_active_ground_atoms, _1048372 ) -7311d 173 0 TRY_OR -7312d 212 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, null ) -7314d 212 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, _1048380 ) -7315d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_active_ground_atoms, 2 ) -7316d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_active_ground_atoms, _1048380 ) -7317d 173 0 TRY_OR -7318d 205 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_active_ground_atoms, _1048378 ) -7319d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_active_ground_atoms, 2 ) -7320d 173 0 CALL: logger:logger_add_to_variable(train_bdd_script_generation_propagated_ground_atoms, 6 ) -7321d 173 0 TRY_OR -7322d 202 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation_propagated_ground_atoms ) -7323d 202 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagated_ground_atoms, _1048366 ) -7324d 202 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, _1048367 ) -7325d 202 0 CALL: prolog:\=(1, null ) -7326d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation_propagated_ground_atoms, _1048382 ) -7327d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagated_ground_atoms, _1048374 ) -7328d 173 0 TRY_OR -7329d 210 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, null ) -7331d 210 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, _1048382 ) -7332d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation_propagated_ground_atoms, 7 ) -7333d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation_propagated_ground_atoms, _1048382 ) -7334d 173 0 TRY_OR -7335d 203 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, _1048380 ) -7336d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation_propagated_ground_atoms, 7 ) -7337d 173 0 CALL: prolog:eraseall(rules ) -7338d 173 0 CALL: prolog:eraseall(unpropagated_rules ) -7339d 173 0 CALL: prolog:eraseall(known_atoms ) -- 0x5602af2b4250 - @0x7efdd88a3208 173 -- 0x5602af2b0e30 - @0x7efdd88a3208 173 -- 0x5602af2affd0 - @0x7efdd88a3208 173 -- 0x5602aeebe100 - @0x7efdd88a3208 173 -- 0x5602af001a10 - @0x7efdd88a3208 173 -- 0x5602af1b7ee0 - @0x7efdd88a3208 173 -- 0x5602af000ee0 - @0x7efdd88a3208 173 -- 0x5602af1e08d0 - @0x7efdd88a3208 173 -- 0x5602aeec6410 - @0x7efdd88a3208 173 -- 0x5602af26d4d0 - @0x7efdd88a3208 173 -- 0x5602af2b4110 - @0x7efdd88a3208 173 -- 0x5602af239da0 - @0x7efdd88a3208 173 -- 0x5602af28d780 - @0x7efdd88a3208 173 -- 0x5602af28dc40 - @0x7efdd88a3208 173 -- 0x5602af266e90 - @0x7efdd88a3208 173 -- 0x5602af266d10 - @0x7efdd88a3208 173 -- 0x5602af266c50 - @0x7efdd88a3208 173 -- 0x5602af265b10 - @0x7efdd88a3208 173 -7340d 173 0 CALL: grounder:grounder_reset -7341d 173 0 CALL: prolog:eraseall(reachable ) -7342d 173 0 CALL: logger:logger_stop_timer(train_bdd_script_generation ) -7343d 173 0 CALL: prolog:atom_concat(logger_start_time_, train_bdd_script_generation, _1048383 ) -7344d 173 0 CALL: prolog:bb_delete(logger:logger_start_time_train_bdd_script_generation, _1048386 ) -7345d 173 0 CALL: prolog:statistics(walltime, [_131229,_131231] ) -7346d 173 0 CALL: prolog:$walltime(_131229, _131231 ) -7347d 173 0 CALL: prolog:bb_put(logger:logger_start_time_train_bdd_script_generation, null ) -7348d 173 0 TRY_OR -7349d 196 0 CALL: logger:logger_variable_is_set(train_bdd_script_generation ) -7350d 196 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation, _1048372 ) -7351d 196 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, _1048373 ) -7352d 196 0 CALL: prolog:\=(35794, null ) -7353d 173 0 CALL: logger:logger_get_variable(train_bdd_script_generation, _1048388 ) -7354d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation, _1048380 ) -7355d 173 0 TRY_OR -7356d 204 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, null ) -7358d 204 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, _1048388 ) -7359d 173 0 CALL: logger:logger_set_variable_again(train_bdd_script_generation, 69727 ) -7360d 173 0 CALL: prolog:atom_concat(logger_data_, train_bdd_script_generation, _1048381 ) -7361d 173 0 TRY_OR -7362d 204 0 CALL: prolog:bb_get(logger:logger_data_train_bdd_script_generation, _1048379 ) -7363d 173 0 CALL: prolog:bb_put(logger:logger_data_train_bdd_script_generation, 69727 ) -7364d 173 0 CALL: print_learning:format_learning(3, '~n', [] ) -7365d 188 0 CALL: flags:problog_flag(verbosity_learning, _1048378 ) -7366d 188 0 CALL: gflags:flag_get(verbosity_learning, _1048378 ) -7367d 188 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_131247), _131248 ) -7368d 188 0 CALL: prolog:>=(5, 3 ) -7369d 173 0 CALL: prolog:format('~n', print_learning:[] ) -7370d 173 0 CALL: prolog:flush_output(user ) - -7371d 173 0 CALL: prolog:garbage_collect_atoms -7372d 173 0 CALL: prolog:$atom_gc -- 0x5602af2b7c60 - @0x7efdd88a3208 173 -- 0x5602af2b9bb0 - @0x7efdd88a3208 173 -- 0x5602af2bd850 - @0x7efdd88a3208 173 -- 0x5602af2b52a0 - @0x7efdd88a3208 173 -- 0x5602af2baff0 - @0x7efdd88a3208 173 -- 0x5602af2b4080 - @0x7efdd88a3208 173 -7373d 173 0 CALL: prolog:garbage_collect -7374d 173 0 CALL: prolog:$gc -7376d 140 0 TRY_OR -7377d 162 0 CALL: prolog:current_predicate(user:test_example/1 ) -7378d 162 0 CALL: prolog:$yap_strip_module(user:test_example/1, _1048407, _1048406 ) -7379d 162 0 CALL: prolog:must_bind_to_type(predicate_indicator, test_example/1 ) -7380d 162 0 TRY_OR -7381d 185 0 CALL: error:may_bind_to_type(predicate_indicator, test_example/1 ) -7382d 194 0 FAIL RETRY: error:may_bind_to_type(predicate_indicator, test_example/1 ) -7383d 185 0 TRY_OR -7385d 185 0 CALL: error:may_bind_to_type(atom, test_example ) -7386d 202 0 FAIL RETRY: error:may_bind_to_type(atom, test_example ) -7387d 185 0 CALL: error:may_bind_to_type(integer, 1 ) -7388d 194 0 FAIL RETRY: error:may_bind_to_type(integer, 1 ) -7389d 162 0 CALL: prolog:$c_i_predicate(test_example/1, user ) -7390d 162 0 TRY_OR -7391d 179 0 CALL: prolog:ground(test_example/1 ) -7392d 162 0 CALL: prolog:functor(_130925, test_example, 1 ) -7393d 162 0 CALL: prolog:current_predicate(test_example, user:test_example(_130926) ) -7394d 162 0 CALL: prolog:$yap_strip_module(user:test_example(_130926), _1048403, _1048402 ) -7395d 162 0 CALL: prolog:functor(test_example(_130926), test_example, _1048401 ) -7396d 162 0 TRY_OR -7397d 181 0 CALL: prolog:$current_predicate(test_example, user, test_example(_130926), user ) -7398d 181 0 CALL: user:test_example(_1048421 ) -7400d 162 0 CALL: prolog:$imported_predicate(test_example(_130926), user, _1048406, _1048407 ) -7401d 182 0 CALL: prolog:$is_system_predicate(test_example(_130926), prolog ) -7402d 182 0 FAIL RETRY: prolog:$imported_predicate(test_example(_130926), user, _1048406, _1048407 ) -7403d 162 0 CALL: prolog:$undefined(test_example(_130926), user ) -7405d 140 0 TRY_OR -7406d 159 0 CALL: prolog:==(true, true ) -7407d 140 0 CALL: print_learning:format_learning(2, 'Calculate MD5s for training example BDD scripts~n', [] ) -7408d 160 0 CALL: flags:problog_flag(verbosity_learning, _1048406 ) -7409d 160 0 CALL: gflags:flag_get(verbosity_learning, _1048406 ) -7410d 160 0 CALL: prolog:recorded(flag_values, flag(verbosity_learning,_130921), _130922 ) -7411d 160 0 CALL: prolog:>=(5, 2 ) -7412d 140 0 CALL: prolog:format('Calculate MD5s for training example BDD scripts~n', print_learning:[] ) -7413d 140 0 CALL: prolog:flush_output(user ) -Calculate MD5s for training example BDD scripts -7414d 140 0 CALL: problog_lfi:create_training_query_cluster_list(_1048428 ) -7415d 140 0 CALL: prolog:findall(a(_130927,_130928), problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), _1048416 ) -7416d 140 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048416 ) -7417d 180 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048416 ) -7418d 140 0 TRY_OR -7419d 187 0 CALL: error:has_type(list_or_partial_list, _1048416 ) -7420d 187 0 CALL: error:is_list_or_partial_list(_1048416 ) -7421d 187 0 CALL: prolog:$skip_list(_130949, _1048416, _130950 ) -7422d 140 0 CALL: prolog:$findall(a(_130927,_130928), problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), [], _130950 ) -7423d 140 0 CALL: nb:nb_queue(_1048404 ) -7424d 140 0 TRY_OR -7425d 181 0 CALL: prolog:$execute(problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)) ) -7426d 181 0 CALL: prolog:$call(problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), user ) -7427d 192 0 FAIL RETRY: prolog:$call(problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), user ) -7428d 181 0 CALL: prolog:$call(user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), problog_lfi ) -7429d 181 0 CALL: prolog:$call(user:example(_130927), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), problog_lfi ) -7430d 223 0 FAIL RETRY: prolog:$call(user:example(_130927), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), problog_lfi ) -7431d 181 0 CALL: prolog:$call(example(_130927), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), user ) -7432d 234 0 FAIL RETRY: prolog:$call(example(_130927), 181, problog_lfi: (user:example(_130927),bdd_cluster(_130927,_130945),member(_130928,_130945)), user ) -7433d 181 0 CALL: prolog:$execute0(example(_130927), user ) -7434d 181 0 CALL: user:example(_130927 ) -7435d 231 0 CALL: prolog:$call(bdd_cluster(1,_130945),member(_130928,_130945), 181, problog_lfi: (user:example(1),bdd_cluster(1,_130945),member(_130928,_130945)), problog_lfi ) -7436d 231 0 CALL: prolog:$call(bdd_cluster(1,_130945), 181, problog_lfi: (user:example(1),bdd_cluster(1,_130945),member(_130928,_130945)), problog_lfi ) -7437d 262 0 FAIL RETRY: prolog:$call(bdd_cluster(1,_130945), 181, problog_lfi: (user:example(1),bdd_cluster(1,_130945),member(_130928,_130945)), problog_lfi ) -7438d 231 0 CALL: prolog:$execute0(bdd_cluster(1,_130945), problog_lfi ) -+s 0x5602af265b10 - @0x7efdd88a31a8 0 -7439d 231 0 CALL: problog_lfi:bdd_cluster(1, _130945 ) -7440d 231 0 CALL: prolog:$undefp([problog_lfi|bdd_cluster(1,_130945)], error ) -7441d 231 0 CALL: prolog:yap_flag(unknown, error, fail ) -7442d 231 0 CALL: prolog:$stop_creeping(_1048311 ) -7443d 231 0 TRY_OR -7444d 275 0 CALL: prolog:$undefp_search(problog_lfi:bdd_cluster(1,_130945), _135061:_135062 ) -7445d 284 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_135064,_135065,_135066,_135067), user ) -7446d 284 0 FAIL RETRY: prolog:$undefp_search(problog_lfi:bdd_cluster(1,_130945), _135061:_135062 ) -7447d 275 0 CALL: prolog:expand_goal(problog_lfi:bdd_cluster(1,_130945), _135061:_135062 ) -7448d 275 0 CALL: prolog:$expand_meta_call(problog_lfi:bdd_cluster(1,_130945), [], _135061:_135062 ) -7449d 275 0 CALL: prolog:source_module(_135063 ) -7450d 275 0 CALL: prolog:$yap_strip_module(user:problog_lfi:bdd_cluster(1,_130945), _1048291, _135067 ) -7451d 275 0 CALL: prolog:$expand_goals(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(1,_130945)) ) -7452d 299 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(1,_130945)) ) -7453d 299 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(1,_130945)) ) -7454d 299 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(1,_130945)) ) -7455d 275 0 CALL: prolog:$yap_strip_module(problog_lfi:bdd_cluster(1,_130945), _135074, _135075 ) -7456d 275 0 CALL: prolog:$expand_goal(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(1,_130945)) ) -7457d 275 0 CALL: prolog:$yap_strip_module(problog_lfi:bdd_cluster(1,_130945), _135079, _135080 ) -7458d 275 0 CALL: prolog:$user_expansion(problog_lfi:bdd_cluster(1,_130945), _135085:_135086 ) -7459d 309 0 CALL: prolog:_user_expand_goal(problog_lfi:bdd_cluster(1,_130945), _135088:_135089 ) -7463d 309 0 FAIL RETRY: prolog:$user_expansion(problog_lfi:bdd_cluster(1,_130945), _135085:_135086 ) -7464d 275 0 CALL: prolog:$import_expansion(problog_lfi:bdd_cluster(1,_130945), _135088:_135089 ) -7465d 308 0 CALL: prolog:$imported_predicate(bdd_cluster(1,_130945), problog_lfi, _135089, _135088 ) -7466d 324 0 CALL: prolog:$is_system_predicate(bdd_cluster(1,_130945), prolog ) -7467d 324 0 FAIL RETRY: prolog:$imported_predicate(bdd_cluster(1,_130945), problog_lfi, _135089, _135088 ) -7468d 308 0 CALL: prolog:$undefined(bdd_cluster(1,_130945), problog_lfi ) -7469d 308 0 CALL: prolog:$get_undefined_predicates(bdd_cluster(1,_130945), problog_lfi, _135089, _135088 ) -7470d 331 0 CALL: prolog:recorded('$import', '$import'(_135091,problog_lfi,_135093,bdd_cluster(1,_130945),_135095,_135096), _1048234 ) -7471d 331 0 CALL: prolog:$continue_imported(_135088, completion, _135089, bdd_cluster(1,_130945) ) -7472d 342 0 CALL: prolog:$pred_exists(bdd_cluster(1,_130945), completion ) -7473d 331 0 CALL: prolog:\=(completion, problog_lfi ) -7474d 275 0 CALL: prolog:$meta_expansion(completion:bdd_cluster(1,_130945), problog_lfi, [], _1048279 ) -7475d 307 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(1,_130945), _135111, _1048258 ) -7476d 307 0 CALL: prolog:functor(bdd_cluster(1,_130945), _135114, _135115 ) -7477d 307 0 CALL: prolog:$meta_predicate(bdd_cluster, completion, 2, _1048259 ) -7478d 307 0 FAIL RETRY: prolog:$meta_expansion(completion:bdd_cluster(1,_130945), problog_lfi, [], _1048279 ) -7479d 275 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(1,_130945), _135111, _135112 ) -7480d 275 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(1,_130945), _135113, _135114 ) -7481d 275 0 CALL: prolog:$end_goal_expansion(bdd_cluster(1,_130945), _1048290, _1048292, problog_lfi, user, completion, problog_lfi:bdd_cluster(1,_130945) ) -7482d 275 0 CALL: prolog:$match_mod(bdd_cluster(1,_130945), problog_lfi, user, completion, _1048290 ) -7483d 275 0 CALL: prolog:$is_system_predicate(bdd_cluster(1,_130945), completion ) -7484d 275 0 TRY_OR -7485d 313 0 CALL: prolog:==(completion, problog_lfi ) -7487d 275 0 CALL: prolog:$c_built_in(completion:bdd_cluster(1,_130945), completion, problog_lfi:bdd_cluster(1,_130945), _1048281 ) -7488d 306 0 CALL: prolog:get_value('$c_arith', true ) -7489d 275 0 CALL: prolog:do_c_built_in(completion:bdd_cluster(1,_130945), completion, problog_lfi:bdd_cluster(1,_130945), _1048281 ) -7490d 317 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(1,_130945), _135118, _135119 ) -7491d 317 0 FAIL RETRY: prolog:do_c_built_in(completion:bdd_cluster(1,_130945), completion, problog_lfi:bdd_cluster(1,_130945), _1048281 ) -7492d 317 0 CALL: prolog:$compop(completion:bdd_cluster(1,_130945), _1048243, _1048244, _1048246 ) -7493d 317 0 FAIL RETRY: prolog:do_c_built_in(completion:bdd_cluster(1,_130945), completion, problog_lfi:bdd_cluster(1,_130945), _1048281 ) -7494d 317 0 CALL: prolog:$yap_strip_module(completion:completion:bdd_cluster(1,_130945), _135121, _135122 ) -7495d 317 0 CALL: prolog:$match_mod(bdd_cluster(1,_130945), problog_lfi, user, completion, _1048292 ) -7496d 317 0 CALL: prolog:$is_system_predicate(bdd_cluster(1,_130945), completion ) -7497d 317 0 TRY_OR -7498d 333 0 CALL: prolog:==(completion, problog_lfi ) -7500d 317 0 CALL: prolog:$yap_strip_module(problog_lfi:completion:bdd_cluster(1,_130945), _135061, _135062 ) -7501d 317 0 TRY_OR -7502d 325 0 CALL: prolog:\==(problog_lfi, completion ) -7503d 317 0 CALL: prolog:\=(bdd_cluster(1,_130945), fail ) -7504d 231 0 CALL: prolog:yap_flag(unknown, _1048310, error ) -7505d 231 0 TRY_OR -7506d 272 0 CALL: prolog:==(false, true ) -7508d 231 0 CALL: prolog:$execute0(bdd_cluster(1,_130945), completion ) -7509d 231 0 CALL: completion:bdd_cluster(1, _130945 ) -+s 0x5602af2c0770 - @0x7efdd88a31b8 0 -+s 0x5602af2c1d10 - @0x7efdd88a31b8 0 -- 0x5602af2c1d10 - @0x7efdd88a31b8 231 -+s 0x5602af2aa660 - @0x7efdd88a31b8 0 -+s 0x5602af266e90 - @0x7efdd88a31b8 0 -- 0x5602af2c0770 - @0x7efdd88a31b8 231 -7510d 231 0 CALL: prolog:$call(member(_130928,[1]), 181, problog_lfi: (user:example(1),bdd_cluster(1,[1]),member(_130928,[1])), problog_lfi ) -7511d 242 0 FAIL RETRY: prolog:$call(member(_130928,[1]), 181, problog_lfi: (user:example(1),bdd_cluster(1,[1]),member(_130928,[1])), problog_lfi ) -7512d 231 0 CALL: prolog:$execute0(member(_130928,[1]), problog_lfi ) -+s 0x5602af28dc40 - @0x7efdd88a31c8 0 -7513d 231 0 CALL: problog_lfi:member(_130928, [1] ) -7514d 231 0 CALL: prolog:$undefp([problog_lfi|member(_130928,[1])], error ) -7515d 231 0 CALL: prolog:yap_flag(unknown, error, fail ) -7516d 231 0 CALL: prolog:$stop_creeping(_1048331 ) -7517d 231 0 TRY_OR -7518d 255 0 CALL: prolog:$undefp_search(problog_lfi:member(_130928,[1]), _135140:_135141 ) -7519d 264 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_135143,_135144,_135145,_135146), user ) -7520d 264 0 FAIL RETRY: prolog:$undefp_search(problog_lfi:member(_130928,[1]), _135140:_135141 ) -7521d 255 0 CALL: prolog:expand_goal(problog_lfi:member(_130928,[1]), _135140:_135141 ) -7522d 255 0 CALL: prolog:$expand_meta_call(problog_lfi:member(_130928,[1]), [], _135140:_135141 ) -7523d 255 0 CALL: prolog:source_module(_135142 ) -7524d 255 0 CALL: prolog:$yap_strip_module(user:problog_lfi:member(_130928,[1]), _1048311, _135146 ) -7525d 255 0 CALL: prolog:$expand_goals(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[1])) ) -7526d 279 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[1])) ) -7527d 279 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[1])) ) -7528d 279 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[1])) ) -7529d 255 0 CALL: prolog:$yap_strip_module(problog_lfi:member(_130928,[1]), _135153, _135154 ) -7530d 255 0 CALL: prolog:$expand_goal(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[1])) ) -7531d 255 0 CALL: prolog:$yap_strip_module(problog_lfi:member(_130928,[1]), _135158, _135159 ) -7532d 255 0 CALL: prolog:$user_expansion(problog_lfi:member(_130928,[1]), _135164:_135165 ) -7533d 289 0 CALL: prolog:_user_expand_goal(problog_lfi:member(_130928,[1]), _135167:_135168 ) -7537d 289 0 FAIL RETRY: prolog:$user_expansion(problog_lfi:member(_130928,[1]), _135164:_135165 ) -7538d 255 0 CALL: prolog:$import_expansion(problog_lfi:member(_130928,[1]), _135167:_135168 ) -7539d 288 0 CALL: prolog:$imported_predicate(member(_130928,[1]), problog_lfi, _135168, _135167 ) -7540d 304 0 CALL: prolog:$is_system_predicate(member(_130928,[1]), prolog ) -7541d 304 0 FAIL RETRY: prolog:$imported_predicate(member(_130928,[1]), problog_lfi, _135168, _135167 ) -7542d 288 0 CALL: prolog:$undefined(member(_130928,[1]), problog_lfi ) -7543d 288 0 CALL: prolog:$get_undefined_predicates(member(_130928,[1]), problog_lfi, _135168, _135167 ) -7544d 311 0 CALL: prolog:recorded('$import', '$import'(_135170,problog_lfi,_135172,member(_130928,[1]),_135174,_135175), _1048254 ) -7545d 311 0 CALL: prolog:$continue_imported(_135167, lists, _135168, member(_130928,[1]) ) -7546d 322 0 CALL: prolog:$pred_exists(member(_130928,[1]), lists ) -7547d 311 0 CALL: prolog:\=(lists, problog_lfi ) -7548d 255 0 CALL: prolog:$meta_expansion(lists:member(_130928,[1]), problog_lfi, [], _1048299 ) -7549d 287 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[1]), _135190, _1048278 ) -7550d 287 0 CALL: prolog:functor(member(_130928,[1]), _135193, _135194 ) -7551d 287 0 CALL: prolog:$meta_predicate(member, lists, 2, _1048279 ) -7552d 287 0 FAIL RETRY: prolog:$meta_expansion(lists:member(_130928,[1]), problog_lfi, [], _1048299 ) -7553d 255 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[1]), _135190, _135191 ) -7554d 255 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[1]), _135192, _135193 ) -7555d 255 0 CALL: prolog:$end_goal_expansion(member(_130928,[1]), _1048310, _1048312, problog_lfi, user, lists, problog_lfi:member(_130928,[1]) ) -7556d 255 0 CALL: prolog:$match_mod(member(_130928,[1]), problog_lfi, user, lists, _1048310 ) -7557d 255 0 CALL: prolog:$is_system_predicate(member(_130928,[1]), lists ) -7558d 255 0 TRY_OR -7559d 293 0 CALL: prolog:==(lists, problog_lfi ) -7561d 255 0 CALL: prolog:$c_built_in(lists:member(_130928,[1]), lists, problog_lfi:member(_130928,[1]), _1048301 ) -7562d 286 0 CALL: prolog:get_value('$c_arith', true ) -7563d 255 0 CALL: prolog:do_c_built_in(lists:member(_130928,[1]), lists, problog_lfi:member(_130928,[1]), _1048301 ) -7564d 297 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[1]), _135197, _135198 ) -7565d 297 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_130928,[1]), lists, problog_lfi:member(_130928,[1]), _1048301 ) -7566d 297 0 CALL: prolog:$compop(lists:member(_130928,[1]), _1048263, _1048264, _1048266 ) -7567d 297 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_130928,[1]), lists, problog_lfi:member(_130928,[1]), _1048301 ) -7568d 297 0 CALL: prolog:$yap_strip_module(lists:lists:member(_130928,[1]), _135200, _135201 ) -7569d 297 0 CALL: prolog:$match_mod(member(_130928,[1]), problog_lfi, user, lists, _1048312 ) -7570d 297 0 CALL: prolog:$is_system_predicate(member(_130928,[1]), lists ) -7571d 297 0 TRY_OR -7572d 313 0 CALL: prolog:==(lists, problog_lfi ) -7574d 297 0 CALL: prolog:$yap_strip_module(problog_lfi:lists:member(_130928,[1]), _135140, _135141 ) -7575d 297 0 TRY_OR -7576d 305 0 CALL: prolog:\==(problog_lfi, lists ) -7577d 297 0 CALL: prolog:\=(member(_130928,[1]), fail ) -7578d 231 0 CALL: prolog:yap_flag(unknown, _1048330, error ) -7579d 231 0 TRY_OR -7580d 252 0 CALL: prolog:==(false, true ) -7582d 231 0 CALL: prolog:$execute0(member(_130928,[1]), lists ) -7583d 231 0 CALL: lists:member(_130928, [1] ) -7584d 240 0 CALL: nb:nb_queue_enqueue(queue(0,0,0,0), a(1,1) ) -7585d 240 0 FAIL RETRY: lists:member(_130928, [1] ) -7586d 231 0 CALL: lists:member(_130928, [] ) -7587d 231 0 FAIL RETRY: user:example(_130927 ) -7588d 181 0 CALL: prolog:$call(bdd_cluster(2,_130945),member(_130928,_130945), 181, problog_lfi: (user:example(2),bdd_cluster(2,_130945),member(_130928,_130945)), problog_lfi ) -7589d 181 0 CALL: prolog:$call(bdd_cluster(2,_130945), 181, problog_lfi: (user:example(2),bdd_cluster(2,_130945),member(_130928,_130945)), problog_lfi ) -7590d 212 0 FAIL RETRY: prolog:$call(bdd_cluster(2,_130945), 181, problog_lfi: (user:example(2),bdd_cluster(2,_130945),member(_130928,_130945)), problog_lfi ) -7591d 181 0 CALL: prolog:$execute0(bdd_cluster(2,_130945), problog_lfi ) -7592d 181 0 CALL: problog_lfi:bdd_cluster(2, _130945 ) -7593d 181 0 CALL: prolog:$undefp([problog_lfi|bdd_cluster(2,_130945)], error ) -7594d 181 0 CALL: prolog:yap_flag(unknown, error, fail ) -7595d 181 0 CALL: prolog:$stop_creeping(_1048361 ) -7596d 181 0 TRY_OR -7597d 225 0 CALL: prolog:$undefp_search(problog_lfi:bdd_cluster(2,_130945), _135061:_135062 ) -7598d 234 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_135064,_135065,_135066,_135067), user ) -7599d 234 0 FAIL RETRY: prolog:$undefp_search(problog_lfi:bdd_cluster(2,_130945), _135061:_135062 ) -7600d 225 0 CALL: prolog:expand_goal(problog_lfi:bdd_cluster(2,_130945), _135061:_135062 ) -7601d 225 0 CALL: prolog:$expand_meta_call(problog_lfi:bdd_cluster(2,_130945), [], _135061:_135062 ) -7602d 225 0 CALL: prolog:source_module(_135063 ) -7603d 225 0 CALL: prolog:$yap_strip_module(user:problog_lfi:bdd_cluster(2,_130945), _1048341, _135067 ) -7604d 225 0 CALL: prolog:$expand_goals(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(2,_130945)) ) -7605d 249 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(2,_130945)) ) -7606d 249 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(2,_130945)) ) -7607d 249 0 FAIL RETRY: prolog:$expand_goals(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(2,_130945)) ) -7608d 225 0 CALL: prolog:$yap_strip_module(problog_lfi:bdd_cluster(2,_130945), _135074, _135075 ) -7609d 225 0 CALL: prolog:$expand_goal(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, problog_lfi, []- (problog_lfi:bdd_cluster(2,_130945)) ) -7610d 225 0 CALL: prolog:$yap_strip_module(problog_lfi:bdd_cluster(2,_130945), _135079, _135080 ) -7611d 225 0 CALL: prolog:$user_expansion(problog_lfi:bdd_cluster(2,_130945), _135085:_135086 ) -7612d 259 0 CALL: prolog:_user_expand_goal(problog_lfi:bdd_cluster(2,_130945), _135088:_135089 ) -7616d 259 0 FAIL RETRY: prolog:$user_expansion(problog_lfi:bdd_cluster(2,_130945), _135085:_135086 ) -7617d 225 0 CALL: prolog:$import_expansion(problog_lfi:bdd_cluster(2,_130945), _135088:_135089 ) -7618d 258 0 CALL: prolog:$imported_predicate(bdd_cluster(2,_130945), problog_lfi, _135089, _135088 ) -7619d 274 0 CALL: prolog:$is_system_predicate(bdd_cluster(2,_130945), prolog ) -7620d 274 0 FAIL RETRY: prolog:$imported_predicate(bdd_cluster(2,_130945), problog_lfi, _135089, _135088 ) -7621d 258 0 CALL: prolog:$undefined(bdd_cluster(2,_130945), problog_lfi ) -7622d 258 0 CALL: prolog:$get_undefined_predicates(bdd_cluster(2,_130945), problog_lfi, _135089, _135088 ) -7623d 281 0 CALL: prolog:recorded('$import', '$import'(_135091,problog_lfi,_135093,bdd_cluster(2,_130945),_135095,_135096), _1048284 ) -7624d 281 0 CALL: prolog:$continue_imported(_135088, completion, _135089, bdd_cluster(2,_130945) ) -7625d 292 0 CALL: prolog:$pred_exists(bdd_cluster(2,_130945), completion ) -7626d 281 0 CALL: prolog:\=(completion, problog_lfi ) -7627d 225 0 CALL: prolog:$meta_expansion(completion:bdd_cluster(2,_130945), problog_lfi, [], _1048329 ) -7628d 257 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(2,_130945), _135111, _1048308 ) -7629d 257 0 CALL: prolog:functor(bdd_cluster(2,_130945), _135114, _135115 ) -7630d 257 0 CALL: prolog:$meta_predicate(bdd_cluster, completion, 2, _1048309 ) -7631d 257 0 FAIL RETRY: prolog:$meta_expansion(completion:bdd_cluster(2,_130945), problog_lfi, [], _1048329 ) -7632d 225 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(2,_130945), _135111, _135112 ) -7633d 225 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(2,_130945), _135113, _135114 ) -7634d 225 0 CALL: prolog:$end_goal_expansion(bdd_cluster(2,_130945), _1048340, _1048342, problog_lfi, user, completion, problog_lfi:bdd_cluster(2,_130945) ) -7635d 225 0 CALL: prolog:$match_mod(bdd_cluster(2,_130945), problog_lfi, user, completion, _1048340 ) -7636d 225 0 CALL: prolog:$is_system_predicate(bdd_cluster(2,_130945), completion ) -7637d 225 0 TRY_OR -7638d 263 0 CALL: prolog:==(completion, problog_lfi ) -7640d 225 0 CALL: prolog:$c_built_in(completion:bdd_cluster(2,_130945), completion, problog_lfi:bdd_cluster(2,_130945), _1048331 ) -7641d 256 0 CALL: prolog:get_value('$c_arith', true ) -7642d 225 0 CALL: prolog:do_c_built_in(completion:bdd_cluster(2,_130945), completion, problog_lfi:bdd_cluster(2,_130945), _1048331 ) -7643d 267 0 CALL: prolog:$yap_strip_module(completion:bdd_cluster(2,_130945), _135118, _135119 ) -7644d 267 0 FAIL RETRY: prolog:do_c_built_in(completion:bdd_cluster(2,_130945), completion, problog_lfi:bdd_cluster(2,_130945), _1048331 ) -7645d 267 0 CALL: prolog:$compop(completion:bdd_cluster(2,_130945), _1048293, _1048294, _1048296 ) -7646d 267 0 FAIL RETRY: prolog:do_c_built_in(completion:bdd_cluster(2,_130945), completion, problog_lfi:bdd_cluster(2,_130945), _1048331 ) -7647d 267 0 CALL: prolog:$yap_strip_module(completion:completion:bdd_cluster(2,_130945), _135121, _135122 ) -7648d 267 0 CALL: prolog:$match_mod(bdd_cluster(2,_130945), problog_lfi, user, completion, _1048342 ) -7649d 267 0 CALL: prolog:$is_system_predicate(bdd_cluster(2,_130945), completion ) -7650d 267 0 TRY_OR -7651d 283 0 CALL: prolog:==(completion, problog_lfi ) -7653d 267 0 CALL: prolog:$yap_strip_module(problog_lfi:completion:bdd_cluster(2,_130945), _135061, _135062 ) -7654d 267 0 TRY_OR -7655d 275 0 CALL: prolog:\==(problog_lfi, completion ) -7656d 267 0 CALL: prolog:\=(bdd_cluster(2,_130945), fail ) -7657d 181 0 CALL: prolog:yap_flag(unknown, _1048360, error ) -7658d 181 0 TRY_OR -7659d 222 0 CALL: prolog:==(false, true ) -7661d 181 0 CALL: prolog:$execute0(bdd_cluster(2,_130945), completion ) -7662d 181 0 CALL: completion:bdd_cluster(2, _130945 ) -7663d 181 0 CALL: prolog:$call(member(_130928,[]), 181, problog_lfi: (user:example(2),bdd_cluster(2,[]),member(_130928,[])), problog_lfi ) -7664d 192 0 FAIL RETRY: prolog:$call(member(_130928,[]), 181, problog_lfi: (user:example(2),bdd_cluster(2,[]),member(_130928,[])), problog_lfi ) -7665d 181 0 CALL: prolog:$execute0(member(_130928,[]), problog_lfi ) -7666d 181 0 CALL: problog_lfi:member(_130928, [] ) -7667d 181 0 CALL: prolog:$undefp([problog_lfi|member(_130928,[])], error ) -7668d 181 0 CALL: prolog:yap_flag(unknown, error, fail ) -7669d 181 0 CALL: prolog:$stop_creeping(_1048381 ) -7670d 181 0 TRY_OR -7671d 205 0 CALL: prolog:$undefp_search(problog_lfi:member(_130928,[]), _135138:_135139 ) -7672d 214 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_135141,_135142,_135143,_135144), user ) -7673d 214 0 FAIL RETRY: prolog:$undefp_search(problog_lfi:member(_130928,[]), _135138:_135139 ) -7674d 205 0 CALL: prolog:expand_goal(problog_lfi:member(_130928,[]), _135138:_135139 ) -7675d 205 0 CALL: prolog:$expand_meta_call(problog_lfi:member(_130928,[]), [], _135138:_135139 ) -7676d 205 0 CALL: prolog:source_module(_135140 ) -7677d 205 0 CALL: prolog:$yap_strip_module(user:problog_lfi:member(_130928,[]), _1048361, _135144 ) -7678d 205 0 CALL: prolog:$expand_goals(member(_130928,[]), _1048360, _1048362, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[])) ) -7679d 229 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[]), _1048360, _1048362, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[])) ) -7680d 229 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[]), _1048360, _1048362, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[])) ) -7681d 229 0 FAIL RETRY: prolog:$expand_goals(member(_130928,[]), _1048360, _1048362, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[])) ) -7682d 205 0 CALL: prolog:$yap_strip_module(problog_lfi:member(_130928,[]), _135151, _135152 ) -7683d 205 0 CALL: prolog:$expand_goal(member(_130928,[]), _1048360, _1048362, problog_lfi, user, problog_lfi, []- (problog_lfi:member(_130928,[])) ) -7684d 205 0 CALL: prolog:$yap_strip_module(problog_lfi:member(_130928,[]), _135156, _135157 ) -7685d 205 0 CALL: prolog:$user_expansion(problog_lfi:member(_130928,[]), _135162:_135163 ) -7686d 239 0 CALL: prolog:_user_expand_goal(problog_lfi:member(_130928,[]), _135165:_135166 ) -7690d 239 0 FAIL RETRY: prolog:$user_expansion(problog_lfi:member(_130928,[]), _135162:_135163 ) -7691d 205 0 CALL: prolog:$import_expansion(problog_lfi:member(_130928,[]), _135165:_135166 ) -7692d 238 0 CALL: prolog:$imported_predicate(member(_130928,[]), problog_lfi, _135166, _135165 ) -7693d 254 0 CALL: prolog:$is_system_predicate(member(_130928,[]), prolog ) -7694d 254 0 FAIL RETRY: prolog:$imported_predicate(member(_130928,[]), problog_lfi, _135166, _135165 ) -7695d 238 0 CALL: prolog:$undefined(member(_130928,[]), problog_lfi ) -7696d 238 0 CALL: prolog:$get_undefined_predicates(member(_130928,[]), problog_lfi, _135166, _135165 ) -7697d 261 0 CALL: prolog:recorded('$import', '$import'(_135168,problog_lfi,_135170,member(_130928,[]),_135172,_135173), _1048304 ) -7698d 261 0 CALL: prolog:$continue_imported(_135165, lists, _135166, member(_130928,[]) ) -7699d 272 0 CALL: prolog:$pred_exists(member(_130928,[]), lists ) -7700d 261 0 CALL: prolog:\=(lists, problog_lfi ) -7701d 205 0 CALL: prolog:$meta_expansion(lists:member(_130928,[]), problog_lfi, [], _1048349 ) -7702d 237 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[]), _135188, _1048328 ) -7703d 237 0 CALL: prolog:functor(member(_130928,[]), _135191, _135192 ) -7704d 237 0 CALL: prolog:$meta_predicate(member, lists, 2, _1048329 ) -7705d 237 0 FAIL RETRY: prolog:$meta_expansion(lists:member(_130928,[]), problog_lfi, [], _1048349 ) -7706d 205 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[]), _135188, _135189 ) -7707d 205 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[]), _135190, _135191 ) -7708d 205 0 CALL: prolog:$end_goal_expansion(member(_130928,[]), _1048360, _1048362, problog_lfi, user, lists, problog_lfi:member(_130928,[]) ) -7709d 205 0 CALL: prolog:$match_mod(member(_130928,[]), problog_lfi, user, lists, _1048360 ) -7710d 205 0 CALL: prolog:$is_system_predicate(member(_130928,[]), lists ) -7711d 205 0 TRY_OR -7712d 243 0 CALL: prolog:==(lists, problog_lfi ) -7714d 205 0 CALL: prolog:$c_built_in(lists:member(_130928,[]), lists, problog_lfi:member(_130928,[]), _1048351 ) -7715d 236 0 CALL: prolog:get_value('$c_arith', true ) -7716d 205 0 CALL: prolog:do_c_built_in(lists:member(_130928,[]), lists, problog_lfi:member(_130928,[]), _1048351 ) -7717d 247 0 CALL: prolog:$yap_strip_module(lists:member(_130928,[]), _135195, _135196 ) -7718d 247 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_130928,[]), lists, problog_lfi:member(_130928,[]), _1048351 ) -7719d 247 0 CALL: prolog:$compop(lists:member(_130928,[]), _1048313, _1048314, _1048316 ) -7720d 247 0 FAIL RETRY: prolog:do_c_built_in(lists:member(_130928,[]), lists, problog_lfi:member(_130928,[]), _1048351 ) -7721d 247 0 CALL: prolog:$yap_strip_module(lists:lists:member(_130928,[]), _135198, _135199 ) -7722d 247 0 CALL: prolog:$match_mod(member(_130928,[]), problog_lfi, user, lists, _1048362 ) -7723d 247 0 CALL: prolog:$is_system_predicate(member(_130928,[]), lists ) -7724d 247 0 TRY_OR -7725d 263 0 CALL: prolog:==(lists, problog_lfi ) -7727d 247 0 CALL: prolog:$yap_strip_module(problog_lfi:lists:member(_130928,[]), _135138, _135139 ) -7728d 247 0 TRY_OR -7729d 255 0 CALL: prolog:\==(problog_lfi, lists ) -7730d 247 0 CALL: prolog:\=(member(_130928,[]), fail ) -7731d 181 0 CALL: prolog:yap_flag(unknown, _1048380, error ) -7732d 181 0 TRY_OR -7733d 202 0 CALL: prolog:==(false, true ) -7735d 181 0 CALL: prolog:$execute0(member(_130928,[]), lists ) -7736d 181 0 CALL: lists:member(_130928, [] ) -7738d 140 0 CALL: nb:nb_queue_close(queue(0,[a(1,1) |_130960],_130960,1), _130950, [] ) -7739d 140 0 CALL: problog_lfi:calc_all_md5([a(1,1)], _1048415 ) -+s 0x5602af2c5ef0 - @0x7efdd88a3198 0 -+s 0x5602af2c7830 - @0x7efdd88a3198 0 -- 0x5602af2c7830 - @0x7efdd88a3198 140 -+s 0x5602af2b3ee0 - @0x7efdd88a3198 0 -+s 0x5602af2c0280 - @0x7efdd88a3198 0 -- 0x5602af2b3ee0 - @0x7efdd88a3198 140 -- 0x5602af2c5ef0 - @0x7efdd88a3198 140 -7740d 140 0 CALL: utils_learning:create_bdd_file_name(1, 1, _1048403 ) -7741d 140 0 CALL: flags:problog_flag(output_directory, _1048395 ) -7742d 140 0 CALL: gflags:flag_get(output_directory, _1048395 ) -7743d 140 0 CALL: prolog:recorded(flag_values, flag(output_directory,_130969), _130970 ) -7744d 140 0 CALL: prolog:atomic_concat([',_query_',1,'_cluster_',1], _1048396 ) -7745d 140 0 CALL: os:concat_path_with_filename('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output', ',_query_1_cluster_1', _1048403 ) -7746d 140 0 CALL: os:path_separator(_1048395 ) -7747d 189 0 CALL: prolog:current_prolog_flag(windows, true ) -7748d 189 0 FAIL RETRY: os:path_separator(_1048395 ) -7749d 140 0 CALL: prolog:atomic_list_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,',_query_1_cluster_1'], _1048403 ) -7750d 140 0 CALL: prolog:atomic_concat(['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output',/,',_query_1_cluster_1'], _1048403 ) -7751d 140 0 CALL: os:calc_md5('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _130966 ) -+s 0x5602af2c7a80 - @0x7efdd88a31a8 0 -+s 0x5602af2b9280 - @0x7efdd88a31a8 0 -- 0x5602af2c7a80 - @0x7efdd88a31a8 140 -7752d 179 0 CALL: prolog:catch(os:calc_md5_intern('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130966), _1048390, os:fail ) -7753d 179 0 CALL: prolog:$catch(os:calc_md5_intern('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130966), _1048390, os:fail ) -7754d 195 0 CALL: prolog:$execute(os:calc_md5_intern('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130966) ) -7755d 195 0 CALL: os:calc_md5_intern('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _130966 ) -7756d 195 0 TRY_OR -7757d 218 0 CALL: prolog:file_exists('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1' ) -7758d 218 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _130994, [expand(true),solutions(first),access(exist)] ) -7759d 218 0 CALL: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', [expand(true),solutions(first),access(exist)], _130994 ) -7760d 238 0 FAIL RETRY: prolog:absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', [expand(true),solutions(first),access(exist)], _130994 ) -7761d 218 0 CALL: prolog:$absolute_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', [expand(true),solutions(first),access(exist)], _130994 ) -7762d 218 0 CALL: prolog:gated_call('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',[expand(true),solutions(first),access(exist)],_131010,_131011,_131012,_131013,_131014,_131015,_131016,_131017,_131018), '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_131010,_130994,_131011,_131017), _131025, '$absf_port'(_131025,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130994,_131011,_131012,_131013,_131014,_131015,_131016,_131017,_131018) ) -7763d 218 0 CALL: prolog:$setup_call_catcher_cleanup('$enter_absf'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',[expand(true),solutions(first),access(exist)],_131010,_131011,_131012,_131013,_131014,_131015,_131016,_131017,_131018) ) -7764d 248 0 CALL: prolog:abs_file_parameters([expand(true),solutions(first),access(exist)], _131010 ) -7765d 248 0 CALL: prolog:current_prolog_flag(open_expands_filename, _131012 ) -7766d 248 0 CALL: prolog:current_prolog_flag(fileerrors, _131013 ) -7767d 248 0 CALL: prolog:current_prolog_flag(verbose_file_search, _131014 ) -7768d 248 0 CALL: prolog:get_abs_file_parameter(verbose_file_search, opt(exist,true,[],error,txt,'','',first,false), _131016 ) -7769d 248 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _131015 ) -7770d 248 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -7771d 248 0 CALL: prolog:get_abs_file_parameter(file_errors, opt(exist,true,[],error,txt,'','',first,false), _131048 ) -7772d 248 0 CALL: prolog:get_abs_file_parameter(solutions, opt(exist,true,[],error,txt,'','',first,false), _131017 ) -7773d 248 0 TRY_OR -7774d 266 0 CALL: prolog:==(error, fail ) -7776d 248 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -7777d 248 0 CALL: prolog:set_prolog_flag(file_name_variables, true ) -7778d 248 0 CALL: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1' ) -7779d 263 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -7780d 263 0 FAIL RETRY: prolog:$absf_trace('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1' ) -7781d 248 0 CALL: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -7782d 262 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -7783d 262 0 FAIL RETRY: prolog:$absf_trace_options([expand(true),solutions(first),access(exist)] ) -7784d 218 0 CALL: prolog:$gated_call(true, '$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',opt(exist,true,[],error,txt,'','',first,false),_130994,t(no),first), _131025, '$absf_port'(_131025,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130994,t(no),false,true,false,true,false,first,true) ) -7785d 218 0 CALL: prolog:$tag_cleanup(_131057, cleanup(true,_131025,'$absf_port'(_131025,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',_130994,t(no),false,true,false,true,false,first,true),_131055,true,_131057) ) -7786d 218 0 CALL: prolog:$execute('$find_in_path'('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',opt(exist,true,[],error,txt,'','',first,false),_130994,t(no),first) ) -7787d 218 0 CALL: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', opt(exist,true,[],error,txt,'','',first,false), _130994, t(no), first ) -7788d 237 0 FAIL RETRY: prolog:$find_in_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', opt(exist,true,[],error,txt,'','',first,false), _130994, t(no), first ) -7789d 218 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _1048342 ) -7790d 218 0 CALL: prolog:get_abs_file_parameter(access, opt(exist,true,[],error,txt,'','',first,false), _1048343 ) -7791d 218 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), _1048337 ) -7792d 218 0 CALL: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -7793d 253 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -7794d 253 0 FAIL RETRY: prolog:$absf_trace('start with ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -7795d 218 0 CALL: prolog:$core_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', opt(exist,true,[],error,txt,'','',first,false), _1048333, [] ) -7796d 218 0 CALL: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', opt(exist,true,[],error,txt,'','',first,false), _1048322, _1048333, _1048323 ) -7797d 265 0 CALL: prolog:=..('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', [_131075,_131077] ) -7798d 265 0 FAIL RETRY: prolog:$file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', opt(exist,true,[],error,txt,'','',first,false), _1048322, _1048333, _1048323 ) -7799d 218 0 CALL: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048322, _1048333, _1048323 ) -7800d 264 0 FAIL RETRY: prolog:$cat_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048322, _1048333, _1048323 ) -7801d 264 0 CALL: prolog:atom_codes('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048322 ) -7802d 218 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _1048333, _1048323 ) -7803d 218 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131246, _1048323 ) -7804d 218 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131248, _1048323 ) -7805d 218 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131250, _1048323 ) -7806d 218 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131252, _1048323 ) -7807d 218 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131254, _1048323 ) -7808d 218 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131256, _1048323 ) -7809d 218 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131258, _1048323 ) -7810d 218 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131260, _1048323 ) -7811d 218 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131262, _1048323 ) -7812d 218 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131264, _1048323 ) -7813d 218 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131266, _1048323 ) -7814d 218 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131268, _1048323 ) -7815d 218 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131270, _1048323 ) -7816d 218 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131272, _1048323 ) -7817d 218 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131274, _1048323 ) -7818d 218 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131276, _1048323 ) -7819d 218 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131278, _1048323 ) -7820d 218 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131280, _1048323 ) -7821d 218 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131282, _1048323 ) -7822d 218 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131284, _1048323 ) -7823d 218 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131286, _1048323 ) -7824d 218 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131288, _1048323 ) -7825d 218 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131290, _1048323 ) -7826d 218 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131292, _1048323 ) -7827d 218 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131294, _1048323 ) -7828d 218 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131296, _1048323 ) -7829d 218 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131298, _1048323 ) -7830d 218 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131300, _1048323 ) -7831d 218 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131302, _1048323 ) -7832d 218 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131304, _1048323 ) -7833d 218 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131306, _1048323 ) -7834d 218 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131308, _1048323 ) -7835d 218 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131310, _1048323 ) -7836d 218 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131312, _1048323 ) -7837d 218 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131314, _1048323 ) -7838d 218 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131316, _1048323 ) -7839d 218 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131318, _1048323 ) -7840d 218 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131320, _1048323 ) -7841d 218 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131322, _1048323 ) -7842d 218 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131324, _1048323 ) -7843d 218 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131326, _1048323 ) -7844d 218 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131328, _1048323 ) -7845d 218 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131330, _1048323 ) -7846d 218 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131332, _1048323 ) -7847d 218 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131334, _1048323 ) -7848d 218 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131336, _1048323 ) -7849d 218 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131338, _1048323 ) -7850d 218 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131340, _1048323 ) -7851d 218 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131342, _1048323 ) -7852d 218 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131344, _1048323 ) -7853d 218 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131346, _1048323 ) -7854d 218 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131348, _1048323 ) -7855d 218 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131350, _1048323 ) -7856d 218 0 CALL: prolog:$phrase_list([112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131352, _1048323 ) -7857d 218 0 CALL: prolog:$phrase_list([108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131354, _1048323 ) -7858d 218 0 CALL: prolog:$phrase_list([101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131356, _1048323 ) -7859d 218 0 CALL: prolog:$phrase_list([115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131358, _1048323 ) -7860d 218 0 CALL: prolog:$phrase_list([47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131360, _1048323 ) -7861d 218 0 CALL: prolog:$phrase_list([111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131362, _1048323 ) -7862d 218 0 CALL: prolog:$phrase_list([117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131364, _1048323 ) -7863d 218 0 CALL: prolog:$phrase_list([116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131366, _1048323 ) -7864d 218 0 CALL: prolog:$phrase_list([112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131368, _1048323 ) -7865d 218 0 CALL: prolog:$phrase_list([117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131370, _1048323 ) -7866d 218 0 CALL: prolog:$phrase_list([116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131372, _1048323 ) -7867d 218 0 CALL: prolog:$phrase_list([47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131374, _1048323 ) -7868d 218 0 CALL: prolog:$phrase_list([44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131376, _1048323 ) -7869d 218 0 CALL: prolog:$phrase_list([95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131378, _1048323 ) -7870d 218 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131380, _1048323 ) -7871d 218 0 CALL: prolog:$phrase_list([117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131382, _1048323 ) -7872d 218 0 CALL: prolog:$phrase_list([101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131384, _1048323 ) -7873d 218 0 CALL: prolog:$phrase_list([114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131386, _1048323 ) -7874d 218 0 CALL: prolog:$phrase_list([121,95,49,95,99,108,117,115,116,101,114,95,49], _131388, _1048323 ) -7875d 218 0 CALL: prolog:$phrase_list([95,49,95,99,108,117,115,116,101,114,95,49], _131390, _1048323 ) -7876d 218 0 CALL: prolog:$phrase_list([49,95,99,108,117,115,116,101,114,95,49], _131392, _1048323 ) -7877d 218 0 CALL: prolog:$phrase_list([95,99,108,117,115,116,101,114,95,49], _131394, _1048323 ) -7878d 218 0 CALL: prolog:$phrase_list([99,108,117,115,116,101,114,95,49], _131396, _1048323 ) -7879d 218 0 CALL: prolog:$phrase_list([108,117,115,116,101,114,95,49], _131398, _1048323 ) -7880d 218 0 CALL: prolog:$phrase_list([117,115,116,101,114,95,49], _131400, _1048323 ) -7881d 218 0 CALL: prolog:$phrase_list([115,116,101,114,95,49], _131402, _1048323 ) -7882d 218 0 CALL: prolog:$phrase_list([116,101,114,95,49], _131404, _1048323 ) -7883d 218 0 CALL: prolog:$phrase_list([101,114,95,49], _131406, _1048323 ) -7884d 218 0 CALL: prolog:$phrase_list([114,95,49], _131408, _1048323 ) -7885d 218 0 CALL: prolog:$phrase_list([95,49], _131410, _1048323 ) -7886d 218 0 CALL: prolog:$phrase_list([49], _131412, _1048323 ) -7887d 218 0 CALL: prolog:$phrase_list([], _131414, _1048323 ) -7888d 218 0 CALL: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], opt(exist,true,[],error,txt,'','',first,false), _131414, _1048325 ) -7889d 262 0 CALL: lists:append(_1048303, [46|_131416], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7890d 282 0 FAIL RETRY: lists:append(_1048303, [46|_131416], [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7891d 262 0 CALL: lists:append(_131418, [46|_131416], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7892d 282 0 FAIL RETRY: lists:append(_131418, [46|_131416], [104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7893d 262 0 CALL: lists:append(_131420, [46|_131416], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7894d 282 0 FAIL RETRY: lists:append(_131420, [46|_131416], [111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7895d 262 0 CALL: lists:append(_131422, [46|_131416], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7896d 282 0 FAIL RETRY: lists:append(_131422, [46|_131416], [109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7897d 262 0 CALL: lists:append(_131424, [46|_131416], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7898d 282 0 FAIL RETRY: lists:append(_131424, [46|_131416], [101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7899d 262 0 CALL: lists:append(_131426, [46|_131416], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7900d 282 0 FAIL RETRY: lists:append(_131426, [46|_131416], [47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7901d 262 0 CALL: lists:append(_131428, [46|_131416], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7902d 282 0 FAIL RETRY: lists:append(_131428, [46|_131416], [118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7903d 262 0 CALL: lists:append(_131430, [46|_131416], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7904d 282 0 FAIL RETRY: lists:append(_131430, [46|_131416], [115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7905d 262 0 CALL: lists:append(_131432, [46|_131416], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7906d 282 0 FAIL RETRY: lists:append(_131432, [46|_131416], [99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7907d 262 0 CALL: lists:append(_131434, [46|_131416], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7908d 282 0 FAIL RETRY: lists:append(_131434, [46|_131416], [47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7909d 262 0 CALL: lists:append(_131436, [46|_131416], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7910d 282 0 FAIL RETRY: lists:append(_131436, [46|_131416], [103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7911d 262 0 CALL: lists:append(_131438, [46|_131416], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7912d 282 0 FAIL RETRY: lists:append(_131438, [46|_131416], [105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7913d 262 0 CALL: lists:append(_131440, [46|_131416], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7914d 282 0 FAIL RETRY: lists:append(_131440, [46|_131416], [116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7915d 262 0 CALL: lists:append(_131442, [46|_131416], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7916d 282 0 FAIL RETRY: lists:append(_131442, [46|_131416], [104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7917d 262 0 CALL: lists:append(_131444, [46|_131416], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7918d 282 0 FAIL RETRY: lists:append(_131444, [46|_131416], [117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7919d 262 0 CALL: lists:append(_131446, [46|_131416], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7920d 282 0 FAIL RETRY: lists:append(_131446, [46|_131416], [98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7921d 262 0 CALL: lists:append(_131448, [46|_131416], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7922d 282 0 FAIL RETRY: lists:append(_131448, [46|_131416], [47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7923d 262 0 CALL: lists:append(_131450, [46|_131416], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7924d 282 0 FAIL RETRY: lists:append(_131450, [46|_131416], [121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7925d 262 0 CALL: lists:append(_131452, [46|_131416], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7926d 282 0 FAIL RETRY: lists:append(_131452, [46|_131416], [97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7927d 262 0 CALL: lists:append(_131454, [46|_131416], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7928d 282 0 FAIL RETRY: lists:append(_131454, [46|_131416], [112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7929d 262 0 CALL: lists:append(_131456, [46|_131416], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7930d 282 0 FAIL RETRY: lists:append(_131456, [46|_131416], [45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7931d 262 0 CALL: lists:append(_131458, [46|_131416], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7932d 282 0 FAIL RETRY: lists:append(_131458, [46|_131416], [54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7933d 262 0 CALL: lists:append(_131460, [46|_131416], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7934d 282 0 CALL: prolog:$id([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _1048304, [] ) -7935d 282 0 CALL: prolog:C(_1048304, 51, _1048286 ) -7936d 282 0 TRY_OR -7937d 299 0 CALL: prolog:>=(51, 97 ) -7939d 299 0 CALL: prolog:>=(51, 65 ) -7941d 299 0 CALL: prolog:>=(51, 48 ) -7942d 299 0 CALL: prolog:=<(51, 57 ) -7943d 282 0 CALL: prolog:$id([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131462, [] ) -7944d 282 0 CALL: prolog:C(_131462, 47, _1048286 ) -7945d 282 0 TRY_OR -7946d 299 0 CALL: prolog:>=(47, 97 ) -7948d 299 0 CALL: prolog:>=(47, 65 ) -7950d 299 0 CALL: prolog:>=(47, 48 ) -7952d 282 0 CALL: prolog:=:=(47, 95 ) -7953d 282 0 FAIL RETRY: lists:append(_131460, [46|_131416], [46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7954d 262 0 CALL: lists:append(_131462, [46|_131416], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7955d 282 0 FAIL RETRY: lists:append(_131462, [46|_131416], [51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7956d 262 0 CALL: lists:append(_131464, [46|_131416], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7957d 282 0 FAIL RETRY: lists:append(_131464, [46|_131416], [47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7958d 262 0 CALL: lists:append(_131466, [46|_131416], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7959d 282 0 FAIL RETRY: lists:append(_131466, [46|_131416], [112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7960d 262 0 CALL: lists:append(_131468, [46|_131416], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7961d 282 0 FAIL RETRY: lists:append(_131468, [46|_131416], [97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7962d 262 0 CALL: lists:append(_131470, [46|_131416], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7963d 282 0 FAIL RETRY: lists:append(_131470, [46|_131416], [99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7964d 262 0 CALL: lists:append(_131472, [46|_131416], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7965d 282 0 FAIL RETRY: lists:append(_131472, [46|_131416], [107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7966d 262 0 CALL: lists:append(_131474, [46|_131416], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7967d 282 0 FAIL RETRY: lists:append(_131474, [46|_131416], [97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7968d 262 0 CALL: lists:append(_131476, [46|_131416], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7969d 282 0 FAIL RETRY: lists:append(_131476, [46|_131416], [103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7970d 262 0 CALL: lists:append(_131478, [46|_131416], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7971d 282 0 FAIL RETRY: lists:append(_131478, [46|_131416], [101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7972d 262 0 CALL: lists:append(_131480, [46|_131416], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7973d 282 0 FAIL RETRY: lists:append(_131480, [46|_131416], [115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7974d 262 0 CALL: lists:append(_131482, [46|_131416], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7975d 282 0 FAIL RETRY: lists:append(_131482, [46|_131416], [47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7976d 262 0 CALL: lists:append(_131484, [46|_131416], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7977d 282 0 FAIL RETRY: lists:append(_131484, [46|_131416], [80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7978d 262 0 CALL: lists:append(_131486, [46|_131416], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7979d 282 0 FAIL RETRY: lists:append(_131486, [46|_131416], [114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7980d 262 0 CALL: lists:append(_131488, [46|_131416], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7981d 282 0 FAIL RETRY: lists:append(_131488, [46|_131416], [111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7982d 262 0 CALL: lists:append(_131490, [46|_131416], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7983d 282 0 FAIL RETRY: lists:append(_131490, [46|_131416], [98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7984d 262 0 CALL: lists:append(_131492, [46|_131416], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7985d 282 0 FAIL RETRY: lists:append(_131492, [46|_131416], [76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7986d 262 0 CALL: lists:append(_131494, [46|_131416], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7987d 282 0 FAIL RETRY: lists:append(_131494, [46|_131416], [111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7988d 262 0 CALL: lists:append(_131496, [46|_131416], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7989d 282 0 FAIL RETRY: lists:append(_131496, [46|_131416], [103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7990d 262 0 CALL: lists:append(_131498, [46|_131416], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7991d 282 0 FAIL RETRY: lists:append(_131498, [46|_131416], [47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7992d 262 0 CALL: lists:append(_131500, [46|_131416], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7993d 282 0 FAIL RETRY: lists:append(_131500, [46|_131416], [112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7994d 262 0 CALL: lists:append(_131502, [46|_131416], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7995d 282 0 FAIL RETRY: lists:append(_131502, [46|_131416], [114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7996d 262 0 CALL: lists:append(_131504, [46|_131416], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7997d 282 0 FAIL RETRY: lists:append(_131504, [46|_131416], [111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7998d 262 0 CALL: lists:append(_131506, [46|_131416], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -7999d 282 0 FAIL RETRY: lists:append(_131506, [46|_131416], [98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8000d 262 0 CALL: lists:append(_131508, [46|_131416], [108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8001d 282 0 FAIL RETRY: lists:append(_131508, [46|_131416], [108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8002d 262 0 CALL: lists:append(_131510, [46|_131416], [111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8003d 282 0 FAIL RETRY: lists:append(_131510, [46|_131416], [111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8004d 262 0 CALL: lists:append(_131512, [46|_131416], [103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8005d 282 0 FAIL RETRY: lists:append(_131512, [46|_131416], [103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8006d 262 0 CALL: lists:append(_131514, [46|_131416], [95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8007d 282 0 FAIL RETRY: lists:append(_131514, [46|_131416], [95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8008d 262 0 CALL: lists:append(_131516, [46|_131416], [101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8009d 282 0 FAIL RETRY: lists:append(_131516, [46|_131416], [101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8010d 262 0 CALL: lists:append(_131518, [46|_131416], [120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8011d 282 0 FAIL RETRY: lists:append(_131518, [46|_131416], [120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8012d 262 0 CALL: lists:append(_131520, [46|_131416], [97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8013d 282 0 FAIL RETRY: lists:append(_131520, [46|_131416], [97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8014d 262 0 CALL: lists:append(_131522, [46|_131416], [109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8015d 282 0 FAIL RETRY: lists:append(_131522, [46|_131416], [109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8016d 262 0 CALL: lists:append(_131524, [46|_131416], [112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8017d 282 0 FAIL RETRY: lists:append(_131524, [46|_131416], [112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8018d 262 0 CALL: lists:append(_131526, [46|_131416], [108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8019d 282 0 FAIL RETRY: lists:append(_131526, [46|_131416], [108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8020d 262 0 CALL: lists:append(_131528, [46|_131416], [101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8021d 282 0 FAIL RETRY: lists:append(_131528, [46|_131416], [101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8022d 262 0 CALL: lists:append(_131530, [46|_131416], [115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8023d 282 0 FAIL RETRY: lists:append(_131530, [46|_131416], [115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8024d 262 0 CALL: lists:append(_131532, [46|_131416], [47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8025d 282 0 FAIL RETRY: lists:append(_131532, [46|_131416], [47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8026d 262 0 CALL: lists:append(_131534, [46|_131416], [111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8027d 282 0 FAIL RETRY: lists:append(_131534, [46|_131416], [111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8028d 262 0 CALL: lists:append(_131536, [46|_131416], [117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8029d 282 0 FAIL RETRY: lists:append(_131536, [46|_131416], [117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8030d 262 0 CALL: lists:append(_131538, [46|_131416], [116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8031d 282 0 FAIL RETRY: lists:append(_131538, [46|_131416], [116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8032d 262 0 CALL: lists:append(_131540, [46|_131416], [112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8033d 282 0 FAIL RETRY: lists:append(_131540, [46|_131416], [112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8034d 262 0 CALL: lists:append(_131542, [46|_131416], [117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8035d 282 0 FAIL RETRY: lists:append(_131542, [46|_131416], [117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8036d 262 0 CALL: lists:append(_131544, [46|_131416], [116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8037d 282 0 FAIL RETRY: lists:append(_131544, [46|_131416], [116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8038d 262 0 CALL: lists:append(_131546, [46|_131416], [47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8039d 282 0 FAIL RETRY: lists:append(_131546, [46|_131416], [47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8040d 262 0 CALL: lists:append(_131548, [46|_131416], [44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8041d 282 0 FAIL RETRY: lists:append(_131548, [46|_131416], [44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8042d 262 0 CALL: lists:append(_131550, [46|_131416], [95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8043d 282 0 FAIL RETRY: lists:append(_131550, [46|_131416], [95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8044d 262 0 CALL: lists:append(_131552, [46|_131416], [113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8045d 282 0 FAIL RETRY: lists:append(_131552, [46|_131416], [113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8046d 262 0 CALL: lists:append(_131554, [46|_131416], [117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8047d 282 0 FAIL RETRY: lists:append(_131554, [46|_131416], [117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8048d 262 0 CALL: lists:append(_131556, [46|_131416], [101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8049d 282 0 FAIL RETRY: lists:append(_131556, [46|_131416], [101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8050d 262 0 CALL: lists:append(_131558, [46|_131416], [114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8051d 282 0 FAIL RETRY: lists:append(_131558, [46|_131416], [114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8052d 262 0 CALL: lists:append(_131560, [46|_131416], [121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8053d 282 0 FAIL RETRY: lists:append(_131560, [46|_131416], [121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8054d 262 0 CALL: lists:append(_131562, [46|_131416], [95,49,95,99,108,117,115,116,101,114,95,49] ) -8055d 282 0 FAIL RETRY: lists:append(_131562, [46|_131416], [95,49,95,99,108,117,115,116,101,114,95,49] ) -8056d 262 0 CALL: lists:append(_131564, [46|_131416], [49,95,99,108,117,115,116,101,114,95,49] ) -8057d 282 0 FAIL RETRY: lists:append(_131564, [46|_131416], [49,95,99,108,117,115,116,101,114,95,49] ) -8058d 262 0 CALL: lists:append(_131566, [46|_131416], [95,99,108,117,115,116,101,114,95,49] ) -8059d 282 0 FAIL RETRY: lists:append(_131566, [46|_131416], [95,99,108,117,115,116,101,114,95,49] ) -8060d 262 0 CALL: lists:append(_131568, [46|_131416], [99,108,117,115,116,101,114,95,49] ) -8061d 282 0 FAIL RETRY: lists:append(_131568, [46|_131416], [99,108,117,115,116,101,114,95,49] ) -8062d 262 0 CALL: lists:append(_131570, [46|_131416], [108,117,115,116,101,114,95,49] ) -8063d 282 0 FAIL RETRY: lists:append(_131570, [46|_131416], [108,117,115,116,101,114,95,49] ) -8064d 262 0 CALL: lists:append(_131572, [46|_131416], [117,115,116,101,114,95,49] ) -8065d 282 0 FAIL RETRY: lists:append(_131572, [46|_131416], [117,115,116,101,114,95,49] ) -8066d 262 0 CALL: lists:append(_131574, [46|_131416], [115,116,101,114,95,49] ) -8067d 282 0 FAIL RETRY: lists:append(_131574, [46|_131416], [115,116,101,114,95,49] ) -8068d 262 0 CALL: lists:append(_131576, [46|_131416], [116,101,114,95,49] ) -8069d 282 0 FAIL RETRY: lists:append(_131576, [46|_131416], [116,101,114,95,49] ) -8070d 262 0 CALL: lists:append(_131578, [46|_131416], [101,114,95,49] ) -8071d 282 0 FAIL RETRY: lists:append(_131578, [46|_131416], [101,114,95,49] ) -8072d 262 0 CALL: lists:append(_131580, [46|_131416], [114,95,49] ) -8073d 282 0 FAIL RETRY: lists:append(_131580, [46|_131416], [114,95,49] ) -8074d 262 0 CALL: lists:append(_131582, [46|_131416], [95,49] ) -8075d 282 0 FAIL RETRY: lists:append(_131582, [46|_131416], [95,49] ) -8076d 262 0 CALL: lists:append(_131584, [46|_131416], [49] ) -8077d 282 0 FAIL RETRY: lists:append(_131584, [46|_131416], [49] ) -8078d 262 0 CALL: lists:append(_131586, [46|_131416], [] ) -8079d 282 0 FAIL RETRY: lists:append(_131586, [46|_131416], [] ) -8080d 262 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], opt(exist,true,[],error,txt,'','',first,false), _131414, _1048325 ) -8081d 262 0 TRY_OR -8082d 284 0 CALL: prolog:get_abs_file_parameter(extensions, opt(exist,true,[],error,txt,'','',first,false), _1048299 ) -8083d 284 0 CALL: prolog:\=([], [] ) -8085d 262 0 CALL: prolog:get_abs_file_parameter(file_type, opt(exist,true,[],error,txt,'','',first,false), _131415 ) -8086d 262 0 TRY_OR -8087d 282 0 CALL: prolog:==(txt, source ) -8089d 262 0 CALL: user:prolog_file_type(_1048304, txt ) -8090d 262 0 FAIL RETRY: prolog:$suffix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], opt(exist,true,[],error,txt,'','',first,false), _131414, _1048325 ) -8091d 218 0 CALL: prolog:$absf_trace(' try no suffix', [], _131414, _1048325 ) -8092d 262 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8093d 262 0 FAIL RETRY: prolog:$absf_trace(' try no suffix', [], _131414, _1048325 ) -8094d 218 0 CALL: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131414, [] ) -8095d 253 0 CALL: prolog:get_abs_file_parameter(glob, opt(exist,true,[],error,txt,'','',first,false), _131415 ) -8096d 253 0 CALL: prolog:\=('', '' ) -8097d 253 0 FAIL RETRY: prolog:$glob(opt(exist,true,[],error,txt,'','',first,false), _131414, [] ) -8098d 218 0 CALL: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8099d 251 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8100d 251 0 FAIL RETRY: prolog:$absf_trace(' after name/library unfolding: ~w', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8101d 218 0 CALL: prolog:$variable_expansion([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], opt(exist,true,[],error,txt,'','',first,false), _1048334 ) -8102d 251 0 CALL: prolog:get_abs_file_parameter(expand, opt(exist,true,[],error,txt,'','',first,false), true ) -8103d 218 0 CALL: prolog:$expand_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _1048334 ) -8104d 218 0 CALL: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49]] ) -8105d 250 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8106d 250 0 FAIL RETRY: prolog:$absf_trace(' after environment variable expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49]] ) -8107d 218 0 CALL: prolog:$prefix([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], opt(exist,true,[],error,txt,'','',first,false), _1048336, [] ) -8108d 250 0 CALL: prolog:is_absolute_file_name([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8109d 218 0 CALL: prolog:phrase([47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _1048336, [] ) -8110d 218 0 CALL: prolog:$phrase_list([104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131590, [] ) -8111d 218 0 CALL: prolog:$phrase_list([111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131592, [] ) -8112d 218 0 CALL: prolog:$phrase_list([109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131594, [] ) -8113d 218 0 CALL: prolog:$phrase_list([101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131596, [] ) -8114d 218 0 CALL: prolog:$phrase_list([47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131598, [] ) -8115d 218 0 CALL: prolog:$phrase_list([118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131600, [] ) -8116d 218 0 CALL: prolog:$phrase_list([115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131602, [] ) -8117d 218 0 CALL: prolog:$phrase_list([99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131604, [] ) -8118d 218 0 CALL: prolog:$phrase_list([47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131606, [] ) -8119d 218 0 CALL: prolog:$phrase_list([103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131608, [] ) -8120d 218 0 CALL: prolog:$phrase_list([105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131610, [] ) -8121d 218 0 CALL: prolog:$phrase_list([116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131612, [] ) -8122d 218 0 CALL: prolog:$phrase_list([104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131614, [] ) -8123d 218 0 CALL: prolog:$phrase_list([117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131616, [] ) -8124d 218 0 CALL: prolog:$phrase_list([98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131618, [] ) -8125d 218 0 CALL: prolog:$phrase_list([47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131620, [] ) -8126d 218 0 CALL: prolog:$phrase_list([121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131622, [] ) -8127d 218 0 CALL: prolog:$phrase_list([97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131624, [] ) -8128d 218 0 CALL: prolog:$phrase_list([112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131626, [] ) -8129d 218 0 CALL: prolog:$phrase_list([45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131628, [] ) -8130d 218 0 CALL: prolog:$phrase_list([54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131630, [] ) -8131d 218 0 CALL: prolog:$phrase_list([46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131632, [] ) -8132d 218 0 CALL: prolog:$phrase_list([51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131634, [] ) -8133d 218 0 CALL: prolog:$phrase_list([47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131636, [] ) -8134d 218 0 CALL: prolog:$phrase_list([112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131638, [] ) -8135d 218 0 CALL: prolog:$phrase_list([97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131640, [] ) -8136d 218 0 CALL: prolog:$phrase_list([99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131642, [] ) -8137d 218 0 CALL: prolog:$phrase_list([107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131644, [] ) -8138d 218 0 CALL: prolog:$phrase_list([97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131646, [] ) -8139d 218 0 CALL: prolog:$phrase_list([103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131648, [] ) -8140d 218 0 CALL: prolog:$phrase_list([101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131650, [] ) -8141d 218 0 CALL: prolog:$phrase_list([115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131652, [] ) -8142d 218 0 CALL: prolog:$phrase_list([47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131654, [] ) -8143d 218 0 CALL: prolog:$phrase_list([80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131656, [] ) -8144d 218 0 CALL: prolog:$phrase_list([114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131658, [] ) -8145d 218 0 CALL: prolog:$phrase_list([111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131660, [] ) -8146d 218 0 CALL: prolog:$phrase_list([98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131662, [] ) -8147d 218 0 CALL: prolog:$phrase_list([76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131664, [] ) -8148d 218 0 CALL: prolog:$phrase_list([111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131666, [] ) -8149d 218 0 CALL: prolog:$phrase_list([103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131668, [] ) -8150d 218 0 CALL: prolog:$phrase_list([47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131670, [] ) -8151d 218 0 CALL: prolog:$phrase_list([112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131672, [] ) -8152d 218 0 CALL: prolog:$phrase_list([114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131674, [] ) -8153d 218 0 CALL: prolog:$phrase_list([111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131676, [] ) -8154d 218 0 CALL: prolog:$phrase_list([98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131678, [] ) -8155d 218 0 CALL: prolog:$phrase_list([108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131680, [] ) -8156d 218 0 CALL: prolog:$phrase_list([111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131682, [] ) -8157d 218 0 CALL: prolog:$phrase_list([103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131684, [] ) -8158d 218 0 CALL: prolog:$phrase_list([95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131686, [] ) -8159d 218 0 CALL: prolog:$phrase_list([101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131688, [] ) -8160d 218 0 CALL: prolog:$phrase_list([120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131690, [] ) -8161d 218 0 CALL: prolog:$phrase_list([97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131692, [] ) -8162d 218 0 CALL: prolog:$phrase_list([109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131694, [] ) -8163d 218 0 CALL: prolog:$phrase_list([112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131696, [] ) -8164d 218 0 CALL: prolog:$phrase_list([108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131698, [] ) -8165d 218 0 CALL: prolog:$phrase_list([101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131700, [] ) -8166d 218 0 CALL: prolog:$phrase_list([115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131702, [] ) -8167d 218 0 CALL: prolog:$phrase_list([47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131704, [] ) -8168d 218 0 CALL: prolog:$phrase_list([111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131706, [] ) -8169d 218 0 CALL: prolog:$phrase_list([117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131708, [] ) -8170d 218 0 CALL: prolog:$phrase_list([116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131710, [] ) -8171d 218 0 CALL: prolog:$phrase_list([112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131712, [] ) -8172d 218 0 CALL: prolog:$phrase_list([117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131714, [] ) -8173d 218 0 CALL: prolog:$phrase_list([116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131716, [] ) -8174d 218 0 CALL: prolog:$phrase_list([47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131718, [] ) -8175d 218 0 CALL: prolog:$phrase_list([44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131720, [] ) -8176d 218 0 CALL: prolog:$phrase_list([95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131722, [] ) -8177d 218 0 CALL: prolog:$phrase_list([113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131724, [] ) -8178d 218 0 CALL: prolog:$phrase_list([117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131726, [] ) -8179d 218 0 CALL: prolog:$phrase_list([101,114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131728, [] ) -8180d 218 0 CALL: prolog:$phrase_list([114,121,95,49,95,99,108,117,115,116,101,114,95,49], _131730, [] ) -8181d 218 0 CALL: prolog:$phrase_list([121,95,49,95,99,108,117,115,116,101,114,95,49], _131732, [] ) -8182d 218 0 CALL: prolog:$phrase_list([95,49,95,99,108,117,115,116,101,114,95,49], _131734, [] ) -8183d 218 0 CALL: prolog:$phrase_list([49,95,99,108,117,115,116,101,114,95,49], _131736, [] ) -8184d 218 0 CALL: prolog:$phrase_list([95,99,108,117,115,116,101,114,95,49], _131738, [] ) -8185d 218 0 CALL: prolog:$phrase_list([99,108,117,115,116,101,114,95,49], _131740, [] ) -8186d 218 0 CALL: prolog:$phrase_list([108,117,115,116,101,114,95,49], _131742, [] ) -8187d 218 0 CALL: prolog:$phrase_list([117,115,116,101,114,95,49], _131744, [] ) -8188d 218 0 CALL: prolog:$phrase_list([115,116,101,114,95,49], _131746, [] ) -8189d 218 0 CALL: prolog:$phrase_list([116,101,114,95,49], _131748, [] ) -8190d 218 0 CALL: prolog:$phrase_list([101,114,95,49], _131750, [] ) -8191d 218 0 CALL: prolog:$phrase_list([114,95,49], _131752, [] ) -8192d 218 0 CALL: prolog:$phrase_list([95,49], _131754, [] ) -8193d 218 0 CALL: prolog:$phrase_list([49], _131756, [] ) -8194d 218 0 CALL: prolog:$phrase_list([], _131758, [] ) -8195d 218 0 CALL: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49]] ) -8196d 248 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8197d 248 0 FAIL RETRY: prolog:$absf_trace(' after prefix expansion: ~s', [[47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49]] ) -8198d 218 0 CALL: prolog:atom_codes(_1048339, [47,104,111,109,101,47,118,115,99,47,103,105,116,104,117,98,47,121,97,112,45,54,46,51,47,112,97,99,107,97,103,101,115,47,80,114,111,98,76,111,103,47,112,114,111,98,108,111,103,95,101,120,97,109,112,108,101,115,47,111,117,116,112,117,116,47,44,95,113,117,101,114,121,95,49,95,99,108,117,115,116,101,114,95,49] ) -8199d 218 0 TRY_OR -8200d 218 0 CALL: prolog:expand_file_name('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048338 ) -8201d 218 0 CALL: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1']] ) -8202d 246 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8203d 246 0 FAIL RETRY: prolog:$absf_trace(' after shell globbing: ~w', [['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1']] ) -8204d 218 0 CALL: lists:member(_1048340, ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8205d 245 0 CALL: prolog:real_path('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _130994 ) -8206d 245 0 CALL: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8207d 254 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8208d 254 0 FAIL RETRY: prolog:$absf_trace(' after canonical path name: ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8209d 245 0 CALL: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', txt, exist ) -8210d 255 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', txt, exist ) -8211d 255 0 FAIL RETRY: prolog:$check_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', txt, exist ) -8212d 255 0 CALL: prolog:$access_file('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', exist ) -8213d 255 0 CALL: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',txt,exist] ) -8214d 264 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8215d 264 0 FAIL RETRY: prolog:$absf_trace(' after testing ~a for ~a and ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',txt,exist] ) -8216d 255 0 TRY_OR -8217d 263 0 CALL: prolog:==(first, first ) -8218d 218 0 CALL: prolog:$cleanup_on_exit(218, cleanup(true,_131025,'$absf_port'(_131025,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1','/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1',t(no),false,true,false,true,false,first,true),_131055,false,218) ) -8219d 233 0 TRY_OR -8220d 251 0 CALL: prolog:==(first, first ) -8221d 233 0 CALL: prolog:set_prolog_flag(fileerrors, true ) -8222d 233 0 CALL: prolog:set_prolog_flag(open_expands_filename, false ) -8223d 233 0 CALL: prolog:set_prolog_flag(verbose_file_search, false ) -8224d 233 0 CALL: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8225d 242 0 CALL: prolog:current_prolog_flag(verbose_file_search, true ) -8226d 242 0 FAIL RETRY: prolog:$absf_trace(' |------- found ~a', ['/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1'] ) -8227d 195 0 CALL: os:file_to_codes('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', _1048367, [] ) -8228d 195 0 CALL: prolog:open('/home/vsc/github/yap-6.3/packages/ProbLog/problog_examples/output/,_query_1_cluster_1', read, _1048361 ) -8229d 195 0 CALL: os:get_codes('$stream'(3), _1048367, [] ) -+s 0x5602af2dece0 - @0x7efdd88a31a8 0 -+s 0x5602af2dde20 - @0x7efdd88a31a8 0 -- 0x5602af2dece0 - @0x7efdd88a31a8 195 -8230d 224 0 CALL: prolog:get_code('$stream'(3), _131777 ) -8231d 224 0 CALL: prolog:\=(64, -1 ) -8232d 195 0 CALL: os:get_codes('$stream'(3), _131778, [] ) -8233d 234 0 CALL: prolog:get_code('$stream'(3), _131779 ) -8234d 234 0 CALL: prolog:\=(66, -1 ) -8235d 195 0 CALL: os:get_codes('$stream'(3), _131780, [] ) -8236d 244 0 CALL: prolog:get_code('$stream'(3), _131781 ) -8237d 244 0 CALL: prolog:\=(68, -1 ) -8238d 195 0 CALL: os:get_codes('$stream'(3), _131782, [] ) -8239d 254 0 CALL: prolog:get_code('$stream'(3), _131783 ) -8240d 254 0 CALL: prolog:\=(68, -1 ) -8241d 195 0 CALL: os:get_codes('$stream'(3), _131784, [] ) -8242d 264 0 CALL: prolog:get_code('$stream'(3), _131785 ) -8243d 264 0 CALL: prolog:\=(49, -1 ) -8244d 195 0 CALL: os:get_codes('$stream'(3), _131786, [] ) -8245d 274 0 CALL: prolog:get_code('$stream'(3), _131787 ) -8246d 274 0 CALL: prolog:\=(10, -1 ) -8247d 195 0 CALL: os:get_codes('$stream'(3), _131788, [] ) -8248d 284 0 CALL: prolog:get_code('$stream'(3), _131789 ) -8249d 284 0 CALL: prolog:\=(50, -1 ) -8250d 195 0 CALL: os:get_codes('$stream'(3), _131790, [] ) -8251d 294 0 CALL: prolog:get_code('$stream'(3), _131791 ) -8252d 294 0 CALL: prolog:\=(10, -1 ) -8253d 195 0 CALL: os:get_codes('$stream'(3), _131792, [] ) -8254d 304 0 CALL: prolog:get_code('$stream'(3), _131793 ) -8255d 304 0 CALL: prolog:\=(48, -1 ) -8256d 195 0 CALL: os:get_codes('$stream'(3), _131794, [] ) -8257d 314 0 CALL: prolog:get_code('$stream'(3), _131795 ) -8258d 314 0 CALL: prolog:\=(10, -1 ) -8259d 195 0 CALL: os:get_codes('$stream'(3), _131796, [] ) -8260d 324 0 CALL: prolog:get_code('$stream'(3), _131797 ) -8261d 324 0 CALL: prolog:\=(50, -1 ) -8262d 195 0 CALL: os:get_codes('$stream'(3), _131798, [] ) -8263d 334 0 CALL: prolog:get_code('$stream'(3), _131799 ) -8264d 334 0 CALL: prolog:\=(10, -1 ) -8265d 195 0 CALL: os:get_codes('$stream'(3), _131800, [] ) -8266d 344 0 CALL: prolog:get_code('$stream'(3), _131801 ) -8267d 344 0 CALL: prolog:\=(76, -1 ) -8268d 195 0 CALL: os:get_codes('$stream'(3), _131802, [] ) -8269d 354 0 CALL: prolog:get_code('$stream'(3), _131803 ) -8270d 354 0 CALL: prolog:\=(49, -1 ) -8271d 195 0 CALL: os:get_codes('$stream'(3), _131804, [] ) -8272d 364 0 CALL: prolog:get_code('$stream'(3), _131805 ) -8273d 364 0 CALL: prolog:\=(32, -1 ) -8274d 195 0 CALL: os:get_codes('$stream'(3), _131806, [] ) -8275d 374 0 CALL: prolog:get_code('$stream'(3), _131807 ) -8276d 374 0 CALL: prolog:\=(61, -1 ) -8277d 195 0 CALL: os:get_codes('$stream'(3), _131808, [] ) -8278d 384 0 CALL: prolog:get_code('$stream'(3), _131809 ) -8279d 384 0 CALL: prolog:\=(32, -1 ) -8280d 195 0 CALL: os:get_codes('$stream'(3), _131810, [] ) -8281d 394 0 CALL: prolog:get_code('$stream'(3), _131811 ) -8282d 394 0 CALL: prolog:\=(120, -1 ) -8283d 195 0 CALL: os:get_codes('$stream'(3), _131812, [] ) -8284d 404 0 CALL: prolog:get_code('$stream'(3), _131813 ) -8285d 404 0 CALL: prolog:\=(48, -1 ) -8286d 195 0 CALL: os:get_codes('$stream'(3), _131814, [] ) -8287d 414 0 CALL: prolog:get_code('$stream'(3), _131815 ) -8288d 414 0 CALL: prolog:\=(32, -1 ) -8289d 195 0 CALL: os:get_codes('$stream'(3), _131816, [] ) -8290d 424 0 CALL: prolog:get_code('$stream'(3), _131817 ) -8291d 424 0 CALL: prolog:\=(43, -1 ) -8292d 195 0 CALL: os:get_codes('$stream'(3), _131818, [] ) -8293d 434 0 CALL: prolog:get_code('$stream'(3), _131819 ) -8294d 434 0 CALL: prolog:\=(32, -1 ) -8295d 195 0 CALL: os:get_codes('$stream'(3), _131820, [] ) -8296d 444 0 CALL: prolog:get_code('$stream'(3), _131821 ) -8297d 444 0 CALL: prolog:\=(120, -1 ) -8298d 195 0 CALL: os:get_codes('$stream'(3), _131822, [] ) -8299d 454 0 CALL: prolog:get_code('$stream'(3), _131823 ) -8300d 454 0 CALL: prolog:\=(49, -1 ) -8301d 195 0 CALL: os:get_codes('$stream'(3), _131824, [] ) -8302d 464 0 CALL: prolog:get_code('$stream'(3), _131825 ) -8303d 464 0 CALL: prolog:\=(10, -1 ) -8304d 195 0 CALL: os:get_codes('$stream'(3), _131826, [] ) -8305d 474 0 CALL: prolog:get_code('$stream'(3), _131827 ) -8306d 474 0 CALL: prolog:\=(76, -1 ) -8307d 195 0 CALL: os:get_codes('$stream'(3), _131828, [] ) -8308d 484 0 CALL: prolog:get_code('$stream'(3), _131829 ) -8309d 484 0 CALL: prolog:\=(50, -1 ) -8310d 195 0 CALL: os:get_codes('$stream'(3), _131830, [] ) -8311d 494 0 CALL: prolog:get_code('$stream'(3), _131831 ) -8312d 494 0 CALL: prolog:\=(32, -1 ) -8313d 195 0 CALL: os:get_codes('$stream'(3), _131832, [] ) -8314d 504 0 CALL: prolog:get_code('$stream'(3), _131833 ) -8315d 504 0 CALL: prolog:\=(61, -1 ) -8316d 195 0 CALL: os:get_codes('$stream'(3), _131834, [] ) -8317d 514 0 CALL: prolog:get_code('$stream'(3), _131835 ) -8318d 514 0 CALL: prolog:\=(32, -1 ) -8319d 195 0 CALL: os:get_codes('$stream'(3), _131836, [] ) -8320d 524 0 CALL: prolog:get_code('$stream'(3), _131837 ) -8321d 524 0 CALL: prolog:\=(76, -1 ) -8322d 195 0 CALL: os:get_codes('$stream'(3), _131838, [] ) -8323d 534 0 CALL: prolog:get_code('$stream'(3), _131839 ) -8324d 534 0 CALL: prolog:\=(49, -1 ) -8325d 195 0 CALL: os:get_codes('$stream'(3), _131840, [] ) -8326d 544 0 CALL: prolog:get_code('$stream'(3), _131841 ) -8327d 544 0 CALL: prolog:\=(10, -1 ) -8328d 195 0 CALL: os:get_codes('$stream'(3), _131842, [] ) -8329d 554 0 CALL: prolog:get_code('$stream'(3), _131843 ) -8330d 554 0 CALL: prolog:\=(76, -1 ) -8331d 195 0 CALL: os:get_codes('$stream'(3), _131844, [] ) -8332d 564 0 CALL: prolog:get_code('$stream'(3), _131845 ) -8333d 564 0 CALL: prolog:\=(50, -1 ) -8334d 195 0 CALL: os:get_codes('$stream'(3), _131846, [] ) -8335d 574 0 CALL: prolog:get_code('$stream'(3), _131847 ) -8336d 574 0 CALL: prolog:\=(10, -1 ) -8337d 195 0 CALL: os:get_codes('$stream'(3), _131848, [] ) -8338d 584 0 CALL: prolog:get_code('$stream'(3), _131849 ) -8339d 584 0 CALL: prolog:\=(-1, -1 ) -8340d 584 0 FAIL RETRY: os:get_codes('$stream'(3), _131848, [] ) -8341d 195 0 CALL: prolog:close('$stream'(3) ) -8342d 195 0 CALL: operating_system_support:md5([64,66,68,68,49,10,50,10,48,10,50,10,76,49,32,61,32,120,48,32,43,32,120,49,10,76,50,32,61,32,76,49,10,76,50,10], _130966, [] ) -8343d 195 0 CALL: prolog:format('~s => ~s~n', os:[[64,66,68,68,49,10,50,10,48,10,50,10,76,49,32,61,32,120,48,32,43,32,120,49,10,76,50,32,61,32,76,49,10,76,50,10],[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102]] ) -8344d 195 0 TRY_OR -8345d 209 0 CALL: prolog:==(195, 195 ) -8346d 140 0 CALL: problog_lfi:calc_all_md5([], _130962 ) -8347d 140 0 CALL: prolog:findall(a(_131921,_131922,_131923), problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), _1048428 ) -8348d 140 0 CALL: prolog:must_be_of_type(list_or_partial_list, _1048428 ) -8349d 176 0 FAIL RETRY: prolog:must_be_of_type(list_or_partial_list, _1048428 ) -8350d 140 0 TRY_OR -8351d 183 0 CALL: error:has_type(list_or_partial_list, _1048428 ) -8352d 183 0 CALL: error:is_list_or_partial_list(_1048428 ) -8353d 183 0 CALL: prolog:$skip_list(_131954, _1048428, _131955 ) -8354d 140 0 CALL: prolog:$findall(a(_131921,_131922,_131923), problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), [], _131955 ) -8355d 140 0 CALL: nb:nb_queue(_1048408 ) -8356d 140 0 TRY_OR -8357d 177 0 CALL: prolog:$execute(problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)) ) -8358d 177 0 CALL: prolog:$call(problog_lfi: (bagof(a(_130927,_130928),memxbber(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), 177, problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), user ) -8359d 188 0 FAIL RETRY: prolog:$call(problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), 177, problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), user ) -8360d 177 0 CALL: prolog:$call(bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923), 177, problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), problog_lfi ) -8361d 177 0 CALL: prolog:$call(bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933), 177, problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), problog_lfi ) -8362d 219 0 FAIL RETRY: prolog:$call(bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933), 177, problog_lfi: (bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933),nth1(1,_131933,a(_131921,_131922)),length(_131933,_131923)), problog_lfi ) -8363d 177 0 CALL: prolog:$execute0(bagof(a(_130927,_130928),member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_131933), problog_lfi ) -8364d 177 0 CALL: prolog:bagof(a(_130927,_130928), member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _131933 ) -8365d 177 0 CALL: prolog:$is_list_or_partial_list(_131933 ) -8366d 177 0 CALL: prolog:$bagof(a(_130927,_130928), member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _131933 ) -8367d 177 0 CALL: prolog:$free_variables_in_term(a(_130927,_130928)^member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048359, _1048357 ) -8368d 177 0 TRY_OR -8369d 229 0 CALL: prolog:\==($(_131940), $ ) -8370d 177 0 CALL: prolog:$findall_with_common_vars($(_131940)-a(_130927,_130928), member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048355 ) -8371d 177 0 CALL: nb:nb_queue(_1048348 ) -8372d 177 0 TRY_OR -8373d 237 0 CALL: prolog:$execute(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]) ) -+s 0x5602af2dda90 - @0x7efdd88a31a8 0 -8374d 237 0 CALL: prolog:$call(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), 237, member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8375d 248 0 FAIL RETRY: prolog:$call(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), 237, member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8376d 237 0 CALL: prolog:$execute0(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8377d 237 0 CALL: user:member(a(_130927,_130928,_131940), [a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])] ) -8378d 237 0 CALL: prolog:$undefp([user|member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])], error ) -8379d 237 0 CALL: prolog:yap_flag(unknown, error, fail ) -8380d 237 0 CALL: prolog:$stop_creeping(_1048325 ) -8381d 237 0 TRY_OR -8382d 261 0 CALL: prolog:$undefp_search(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140175:_140176 ) -8383d 270 0 CALL: prolog:$pred_exists(unknown_predicate_handler(_140178,_140179,_140180,_140181), user ) -8384d 270 0 FAIL RETRY: prolog:$undefp_search(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140175:_140176 ) -8385d 261 0 CALL: prolog:expand_goal(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140175:_140176 ) -8386d 261 0 CALL: prolog:$expand_meta_call(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), [], _140175:_140176 ) -8387d 261 0 CALL: prolog:source_module(_140177 ) -8388d 261 0 CALL: prolog:$yap_strip_module(user:user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048305, _140181 ) -8389d 261 0 CALL: prolog:$expand_goals(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, []- (user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])) ) -8390d 285 0 FAIL RETRY: prolog:$expand_goals(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, []- (user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])) ) -8391d 285 0 FAIL RETRY: prolog:$expand_goals(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, []- (user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])) ) -8392d 285 0 FAIL RETRY: prolog:$expand_goals(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, []- (user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])) ) -8393d 261 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140188, _140189 ) -8394d 261 0 CALL: prolog:$expand_goal(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, []- (user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])])) ) -8395d 261 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140193, _140194 ) -8396d 261 0 CALL: prolog:$user_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140199:_140200 ) -8397d 295 0 CALL: prolog:_user_expand_goal(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140202:_140203 ) -8400d 295 0 FAIL RETRY: prolog:$user_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140199:_140200 ) -8401d 261 0 CALL: prolog:$import_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140202:_140203 ) -8402d 294 0 CALL: prolog:$imported_predicate(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8403d 310 0 CALL: prolog:$is_system_predicate(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), prolog ) -8404d 310 0 FAIL RETRY: prolog:$imported_predicate(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8405d 294 0 CALL: prolog:$undefined(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8406d 294 0 CALL: prolog:$get_undefined_predicates(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8407d 317 0 CALL: prolog:recorded('$import', '$import'(_140205,user,_140207,member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),_140209,_140210), _1048248 ) -8408d 317 0 FAIL RETRY: prolog:$get_undefined_predicates(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8409d 317 0 CALL: prolog:$pred_exists(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8410d 317 0 FAIL RETRY: prolog:$get_undefined_predicates(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8411d 317 0 CALL: prolog:recorded('$dialect', swi, _1048243 ) -8412d 317 0 FAIL RETRY: prolog:$get_undefined_predicates(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, _140203, _140202 ) -8413d 294 0 CALL: prolog:$parent_module(user, _1048261 ) -8414d 294 0 FAIL RETRY: prolog:$import_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140202:_140203 ) -8415d 261 0 CALL: prolog:$meta_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, [], _1048293 ) -8416d 293 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140205, _1048272 ) -8417d 293 0 CALL: prolog:functor(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140208, _140209 ) -8418d 293 0 CALL: prolog:$meta_predicate(member, user, 2, _1048273 ) -8419d 293 0 FAIL RETRY: prolog:$meta_expansion(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, [], _1048293 ) -8420d 261 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140205, _140206 ) -8421d 261 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140207, _140208 ) -8422d 261 0 CALL: prolog:$end_goal_expansion(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048304, _1048306, user, user, user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]) ) -8423d 261 0 CALL: prolog:$match_mod(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user, user, _1048304 ) -8424d 261 0 CALL: prolog:$is_system_predicate(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8425d 261 0 TRY_OR -8426d 299 0 CALL: prolog:==(user, user ) -8427d 299 0 CALL: prolog:==(user, user ) -8428d 261 0 CALL: prolog:$c_built_in(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048295 ) -8429d 292 0 CALL: prolog:get_value('$c_arith', true ) -8430d 261 0 CALL: prolog:do_c_built_in(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048295 ) -8431d 303 0 FAIL RETRY: prolog:do_c_built_in(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048295 ) -8432d 303 0 CALL: prolog:$compop(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048257, _1048258, _1048260 ) -8433d 303 0 FAIL RETRY: prolog:do_c_built_in(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048295 ) -8434d 303 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140212, _140213 ) -8435d 303 0 CALL: prolog:$match_mod(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user, user, _1048306 ) -8436d 303 0 CALL: prolog:$is_system_predicate(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8437d 303 0 TRY_OR -8438d 319 0 CALL: prolog:==(user, user ) -8439d 319 0 CALL: prolog:==(user, user ) -8440d 303 0 CALL: prolog:$yap_strip_module(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140175, _140176 ) -8441d 303 0 TRY_OR -8442d 311 0 CALL: prolog:\==(user, user ) -8444d 303 0 CALL: prolog:\==(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]) ) -8445d 303 0 FAIL RETRY: prolog:do_c_built_in(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user, user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _1048295 ) -8447d 237 0 CALL: prolog:yap_flag(unknown, _1048329, error ) -8448d 237 0 CALL: prolog:$handle_error(error, member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), user ) -8449d 237 0 CALL: prolog:functor(member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]), _140172, _140173 ) -8450d 237 0 CALL: prolog:program_continuation(_140171, _140172, _140173 ) -8451d 237 0 CALL: prolog:clause_location(_140174, _140175 ) -8452d 237 0 CALL: prolog:strip_module(prolog:context(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4), _140203, _140204 ) -8453d 237 0 CALL: prolog:throw(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8454d 237 0 CALL: prolog:$jump_env_and_store_ball(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130927,_130928,_131940),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -+s 0x5602aecefa50 - @0x7efdd88a31a8 0 -8455d 78 0 FAIL RETRY: prolog:$catch(prolog:once(user: (start_low_level_trace,do_learning(100))), _130911, user:'$Error'(_130911) ) -8456d 63 0 CALL: prolog:$get_exception(_130911 ) -- 0x5602aecefa50 - @0x7efdd88a3078 63 -8457d 63 0 CALL: prolog:$run_catch(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])), error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8458d 77 0 FAIL RETRY: prolog:$run_catch(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])), error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8459d 77 0 FAIL RETRY: prolog:$run_catch(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])), error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8460d 77 0 CALL: prolog:functor(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), _131132, _131133 ) -8461d 77 0 CALL: prolog:$hidden_atom(error ) -8462d 77 0 FAIL RETRY: prolog:$run_catch(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])), error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8463d 63 0 CALL: prolog:call(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])) ) -8464d 63 0 CALL: prolog:$execute(user:'$Error'(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]])) ) -8465d 63 0 CALL: prolog:$Error(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8466d 63 0 CALL: prolog:$LoopError(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), top ) -8467d 77 0 CALL: prolog:flush_output(user_output ) -@BDD1 -2 -0 -2 -L1 = x0 + x1 -L2 = L1 -L2 - => 82dd14d88adc9c3ef9bad8c3f905ecaf -8468d 77 0 CALL: prolog:flush_output(user_error ) -8469d 77 0 FAIL RETRY: prolog:$LoopError(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), top ) -8470d 63 0 CALL: prolog:$process_error(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), top ) -8471d 91 0 FAIL RETRY: prolog:$process_error(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), top ) -8472d 91 0 CALL: prolog:functor(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), _131132, _131133 ) -8473d 91 0 CALL: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8474d 105 0 TRY_OR -8475d 121 0 CALL: prolog:==(error, silent ) -8477d 105 0 CALL: prolog:$pred_exists(portray_message(_131132,_131133), user ) -8478d 105 0 CALL: user:portray_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8479d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8480d 105 0 CALL: prolog:current_prolog_flag(verbose_load, silent ) -8481d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8482d 105 0 CALL: prolog:current_prolog_flag(verbose, silent ) -8483d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8484d 105 0 CALL: prolog:__NB_getval__('$if_skip_mode', skip, fail ) -8485d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8486d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8487d 105 0 CALL: prolog:message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), _1048459, [end(_131134)] ) -8488d 105 0 FAIL RETRY: prolog:print_message(error, error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]) ) -8489d 105 0 CALL: $messages:translate_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _1048459, [end(_131134)] ) -8490d 128 0 CALL: $messages:compose_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _1048459, [end(_131134)] ) -8491d 144 0 CALL: prolog:C(_1048459, ' ~w:'-[error], _1048424 ) -8492d 144 0 CALL: prolog:message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), _131141, [end(_131134)] ) -8493d 144 0 FAIL RETRY: $messages:compose_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _1048459, [end(_131134)] ) -8494d 144 0 FAIL RETRY: $messages:compose_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _1048459, [end(_131134)] ) -8495d 144 0 CALL: prolog:$show_consult_level(_1048416 ) -8496d 144 0 CALL: $messages:location(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _1048459, _1048417 ) -8497d 171 0 FAIL RETRY: $messages:location(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _1048459, _1048417 ) -8498d 171 0 FAIL RETRY: $messages:location(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _1048459, _1048417 ) -8499d 171 0 CALL: prolog:source_location(_1048392, _1048393 ) -8500d 171 0 CALL: prolog:stream_property(_1048387, alias(loop_stream) ) -8501d 144 0 CALL: $messages:display_consulting(charsio, error, 0, _1048459, _1048391 ) -8502d 197 0 CALL: prolog:>(0, 0 ) -8503d 197 0 FAIL RETRY: $messages:display_consulting(charsio, error, 0, _1048459, _1048391 ) -8504d 144 0 CALL: lists:memberchk([p|p(_131142,_131143,_131144,_131145,_131146)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8505d 193 0 FAIL RETRY: lists:memberchk([p|p(_131142,_131143,_131144,_131145,_131146)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8506d 144 0 CALL: lists:memberchk([p|p(_131142,_131143,_131144,_131145,_131146)], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8507d 144 0 CALL: prolog:C(_1048459, '~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3], _1048417 ) -8508d 144 0 CALL: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8509d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8510d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8511d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8512d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8513d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8514d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8515d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8516d 169 0 FAIL RETRY: $messages:main_message(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, 0, _131163, _1048418 ) -8517d 144 0 CALL: prolog:C(_131163, ' ~a: ~q ~q could not be found,'-[error,procedure,member/2], _1048399 ) -8518d 144 0 CALL: prolog:C(_131174, nl, _1048418 ) -8519d 144 0 CALL: $messages:c_goal(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _131176, _1048419 ) -8520d 167 0 CALL: lists:memberchk([c|c(_131180,_131181,_131182)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8521d 188 0 FAIL RETRY: lists:memberchk([c|c(_131180,_131181,_131182)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8522d 167 0 CALL: lists:memberchk([c|c(_131180,_131181,_131182)], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8523d 188 0 FAIL RETRY: lists:memberchk([c|c(_131180,_131181,_131182)], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8524d 167 0 CALL: lists:memberchk([c|c(_131180,_131181,_131182)], [[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8525d 188 0 FAIL RETRY: lists:memberchk([c|c(_131180,_131181,_131182)], [[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8526d 167 0 CALL: lists:memberchk([c|c(_131180,_131181,_131182)], [[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8527d 188 0 FAIL RETRY: lists:memberchk([c|c(_131180,_131181,_131182)], [[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8528d 167 0 CALL: lists:memberchk([c|c(_131180,_131181,_131182)], [] ) -8529d 167 0 FAIL RETRY: $messages:c_goal(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _131176, _1048419 ) -8530d 144 0 CALL: $messages:caller(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _131176, _1048422 ) -8531d 166 0 CALL: lists:memberchk([p|p(_131180,_131181,_131182,_131183,_131184)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8532d 192 0 FAIL RETRY: lists:memberchk([p|p(_131180,_131181,_131182,_131183,_131184)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8533d 166 0 CALL: lists:memberchk([p|p(_131180,_131181,_131182,_131183,_131184)], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8534d 166 0 CALL: lists:memberchk([g|g(_131188)], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8535d 144 0 CALL: prolog:C(_131176, '~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)], _1048395 ) -8536d 144 0 CALL: prolog:C(_131197, nl, _1048396 ) -8537d 144 0 CALL: prolog:C(_131199, '~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0], _1048402 ) -8538d 144 0 CALL: prolog:C(_131216, nl, _1048422 ) -8539d 144 0 CALL: $messages:extra_info(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _131218, _1048423 ) -8540d 163 0 CALL: lists:memberchk([i|_131220], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8541d 181 0 FAIL RETRY: lists:memberchk([i|_131220], [[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8542d 163 0 CALL: lists:memberchk([i|_131220], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8543d 181 0 FAIL RETRY: lists:memberchk([i|_131220], [[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8544d 163 0 CALL: lists:memberchk([i|_131220], [[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8545d 181 0 FAIL RETRY: lists:memberchk([i|_131220], [[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8546d 163 0 CALL: lists:memberchk([i|_131220], [[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8547d 181 0 FAIL RETRY: lists:memberchk([i|_131220], [[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]] ) -8548d 163 0 CALL: lists:memberchk([i|_131220], [] ) -8549d 163 0 FAIL RETRY: $messages:extra_info(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, _131218, _1048423 ) -8550d 128 0 CALL: prolog:C(_131218, nl, _1048424 ) -8551d 128 0 CALL: prolog:C(_131220, nl, [end(_131134)] ) -8552d 105 0 TRY_OR -8553d 123 0 CALL: user:message_hook(error(existence_error(procedure,member/2),[[g|g(prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4))],[p|p(prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0)],[e|p(problog_lfi,create_training_query_cluster_list,1,'/home/vsc/github/yap-6.3/packages/ProbLog/problog_lfi.yap',708)],[h|g('$handle_error'(error,member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),user))]]), error, [begin(error,_131134),'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)] ) -8555d 105 0 CALL: $messages:prefix(error, _1048463 ) -8556d 105 0 CALL: prolog:print_message_lines(user_error, '~N'-[], [begin(error,_131134),'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)] ) -8557d 105 0 TRY_OR -8558d 129 0 CALL: prolog:string('~N'-[] ) -8560d 105 0 TRY_OR -8562d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8563d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8564d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8565d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8566d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8567d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131237), [] ) -8568d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8569d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8570d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8571d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8572d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8573d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048446 ) -8574d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8575d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131237), _1048446 ) -8576d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8577d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], begin(_131237,_131238), _1048442 ) -8578d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8579d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131239-_131240), _1048446 ) -8580d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8581d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131237), _1048446 ) -8582d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8583d 122 0 CALL: prolog:C(['~N'-[],'~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], _131237-_131238, _1048446 ) -8584d 105 0 CALL: prolog:format(user_error, '~N', '$messages':[] ) -8585d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8586d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8587d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8588d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8589d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8590d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131243), [] ) -8591d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8592d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8593d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8594d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8595d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8596d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048446 ) -8597d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8598d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131243), _1048446 ) -8599d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8600d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], begin(_131243,_131244), _1048442 ) -8601d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8602d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131245-_131246), _1048446 ) -8603d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8604d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131243), _1048446 ) -8605d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8606d 122 0 CALL: prolog:C(['~a:~d:0 ~a in ~a:~q/~d:'-[charsio,1,error,prolog,'$handle_error',3],' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], _131243-_131244, _1048446 ) -8607d 105 0 CALL: prolog:format(user_error, '~a:~d:0 ~a in ~a:~q/~d:', '$messages':[charsio,1,error,prolog,'$handle_error',3] ) -charsio:1:0 error in prolog:'$handle_error'/3:8608d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8609d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8610d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8611d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8612d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8613d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131253), [] ) -8614d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8615d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8616d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8617d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8618d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8619d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048446 ) -8620d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8621d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131253), _1048446 ) -8622d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8623d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], begin(_131253,_131254), _1048442 ) -8624d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8625d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131255-_131256), _1048446 ) -8626d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8627d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131253), _1048446 ) -8628d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8629d 122 0 CALL: prolog:C([' ~a: ~q ~q could not be found,'-[error,procedure,member/2],nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], _131253-_131254, _1048446 ) -8630d 105 0 CALL: prolog:format(user_error, ' ~a: ~q ~q could not be found,', '$messages':[error,procedure,member/2] ) - error: procedure member/2 could not be found,8631d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8632d 122 0 CALL: prolog:C([nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8633d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131262), [] ) -8634d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8635d 122 0 CALL: prolog:C([nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8636d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8637d 122 0 CALL: prolog:C([nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131262), [] ) -8638d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8639d 122 0 CALL: prolog:C([nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8640d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8641d 122 0 CALL: prolog:C([nl,'~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8642d 105 0 CALL: prolog:nl(user_error ) - -8643d 105 0 CALL: prolog:format(user_error, '~N', '$messages':[] ) -8644d 105 0 TRY_OR -8645d 142 0 CALL: prolog:==([], [] ) -8646d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8647d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8648d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8649d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8650d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8651d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131266), [] ) -8652d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8653d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8654d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8655d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8656d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8657d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048446 ) -8658d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8659d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131266), _1048446 ) -8660d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8661d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], begin(_131266,_131267), _1048442 ) -8662d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8663d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131268-_131269), _1048446 ) -8664d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8665d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131266), _1048446 ) -8666d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8667d 122 0 CALL: prolog:C(['~*|goal was ~q'-[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)],nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], _131266-_131267, _1048446 ) -8668d 105 0 CALL: prolog:format(user_error, '~*|goal was ~q', '$messages':[10,prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)] ) - goal was prolog:context(user:member(a(_130945,_130946,_130947),[a(1,1,[56,50,100,100,49,52,100,56,56,97,100,99,57,99,51,101,102,57,98,97,100,56,99,51,102,57,48,53,101,99,97,102])]),prolog:'$call'/4)8669d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8670d 122 0 CALL: prolog:C([nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8671d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131273), [] ) -8672d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8673d 122 0 CALL: prolog:C([nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8674d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8675d 122 0 CALL: prolog:C([nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131273), [] ) -8676d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8677d 122 0 CALL: prolog:C([nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8678d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8679d 122 0 CALL: prolog:C([nl,'~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8680d 105 0 CALL: prolog:nl(user_error ) - -8681d 105 0 CALL: prolog:format(user_error, '~N', '$messages':[] ) -8682d 105 0 TRY_OR -8683d 142 0 CALL: prolog:==([], [] ) -8684d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8685d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048443 ) -8686d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8687d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048443 ) -8688d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8689d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131277), [] ) -8690d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8691d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8692d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8693d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], nl, _1048446 ) -8694d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8695d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], flush, _1048446 ) -8696d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8697d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], end(_131277), _1048446 ) -8698d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8699d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], begin(_131277,_131278), _1048442 ) -8700d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8701d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131279-_131280), _1048446 ) -8702d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8703d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], prefix(_131277), _1048446 ) -8704d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, ['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], [] ) -8705d 122 0 CALL: prolog:C(['~*|exception raised from ~a:~q:~d, ~a:~d:0: '-[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0],nl,nl,nl,end(_131134)], _131277-_131278, _1048446 ) -8706d 105 0 CALL: prolog:format(user_error, '~*|exception raised from ~a:~q:~d, ~a:~d:0: ', '$messages':[10,prolog,'$handle_error',3,'/home/vsc/github/yap-6.3/pl/undefined.yap',0] ) - exception raised from prolog:'$handle_error':3, /home/vsc/github/yap-6.3/pl/undefined.yap:0:0: 8707d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,nl,end(_131134)], [] ) -8708d 122 0 CALL: prolog:C([nl,nl,nl,end(_131134)], nl, _1048443 ) -8709d 122 0 CALL: prolog:C([nl,nl,end(_131134)], end(_131286), [] ) -8710d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,nl,end(_131134)], [] ) -8711d 122 0 CALL: prolog:C([nl,nl,nl,end(_131134)], flush, _1048443 ) -8712d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,nl,end(_131134)], [] ) -8713d 122 0 CALL: prolog:C([nl,nl,nl,end(_131134)], end(_131286), [] ) -8714d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,nl,end(_131134)], [] ) -8715d 122 0 CALL: prolog:C([nl,nl,nl,end(_131134)], at_same_line, _1048446 ) -8716d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,nl,end(_131134)], [] ) -8717d 122 0 CALL: prolog:C([nl,nl,nl,end(_131134)], nl, _1048446 ) -8718d 105 0 CALL: prolog:nl(user_error ) - -8719d 105 0 CALL: prolog:format(user_error, '~N', '$messages':[] ) -8720d 105 0 TRY_OR -8721d 142 0 CALL: prolog:==([], [] ) -8722d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,end(_131134)], [] ) -8723d 122 0 CALL: prolog:C([nl,nl,end(_131134)], nl, _1048443 ) -8724d 122 0 CALL: prolog:C([nl,end(_131134)], end(_131290), [] ) -8725d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,end(_131134)], [] ) -8726d 122 0 CALL: prolog:C([nl,nl,end(_131134)], flush, _1048443 ) -8727d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,end(_131134)], [] ) -8728d 122 0 CALL: prolog:C([nl,nl,end(_131134)], end(_131290), [] ) -8729d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,end(_131134)], [] ) -8730d 122 0 CALL: prolog:C([nl,nl,end(_131134)], at_same_line, _1048446 ) -8731d 122 0 FAIL RETRY: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,nl,end(_131134)], [] ) -8732d 122 0 CALL: prolog:C([nl,nl,end(_131134)], nl, _1048446 ) -8733d 105 0 CALL: prolog:nl(user_error ) - -8734d 105 0 CALL: prolog:format(user_error, '~N', '$messages':[] ) -8735d 105 0 TRY_OR -8736d 142 0 CALL: prolog:==([], [] ) -8737d 105 0 CALL: $messages:print_lines(user_error, ['~N'-[]], _131134, [nl,end(_131134)], [] ) -8738d 122 0 CALL: prolog:C([nl,end(_131134)], nl, _1048443 ) -8739d 122 0 CALL: prolog:C([end(_131134)], end(_131294), [] ) -8740d 122 0 CALL: prolog:==(_131134, _131134 ) -8741d 105 0 CALL: prolog:nl(user_error ) - -8742d 105 0 CALL: prolog:flush_output(user_error ) -8743d 63 0 FAIL RETRY: prolog:$startup_goals -8744d 63 0 CALL: prolog:recorded('$restore_flag', goal(_130901:_130902), _1048505 ) -8745d 63 0 FAIL RETRY: prolog:$startup_goals -8746d 63 0 CALL: prolog:get_value('$myddas_goal', _130898 ) -8747d 63 0 CALL: prolog:\=([], [] ) -8748d 63 0 FAIL RETRY: prolog:$startup_goals -8749d 50 0 FAIL RETRY: prolog:$init_from_saved_state_and_args -8750d 50 0 CALL: prolog:recorded('$restore_goal', _1048518, _1048517 ) -+s 0x5602af2e83e0 - @0x7efdd88a3078 0 -8751d 50 0 FAIL RETRY: prolog:$init_from_saved_state_and_args -8752d 37 0 FAIL RETRY: prolog:$do_init_state -8753d 37 0 CALL: prolog:stream_property(user_input, tty(true) ) -8754d 37 0 CALL: prolog:set_prolog_flag(readline, true ) -8755d 37 0 CALL: prolog:$db_clean_queues(0 ) -8756d 37 0 CALL: prolog:set_input(user_input ) -8757d 37 0 CALL: prolog:set_output(user_output ) -8758d 37 0 CALL: prolog:$init_or_threads -+s 0x5602af267ca0 - @0x7efdd88a3078 0 -+s 0x5602af2fc750 - @0x7efdd88a3078 0 -- 0x5602af267ca0 - @0x7efdd88a3078 37 -8759d 45 0 CALL: prolog:$c_yapor_workers(_130900 ) -8760d 45 0 FAIL RETRY: prolog:$init_or_threads -8761d 37 0 CALL: prolog:$run_at_thread_start -+s 0x5602af267ca0 - @0x7efdd88a3078 0 -+s 0x5602af1e08d0 - @0x7efdd88a3078 0 -- 0x5602af267ca0 - @0x7efdd88a3078 37 -8762d 45 0 CALL: prolog:recorded('$thread_initialization', _130901:_130902, _1048522 ) -8763d 45 0 FAIL RETRY: prolog:$run_at_thread_start -8764d 37 0 FAIL RETRY: prolog:$do_init_state -8765d 24 0 CALL: prolog:$db_clean_queues(0 ) -8766d 24 0 CALL: prolog:set_input(user_input ) -8767d 24 0 CALL: prolog:set_output(user_output ) -8768d 24 0 CALL: prolog:$init_or_threads -8769d 37 0 CALL: prolog:$c_yapor_workers(_130898 ) -8770d 37 0 FAIL RETRY: prolog:$init_or_threads -8771d 24 0 CALL: prolog:$run_at_thread_start -8772d 32 0 CALL: prolog:recorded('$thread_initialization', _130899:_130900, _1048535 ) -8773d 32 0 FAIL RETRY: prolog:$run_at_thread_start -8776d 24 0 CALL: prolog:$live -8777d 24 0 TRY_OR -8778d 38 0 CALL: prolog:$current_module(_1048545 ) -8779d 38 0 TRY_OR -8780d 46 0 CALL: prolog:==(user, user ) -8781d 38 0 CALL: prolog:$system_catch('$enter_top_level', user, _130898, '$Error'(_130898) ) -8782d 38 0 CALL: prolog:$catch(user:'$enter_top_level', _130898, '$Error'(_130898) ) -8783d 48 0 CALL: prolog:$execute(user:'$enter_top_level' ) -8784d 48 0 CALL: prolog:$enter_top_level -+s 0x5602af000ee0 - @0x7efdd88a3028 0 -+s 0x5602af314c50 - @0x7efdd88a3028 0 -- 0x5602af000ee0 - @0x7efdd88a3028 48 -8785d 62 0 CALL: prolog:$alarm(0, 0, _130904, _130905 ) -8786d 62 0 FAIL RETRY: prolog:$enter_top_level -8787d 62 0 CALL: prolog:$clean_up_dead_clauses -8788d 62 0 FAIL RETRY: prolog:$enter_top_level -8789d 62 0 CALL: prolog:get_value('$top_level_goal', _130904 ) -8790d 62 0 CALL: prolog:\=([], [] ) -8791d 62 0 FAIL RETRY: prolog:$enter_top_level -8792d 48 0 CALL: prolog:flush_output -8793d 48 0 CALL: prolog:$run_toplevel_hooks -+s 0x5602af267ca0 - @0x7efdd88a3028 0 -+s 0x5602af000ee0 - @0x7efdd88a3028 0 -- 0x5602af267ca0 - @0x7efdd88a3028 48 -8794d 72 0 CALL: prolog:current_prolog_flag(break_level, 0 ) -8795d 72 0 CALL: prolog:recorded('$toplevel_hooks', _1048496, _1048495 ) -+s 0x5602aeb59920 - @0x7efdd88a3028 0 -8796d 72 0 FAIL RETRY: prolog:$run_toplevel_hooks -8797d 48 0 CALL: prolog:prompt1(' ?- ' ) -8798d 48 0 CALL: prolog:$read_toplevel(_1048511, _1048512, _1048513 ) -8799d 48 0 CALL: prolog:$prompt -8800d 48 0 CALL: prolog:current_prolog_flag(break_level, _1048490 ) -8801d 48 0 TRY_OR -8802d 93 0 CALL: prolog:==(0, 0 ) -8803d 48 0 CALL: prolog:current_prolog_flag(debug, _1048491 ) -8804d 48 0 TRY_OR -8805d 92 0 CALL: prolog:$trace_on -8806d 92 0 CALL: prolog:__NB_getval__('$trace', on, fail ) -8808d 92 0 CALL: prolog:==(false, true ) -8810d 48 0 CALL: prolog:yap_flag(toplevel_prompt, _130905 ) -8811d 48 0 CALL: prolog:atomic_concat(['?- '], _1048497 ) -8812d 48 0 CALL: prolog:prompt1('?- ' ) -8813d 48 0 CALL: prolog:prompt(_130907, ' | ' ) -8814d 48 0 CALL: prolog:$ensure_prompting -8815d 48 0 CALL: prolog:catch(read_term(user_input,_130910,[variable_names(_130915),syntax_errors(dec10),term_position(_130923)]), _130924, '$handle_toplevel_error'(_130924) ) -8816d 48 0 CALL: prolog:$catch(read_term(user_input,_130910,[variable_names(_130915),syntax_errors(dec10),term_position(_130923)]), _130924, '$handle_toplevel_error'(_130924) ) -8817d 74 0 CALL: prolog:$execute(read_term(user_input,_130910,[variable_names(_130915),syntax_errors(dec10),term_position(_130923)]) ) -8818d 74 0 CALL: prolog:read_term(user_input, _130910, [variable_names(_130915),syntax_errors(dec10),term_position(_130923)] ) -8819d 74 0 CALL: prolog:read_term(user_input, _130910, [variable_names(_130915),syntax_errors(dec10),term_position(_130923)] ) -8820d 74 0 TRY_OR -8821d 88 0 CALL: prolog:==(74, 74 ) -8822d 48 0 CALL: prolog:nb_setval('$spy_gn', 1 ) -+s 0x5602aebff300 - @0x7efdd88a3038 0 -8823d 48 0 CALL: prolog:nb_setval('$debug_run', off ) -+s 0x5602aebfeb80 - @0x7efdd88a3038 0 -8824d 48 0 CALL: prolog:nb_setval('$debug_jump', off ) -+s 0x5602aec01760 - @0x7efdd88a3038 0 -8825d 48 0 CALL: prolog:$command(end_of_file, [], '$stream_position'(0,1,0,0), top ) -8826d 72 0 CALL: prolog:current_prolog_flag(strict_iso, true ) -8827d 72 0 FAIL RETRY: prolog:$command(end_of_file, [], '$stream_position'(0,1,0,0), top ) -8828d 48 0 TRY_OR -8829d 83 0 TRY_OR -8830d 48 0 CALL: prolog:$yap_strip_module(end_of_file, _1048503, _1048502 ) -8831d 48 0 CALL: prolog:$execute_command(end_of_file, user, [], '$stream_position'(0,1,0,0), top, end_of_file ) -8832d 87 0 FAIL RETRY: prolog:$execute_command(end_of_file, user, [], '$stream_position'(0,1,0,0), top, end_of_file ) -8833d 48 0 CALL: prolog:current_prolog_flag(break_level, _1048514 ) -8834d 48 0 TRY_OR -8835d 69 0 CALL: prolog:\=(0, 0 ) -8837d 69 0 CALL: prolog:$pred_exists(halt(_130950), user ) -8838d 48 0 CALL: prolog:halt(0 ) -+s 0x5602af3189d0 - @0x7efdd88a3038 0 -+s 0x5602af1cb240 - @0x7efdd88a3038 0 -- 0x5602af3189d0 - @0x7efdd88a3038 48 -8839d 62 0 CALL: prolog:recorded('$halt', _1048507, _1048506 ) -+s 0x5602aeb599d0 - @0x7efdd88a3038 0 -8840d 62 0 FAIL RETRY: prolog:halt(0 ) -8841d 48 0 CALL: prolog:$sync_mmapped_arrays -8842d 48 0 CALL: prolog:set_value('$live', '$false' ) -+s 0x5602af337e20 - @0x7efdd88a3038 0 -8843d 48 0 CALL: prolog:$halt(0 ) -- 0x5602af1062c0 - @0x7efdd88a3038 48 -- 0x5602af11b460 - @0x7efdd88a3038 48 -- 0x5602aef13000 - @0x7efdd88a3038 48 -- 0x5602aebf0ae0 - @0x7efdd88a3038 48 -- 0x5602aec40450 - @0x7efdd88a3038 48 -- 0x5602aee7c620 - @0x7efdd88a3038 48 -- 0x5602aee75c30 - @0x7efdd88a3038 48 -- 0x5602aebd1b10 - @0x7efdd88a3038 48 From e5748f3c9fb48cabfb6b64440dae96685e5cfff8 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 17 Jul 2018 11:43:57 +0100 Subject: [PATCH 09/57] error --- C/errors.c | 6 +- C/yap-args.c | 86 ++--- CXX/yapdb.hh | 77 ++-- CXX/yapi.cpp | 12 +- CXX/yapq.hh | 31 +- H/Yatom.h | 173 +++------ console/terminal/console.h | 26 +- include/YapError.h | 75 ++-- library/ytest/preds.yap | 2 +- packages/python/python.c | 1 + packages/python/swig/setup.py.in | 1 + packages/python/swig/yap4py/yapi.py | 1 + packages/python/yap_kernel/CMakeLists.txt | 1 - .../yap_kernel/yap_ipython/prolog/jupyter.yap | 110 +----- .../yap_kernel/yap_ipython/prolog/verify.yap | 190 +++++++--- .../python/yap_kernel/yap_ipython/yapi.py | 11 +- .../python/yap_kernel/yap_kernel/ipkernel.py | 2 +- packages/swig/yap.i | 336 +++++++++--------- pl/consult.yap | 7 +- pl/imports.yap | 69 ++++ pl/messages.yap | 2 +- pl/modules.yap | 46 --- pl/preds.yap | 61 ++-- 23 files changed, 654 insertions(+), 672 deletions(-) diff --git a/C/errors.c b/C/errors.c index daf573a35..65ede1582 100755 --- a/C/errors.c +++ b/C/errors.c @@ -589,7 +589,7 @@ yap_error_descriptor_t *Yap_popErrorContext(bool mdnew, bool pass) { // last block LOCAL_ActiveError = ep; if (e->errorNo && !ep->errorNo && pass) { - yap_error_descriptor_t *epp = ep->top_error; + yap_error_descriptor_t *epp = ep->top_error; memmove(ep, e, sizeof(*e)); ep->top_error = epp; } @@ -960,7 +960,9 @@ yap_error_descriptor_t *Yap_GetException(yap_error_descriptor_t *i) { return 0; } -void Yap_PrintException(void) { printErr(LOCAL_ActiveError); } +void Yap_PrintException(yap_error_descriptor_t *i) { + printErr(LOCAL_ActiveError); +} bool Yap_RaiseException(void) { if (LOCAL_ActiveError == NULL || diff --git a/C/yap-args.c b/C/yap-args.c index e7be80153..9c621e45c 100755 --- a/C/yap-args.c +++ b/C/yap-args.c @@ -145,11 +145,12 @@ static void init_globals(YAP_init_args *yap_init) { } const char *Yap_BINDIR, *Yap_ROOTDIR, *Yap_SHAREDIR, *Yap_LIBDIR, *Yap_DLLDIR, - *Yap_PLDIR, *Yap_BOOTSTRAP, *Yap_COMMONSDIR, - *Yap_INPUT_STARTUP, *Yap_OUTPUT_STARTUP, *Yap_BOOTFILE, *Yap_INCLUDEDIR; + *Yap_PLDIR, *Yap_BOOTSTRAP, *Yap_COMMONSDIR, *Yap_INPUT_STARTUP, + *Yap_OUTPUT_STARTUP, *Yap_BOOTFILE, *Yap_INCLUDEDIR; /** - * consult loop in C: used to boot the system, butt supports goal execution and recursive consulting. + * consult loop in C: used to boot the system, butt supports goal execution and + * recursive consulting. * * */ static bool consult(const char *b_file USES_REGS) { @@ -184,15 +185,15 @@ static bool consult(const char *b_file USES_REGS) { Term vs = MkVarTerm(), pos = MkVarTerm(); t = YAP_ReadClauseFromStream(c_stream, vs, pos); // Yap_GetNèwSlot(t); - if (t == TermEof) - break; + if (t == TermEof) + break; if (t == 0) { fprintf(stderr, "[ SYNTAX ERROR: while parsing stream %s at line %ld ]\n", b_file, GLOBAL_Stream[c_stream].linecount); } else if (IsVarTerm(t) || t == TermNil) { fprintf(stderr, "[ line: " Int_FORMAT ": term cannot be compiled ]", GLOBAL_Stream[c_stream].linecount); - } else if (IsApplTerm(t) && (FunctorOfTerm(t) == functor_query || + } else if (IsApplTerm(t) && (FunctorOfTerm(t) == functor_query || FunctorOfTerm(t) == functor_command1)) { t = ArgOfTerm(1, t); if (IsApplTerm(t) && FunctorOfTerm(t) == functor_compile2) { @@ -201,13 +202,12 @@ static bool consult(const char *b_file USES_REGS) { YAP_RunGoalOnce(t); } } else { - YAP_CompileClause(t); + YAP_CompileClause(t); } yap_error_descriptor_t *errd; - if ((errd = - Yap_GetException(LOCAL_ActiveError))) { - fprintf(stderr, "%s:%ld:0: Error %s %s Found\n", errd->errorFile, (long int) errd->errorLine, errd->classAsText, - errd->errorAsText); + if ((errd = Yap_GetException(LOCAL_ActiveError))) { + fprintf(stderr, "%s:%ld:0: Error %s %s Found\n", errd->errorFile, + (long int)errd->errorLine, errd->classAsText, errd->errorAsText); } } while (true); BACKUP_MACHINE_REGS(); @@ -216,14 +216,14 @@ static bool consult(const char *b_file USES_REGS) { pop_text_stack(lvl); return false; } - pop_text_stack(lvl); - return true; + pop_text_stack(lvl); + return true; } /// /// -static const char *sel(bool dir, bool ok1, const char *s1, bool ok2, const char *s2, - ...) { +static const char *sel(bool dir, bool ok1, const char *s1, bool ok2, + const char *s2, ...) { if (ok1 && s1) return s1; if (ok2) @@ -768,7 +768,7 @@ X_API YAP_file_type_t YAP_parse_yap_arguments(int argc, char *argv[], argv++; iap->PrologTopLevelGoal = add_end_dot(*argv); } - iap->HaltAfterBoot = true; + iap->HaltAfterBoot = true; break; case 'n': if (!strcmp("nosignals", p)) { @@ -941,15 +941,15 @@ static void init_hw(YAP_init_args *yap_init, struct ssz_t *spt) { if (yap_init->Embedded) { yap_init->install = false; GLOBAL_PrologShouldHandleInterrupts = -yap_init->PrologCannotHandleInterrupts = true; + yap_init->PrologCannotHandleInterrupts = true; } else { GLOBAL_PrologShouldHandleInterrupts = - !yap_init->PrologCannotHandleInterrupts; + !yap_init->PrologCannotHandleInterrupts; } - Yap_InitSysbits(0); /* init signal handling and time, required by later - functions */ - GLOBAL_argv = yap_init->Argv; - GLOBAL_argc = yap_init->Argc; + Yap_InitSysbits(0); /* init signal handling and time, required by later + functions */ + GLOBAL_argv = yap_init->Argv; + GLOBAL_argc = yap_init->Argc; #if __ANDROID__ @@ -982,7 +982,8 @@ yap_init->PrologCannotHandleInterrupts = true; static void end_init(YAP_init_args *iap) { YAP_initialized = true; - if (iap->HaltAfterBoot) Yap_exit(0); + if (iap->HaltAfterBoot) + Yap_exit(0); LOCAL_PrologMode &= ~BootMode; CurrentModule = USER_MODULE; } @@ -1022,9 +1023,9 @@ X_API void YAP_Init(YAP_init_args *yap_init) { CACHE_REGS - if (yap_init->QuietMode) { - setVerbosity(TermSilent); - } + if (yap_init->QuietMode) { + setVerbosity(TermSilent); + } if (yap_init->PrologRCFile != NULL) { /* This must be done before restore, otherwise @@ -1037,15 +1038,15 @@ X_API void YAP_Init(YAP_init_args *yap_init) { Yap_ExecutionMode = yap_init->ExecutionMode; Yap_set_locations(yap_init); - if (do_bootstrap || - !try_restore || + if (do_bootstrap || !try_restore || !Yap_SavedInfo(Yap_INPUT_STARTUP, &minfo.Trail, &minfo.Stack, - &minfo.Heap) ) { + &minfo.Heap)) { init_globals(yap_init); start_modules(); - CurrentModule = PROLOG_MODULE; - TermEof = MkAtomTerm( Yap_LookupAtom("end_of_file")); + CurrentModule = PROLOG_MODULE; + TermEof = MkAtomTerm(Yap_LookupAtom("end_of_file")); + LOCAL_consult_level = -1; consult(Yap_BOOTSTRAP PASS_REGS); setAtomicGlobalPrologFlag(RESOURCE_DATABASE_FLAG, MkAtomTerm(Yap_LookupAtom(Yap_BOOTFILE))); @@ -1056,21 +1057,22 @@ X_API void YAP_Init(YAP_init_args *yap_init) { start_modules(); if (yap_init->install && Yap_OUTPUT_STARTUP) { - setAtomicGlobalPrologFlag(RESOURCE_DATABASE_FLAG, - MkAtomTerm(Yap_LookupAtom(Yap_INPUT_STARTUP))); - setBooleanGlobalPrologFlag(SAVED_PROGRAM_FLAG, true); - } + setAtomicGlobalPrologFlag(RESOURCE_DATABASE_FLAG, + MkAtomTerm(Yap_LookupAtom(Yap_INPUT_STARTUP))); + setBooleanGlobalPrologFlag(SAVED_PROGRAM_FLAG, true); + } + LOCAL_consult_level = -1; } YAP_RunGoalOnce(TermInitProlog); - if (yap_init->install && Yap_OUTPUT_STARTUP) { - Term t = MkAtomTerm(Yap_LookupAtom(Yap_OUTPUT_STARTUP)); - Term g = Yap_MkApplTerm(Yap_MkFunctor(Yap_LookupAtom("qsave_program"), 1), - 1, &t); + if (yap_init->install && Yap_OUTPUT_STARTUP) { + Term t = MkAtomTerm(Yap_LookupAtom(Yap_OUTPUT_STARTUP)); + Term g = Yap_MkApplTerm(Yap_MkFunctor(Yap_LookupAtom("qsave_program"), 1), + 1, &t); - YAP_RunGoalOnce(g); - } + YAP_RunGoalOnce(g); + } - end_init(yap_init); + end_init(yap_init); } #if (DefTrailSpace < MinTrailSpace) diff --git a/CXX/yapdb.hh b/CXX/yapdb.hh index 61d3ff0a9..e29340df7 100644 --- a/CXX/yapdb.hh +++ b/CXX/yapdb.hh @@ -2,7 +2,6 @@ /// /// @brief C++ Interface to generated code. - #ifndef _YAPDB_H #define _YAPDB_H @@ -10,7 +9,6 @@ #define YAP_CPP_DB_INTERFACE 1 - /** * * @defgroup yap-cplus-db-interface Data-Base Component of YAP interface. @@ -72,11 +70,10 @@ class X_API YAPModuleProp : public YAPProp { public: YAPModuleProp(YAPModule tmod) { m = Yap_GetModuleEntry(tmod.gt()); }; - YAPModuleProp() { m = Yap_GetModuleEntry(YAP_CurrentModule()); }; + YAPModuleProp() { m = Yap_GetModuleEntry(Yap_CurrentModule()); }; virtual YAPModule module() { return YAPModule(m->AtomOfME); }; }; - /** * @brief Predicates * @@ -91,32 +88,32 @@ protected: /// auxiliary routine to find a predicate in the current module. - /// auxiliary routine to find a predicate in the current module. - PredEntry *getPred(Term &t, CELL *& outp); + /// auxiliary routine to find a predicate in the current module. + PredEntry *getPred(Term &t, Term &tm, CELL *&outp); PredEntry *asPred() { return ap; }; -/// Empty constructor for predicates + /// Empty constructor for predicates /// /// Just do nothing. - inline YAPPredicate() { - } - YAPPredicate(Term &to, Term &tmod, CELL * &ts, const char *pname); - + inline YAPPredicate() {} + YAPPredicate(Term &to, Term &tmod, CELL *&ts, const char *pname); /// Term constructor for predicates /// /// It is just a call to getPred inline YAPPredicate(Term t, CELL *&v) { if (t) { - ap = getPred(t, v); + Term tm = Yap_CurrentModule(); + ap = getPred(t, tm, v); } } -inline YAPPredicate(Term t) { + inline YAPPredicate(Term t) { if (t) { CELL *v = nullptr; - ap = getPred(t, v); + Term tm = Yap_CurrentModule(); + ap = getPred(t, tm, v); } } @@ -124,13 +121,14 @@ inline YAPPredicate(Term t) { /// /// It is just a call to getPred inline YAPPredicate(YAPTerm t, CELL *&v) { - Term tp = t.term(); - ap = getPred(tp, v); + Term tp = t.term(), tm = Yap_CurrentModule(); + ap = getPred(tp, tm, v); } -inline YAPPredicate(YAPTerm t) { - CELL *v = nullptr; - Term tp = t.term(); - ap = getPred(tp, v); + inline YAPPredicate(YAPTerm t) { + CELL *v = nullptr; + Term tp = t.term(); + Term tm = Yap_CurrentModule(); + ap = getPred(tp, tm, v); } /// Cast constructor for predicates, @@ -138,16 +136,14 @@ inline YAPPredicate(YAPTerm t) { /// inline YAPPredicate(PredEntry *pe) { ap = pe; } - /// Functor constructor for predicates, is given a specific module. + /// Functor constructor for predicates, is given a specific module. /// This version avoids manufacturing objects inline YAPPredicate(Functor f, Term mod) { ap = RepPredProp(PredPropByFunc(f, mod)); } - public: - - /// String constructor for predicates + /// String constructor for predicates /// /// It also communicates the array of arguments t[] /// and the array of variables @@ -157,25 +153,25 @@ public: const char *s = (const char *)s0; Term tnames = MkVarTerm(); tout = - Yap_BufferToTermWithPrioBindings(s, TermNil, tnames, strlen(s0), 1200); + Yap_BufferToTermWithPrioBindings(s, TermNil, tnames, strlen(s0), 1200); // fprintf(stderr,"ap=%p arity=%d text=%s", ap, ap->ArityOfPE, s); // Yap_DebugPlWrite(out); if (tout == 0L) { - return; + return; throw YAPError(); + } + Term tm = Yap_CurrentModule(); + ap = getPred(tout, tm, nts); + tout = Yap_SaveTerm(tout); + names = YAPPairTerm(tnames); } - ap = getPred(tout, nts); - tout = Yap_SaveTerm(tout); - names = YAPPairTerm(tnames); - } - /// Functor constructor for predicates /// /// Asssumes that we use the current module. YAPPredicate(YAPFunctor f) { CACHE_REGS - ap = RepPredProp(PredPropByFunc(f.f, Yap_CurrentModule())); + ap = RepPredProp(PredPropByFunc(f.f, Yap_CurrentModule())); } /// Functor constructor for predicates, is given a specific module. @@ -194,7 +190,6 @@ public: /// YAPPredicate(YAPAtom at); - /// Mod:Name/Arity constructor for predicates. /// inline YAPPredicate(YAPAtom at, uintptr_t arity, YAPModule mod) { @@ -214,14 +209,14 @@ public: /// inline YAPPredicate(const char *at, uintptr_t arity) { ap = RepPredProp(PredPropByFunc(Yap_MkFunctor(Yap_LookupAtom(at), arity), - CurrentModule)); + Yap_CurrentModule())); }; /// char */module constructor for predicates. /// inline YAPPredicate(const char *at, uintptr_t arity, YAPTerm mod) { ap = RepPredProp( - PredPropByFunc(Yap_MkFunctor(Yap_LookupAtom(at), arity), mod.term())); + PredPropByFunc(Yap_MkFunctor(Yap_LookupAtom(at), arity), mod.term())); }; /// char */module constructor for predicates. @@ -256,7 +251,8 @@ public: YAPFunctor functor() { if (ap->ArityOfPE) return YAPFunctor(ap->FunctorOfPred); -Yap_ThrowError(DOMAIN_ERROR_OUT_OF_RANGE, MkIntTerm(0), "YAPFunctor::functor"); + Yap_ThrowError(DOMAIN_ERROR_OUT_OF_RANGE, MkIntTerm(0), + "YAPFunctor::functor"); } /// arity of predicate @@ -279,7 +275,7 @@ public: YAPPrologPredicate(YAPAtom s, arity_t arity) : YAPPredicate(s, arity){}; /// add a new clause bool assertClause(YAPTerm clause, bool last = true, - YAPTerm source = YAPTerm()); + YAPTerm source = YAPTerm()); /// add a new tuple bool assertFact(YAPTerm *tuple, bool last = true); /// retract at least the first clause matching the predicate. @@ -300,10 +296,9 @@ public: YAPFLIP(YAP_UserCPred call, YAPAtom name, YAP_Arity arity, YAPModule module = YAPModule(), YAP_UserCPred retry = 0, YAP_UserCPred cut = 0, YAP_Arity extra = 0, bool test = false) - : YAPPredicate(name, arity, module) { + : YAPPredicate(name, arity, module) { if (retry) { - YAP_UserBackCutCPredicate(name.getName(), call, retry, cut, arity, extra - ); + YAP_UserBackCutCPredicate(name.getName(), call, retry, cut, arity, extra); } else { if (test) { YAP_UserCPredicate(name.getName(), call, arity); @@ -314,7 +309,7 @@ public: }; YAPFLIP(const char *name, uintptr_t arity, YAPModule module = YAPModule(), bool backtrackable = false) - : YAPPredicate(YAPAtom(name), arity, module) { + : YAPPredicate(YAPAtom(name), arity, module) { if (backtrackable) { Yap_InitCPredBackCut(name, arity, 0, 0, 0, 0, UserCPredFlag); } else { diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index d955eada6..65bbf7cf6 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -519,7 +519,7 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { #if YAP_PYTHON // PyThreadState *_save; - //std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; + // std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; // _save = PyEval_SaveThread(); #endif CACHE_REGS @@ -529,6 +529,8 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { q.p = P; q.cp = CP; PredEntry *ap = nullptr; + std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; + std::cerr << "mgoal " << YAPTerm(tmod).text() << "\n"; if (IsStringTerm(tmod)) tmod = MkAtomTerm(Yap_LookupAtom(StringOfTerm(tmod))); YAPPredicate *p = new YAPPredicate(t, tmod, ts, "C++"); @@ -553,7 +555,8 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { //__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "exec "); result = (bool)YAP_EnterGoal(ap, nullptr, &q); - //std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; + std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; + std::cerr << "mgoal " << YAPTerm(tmod).text() << "\n"; YAP_LeaveGoal(result && !release, &q); // PyEval_RestoreThread(_save); @@ -574,7 +577,7 @@ void YAPEngine::release() { Term YAPEngine::fun(Term t) { CACHE_REGS BACKUP_MACHINE_REGS(); - Term tmod = CurrentModule, *ts = nullptr; + Term tmod = Yap_CurrentModule(), *ts = nullptr; PredEntry *ap; arity_t arity; Functor f; @@ -874,9 +877,8 @@ YAPPredicate::YAPPredicate(YAPAtom at, uintptr_t arity) { } /// auxiliary routine to find a predicate in the current module. -PredEntry *YAPPredicate::getPred(Term &t, CELL *&out) { +PredEntry *YAPPredicate::getPred(Term &t, Term &m, CELL *&out) { CACHE_REGS - Term m = Yap_CurrentModule(); t = Yap_StripModule(t, &m); if (IsVarTerm(t) || IsNumTerm(t)) { diff --git a/CXX/yapq.hh b/CXX/yapq.hh index 112fff187..6fcaba6bc 100644 --- a/CXX/yapq.hh +++ b/CXX/yapq.hh @@ -96,7 +96,7 @@ public: inline YAPQuery(const char *s) : YAPPredicate(s, goal, names, (nts = &ARG1)) { __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "got game %ld", LOCAL_CurSlot); - + openQuery(); }; // inline YAPQuery() : YAPPredicate(s, tgoal, tnames) @@ -117,8 +117,8 @@ public: YAPQuery(YAPTerm t) : YAPPredicate((goal = t.term()), (nts = &ARG1)) { BACKUP_MACHINE_REGS(); openQuery(); - names = YAPPairTerm(TermNil) ; - RECOVER_MACHINE_REGS(); + names = YAPPairTerm(TermNil); + RECOVER_MACHINE_REGS(); } /// set flags for query execution, currently only for exception handling void setFlag(int flag) { q_flags |= flag; } @@ -177,7 +177,7 @@ public: YAPEngineArgs() { // const std::string *s = new std::string("startup.yss"); Embedded = true; - install = false; + install = false; Yap_InitDefaults(this, nullptr, 0, nullptr); #if YAP_PYTHON @@ -204,13 +204,13 @@ public: inline void setMaxTrailSize(bool fl) { MaxTrailSize = fl; }; - inline bool getMaxTrailSize() { return MaxTrailSize; }; + inline bool getMaxTrailSize() { return MaxTrailSize; }; - inline void createSavedState(bool fl) { install = fl; }; + inline void createSavedState(bool fl) { install = fl; }; - inline bool creatingSavedState() { return install; }; + inline bool creatingSavedState() { return install; }; - inline void setPLDIR(const char *fl) { + inline void setPLDIR(const char *fl) { LIBDIR = (const char *)malloc(strlen(fl) + 1); strcpy((char *)LIBDIR, fl); }; @@ -286,7 +286,7 @@ private: void doInit(YAP_file_type_t BootMode, YAPEngineArgs *cargs); YAP_dogoalinfo q; YAPError e; - PredEntry *rewriteUndefEngineQuery(PredEntry *ap, Term &t, Term tmod); + PredEntry *rewriteUndefEngineQuery(PredEntry *ap, Term &t, Term tmod); public: /// construct a new engine; may use a variable number of arguments @@ -326,23 +326,26 @@ public: /// build a query from a Prolog term (internal) YAPQuery *qt(Term t) { return new YAPQuery(YAPTerm(t)); }; /// current module for the engine - YAPModule currentModule() { return YAPModule(); } + Term Yap_CurrentModule() { return CurrentModule; } /// given a handle, fetch a term from the engine inline YAPTerm getTerm(yhandle_t h) { return YAPTerm(h); } /// current directory for the engine bool call(YAPPredicate ap, YAPTerm ts[]); /// current directory for the engine - bool goal(YAPTerm Yt, YAPModule module, bool release=false) - { return mgoal(Yt.term(),module.term(), release); }; + bool goal(YAPTerm Yt, YAPModule module, bool release = false) { + return mgoal(Yt.term(), module.term(), release); + }; /// ru1n a goal in a module. /// /// By default, memory will only be fully /// recovered on backtracking. The release option ensures /// backtracking is called at the very end. - bool mgoal(Term t, Term tmod, bool release= false); + bool mgoal(Term t, Term tmod, bool release = false); /// current directory for the engine - bool goal(Term t, bool release=false) { return mgoal(t, CurrentModule, release); } + bool goal(Term t, bool release = false) { + return mgoal(t, Yap_CurrentModule(), release); + } /// reset Prolog state void reSet(); /// assune that there are no stack pointers, just release memory diff --git a/H/Yatom.h b/H/Yatom.h index 522bc507f..91d23559c 100755 --- a/H/Yatom.h +++ b/H/Yatom.h @@ -20,15 +20,11 @@ #ifndef YATOM_H #define YATOM_H 1 - INLINE_ONLY Atom AbsAtom(AtomEntry *p); INLINE_ONLY AtomEntry *RepAtom(Atom a); - #ifdef USE_OFFSETS -INLINE_ONLY Atom AbsAtom(AtomEntry *p) { - return (Atom)(Addr(p) - AtomBase); -} +INLINE_ONLY Atom AbsAtom(AtomEntry *p) { return (Atom)(Addr(p) - AtomBase); } INLINE_ONLY AtomEntry *RepAtom(Atom a) { return (AtomEntry *) (AtomBase + Unsigned (a); @@ -36,9 +32,7 @@ INLINE_ONLY AtomEntry *RepAtom(Atom a) { #else INLINE_ONLY Atom AbsAtom(AtomEntry *p) { return (Atom)(p); } -INLINE_ONLY AtomEntry *RepAtom(Atom a) { - return (AtomEntry *)(a); -} +INLINE_ONLY AtomEntry *RepAtom(Atom a) { return (AtomEntry *)(a); } #endif @@ -46,9 +40,7 @@ INLINE_ONLY AtomEntry *RepAtom(Atom a) { INLINE_ONLY Prop AbsProp(PropEntry *p); -INLINE_ONLY Prop AbsProp(PropEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsProp(PropEntry *p) { return (Prop)(Addr(p) - AtomBase); } INLINE_ONLY PropEntry *RepProp(Prop p); @@ -64,9 +56,7 @@ INLINE_ONLY Prop AbsProp(PropEntry *p) { return (Prop)(p); } INLINE_ONLY PropEntry *RepProp(Prop p); -INLINE_ONLY PropEntry *RepProp(Prop p) { - return (PropEntry *)(p); -} +INLINE_ONLY PropEntry *RepProp(Prop p) { return (PropEntry *)(p); } #endif @@ -88,15 +78,11 @@ INLINE_ONLY Prop AbsFunctorProp(FunctorEntry *p) { INLINE_ONLY FunctorEntry *RepFunctorProp(Prop p); -INLINE_ONLY FunctorEntry *RepFunctorProp(Prop p) { - return (FunctorEntry *)(p); -} +INLINE_ONLY FunctorEntry *RepFunctorProp(Prop p) { return (FunctorEntry *)(p); } INLINE_ONLY Prop AbsFunctorProp(FunctorEntry *p); -INLINE_ONLY Prop AbsFunctorProp(FunctorEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsFunctorProp(FunctorEntry *p) { return (Prop)(p); } #endif @@ -172,15 +158,11 @@ INLINE_ONLY Prop AbsGlobalProp(GlobalEntry *p) { INLINE_ONLY GlobalEntry *RepGlobalProp(Prop p); -INLINE_ONLY GlobalEntry *RepGlobalProp(Prop p) { - return (GlobalEntry *)(p); -} +INLINE_ONLY GlobalEntry *RepGlobalProp(Prop p) { return (GlobalEntry *)(p); } INLINE_ONLY Prop AbsGlobalProp(GlobalEntry *p); -INLINE_ONLY Prop AbsGlobalProp(GlobalEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsGlobalProp(GlobalEntry *p) { return (Prop)(p); } #endif @@ -221,17 +203,13 @@ INLINE_ONLY ModEntry *RepModProp(Prop p) { INLINE_ONLY Prop AbsModProp(ModEntry *p); -INLINE_ONLY Prop AbsModProp(ModEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsModProp(ModEntry *p) { return (Prop)(Addr(p) - AtomBase); } #else INLINE_ONLY ModEntry *RepModProp(Prop p); -INLINE_ONLY ModEntry *RepModProp(Prop p) { - return (ModEntry *)(p); -} +INLINE_ONLY ModEntry *RepModProp(Prop p) { return (ModEntry *)(p); } INLINE_ONLY Prop AbsModProp(ModEntry *p); @@ -245,9 +223,7 @@ INLINE_ONLY Prop AbsModProp(ModEntry *p) { return (Prop)(p); } INLINE_ONLY bool IsModProperty(int); -INLINE_ONLY bool IsModProperty(int flags) { - return flags == ModProperty; -} +INLINE_ONLY bool IsModProperty(int flags) { return flags == ModProperty; } /* Flags on module. Most of these flags are copied to the read context in pl-read.c. @@ -273,10 +249,10 @@ INLINE_ONLY bool IsModProperty(int flags) { #define UNKNOWN_MASK \ (UNKNOWN_ERROR | UNKNOWN_WARNING | UNKNOWN_FAIL | UNKNOWN_FAST_FAIL | \ UNKNOWN_ABORT | UNKNOWN_HALT) -#define SNGQ_CHARS (0x10000) /* 'ab' --> [a, b] */ -#define SNGQ_ATOM (0x20000) /* 'ab' --> ab */ -#define SNGQ_STRING (0x40000) /* 'ab' --> "ab" */ -#define SNGQ_CODES (0x80000) /* 'ab' --> [0'a, 0'b] */ +#define SNGQ_CHARS (0x10000) /* 'ab' --> [a, b] */ +#define SNGQ_ATOM (0x20000) /* 'ab' --> ab */ +#define SNGQ_STRING (0x40000) /* 'ab' --> "ab" */ +#define SNGQ_CODES (0x80000) /* 'ab' --> [0'a, 0'b] */ #define SNGQ_MASK (BCKQ_CHARS | BCKQ_ATOM | BCKQ_STRING | BCKQ_CODES) Term Yap_getUnknownModule(ModEntry *m); @@ -305,9 +281,7 @@ INLINE_ONLY OpEntry *RepOpProp(Prop p) { INLINE_ONLY Prop AbsOpProp(OpEntry *p); -INLINE_ONLY Prop AbsOpProp(OpEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsOpProp(OpEntry *p) { return (Prop)(Addr(p) - AtomBase); } #else @@ -324,9 +298,7 @@ INLINE_ONLY Prop AbsOpProp(OpEntry *p) { return (Prop)(p); } INLINE_ONLY bool IsOpProperty(PropFlags); -INLINE_ONLY bool IsOpProperty(PropFlags flags) { - return flags == OpProperty; -} +INLINE_ONLY bool IsOpProperty(PropFlags flags) { return flags == OpProperty; } typedef enum { INFIX_OP = 0, POSFIX_OP = 1, PREFIX_OP = 2 } op_type; @@ -365,17 +337,13 @@ INLINE_ONLY ExpEntry *RepExpProp(Prop p) { INLINE_ONLY Prop AbsExpProp(ExpEntry *p); -INLINE_ONLY Prop AbsExpProp(ExpEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsExpProp(ExpEntry *p) { return (Prop)(Addr(p) - AtomBase); } #else INLINE_ONLY ExpEntry *RepExpProp(Prop p); -INLINE_ONLY ExpEntry *RepExpProp(Prop p) { - return (ExpEntry *)(p); -} +INLINE_ONLY ExpEntry *RepExpProp(Prop p) { return (ExpEntry *)(p); } INLINE_ONLY Prop AbsExpProp(ExpEntry *p); @@ -411,17 +379,13 @@ INLINE_ONLY ValEntry *RepValProp(Prop p) { INLINE_ONLY Prop AbsValProp(ValEntry *p); -INLINE_ONLY Prop AbsValProp(ValEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsValProp(ValEntry *p) { return (Prop)(Addr(p) - AtomBase); } #else INLINE_ONLY ValEntry *RepValProp(Prop p); -INLINE_ONLY ValEntry *RepValProp(Prop p) { - return (ValEntry *)(p); -} +INLINE_ONLY ValEntry *RepValProp(Prop p) { return (ValEntry *)(p); } INLINE_ONLY Prop AbsValProp(ValEntry *p); @@ -592,10 +556,7 @@ INLINE_ONLY Prop AbsPredProp(PredEntry *p) { INLINE_ONLY PredEntry *RepPredProp(Prop p); -INLINE_ONLY PredEntry *RepPredProp(Prop p) { - - return (PredEntry *)(p); -} +INLINE_ONLY PredEntry *RepPredProp(Prop p) { return (PredEntry *)(p); } INLINE_ONLY Prop AbsPredProp(PredEntry *p); @@ -717,8 +678,8 @@ typedef struct DB_STRUCT { struct DB_STRUCT *p, *n; /* entry's age, negative if from recorda, positive if it was recordz */ CELL Mask; /* parts that should be cleared */ - CELL Key; /* A mask that can be used to check before - you unify */ + CELL Key; /* A mask that can be used to check before + you unify */ DBTerm DBT; } DBStruct; @@ -755,9 +716,7 @@ INLINE_ONLY Term MkDBRefTerm(DBRef p) { INLINE_ONLY DBRef DBRefOfTerm(Term t); -INLINE_ONLY DBRef DBRefOfTerm(Term t) { - return (DBRef)(((DBRef)(RepAppl(t)))); -} +INLINE_ONLY DBRef DBRefOfTerm(Term t) { return (DBRef)(((DBRef)(RepAppl(t)))); } INLINE_ONLY int IsRefTerm(Term); @@ -767,9 +726,7 @@ INLINE_ONLY int IsRefTerm(Term t) { INLINE_ONLY CODEADDR RefOfTerm(Term t); -INLINE_ONLY CODEADDR RefOfTerm(Term t) { - return (CODEADDR)(DBRefOfTerm(t)); -} +INLINE_ONLY CODEADDR RefOfTerm(Term t) { return (CODEADDR)(DBRefOfTerm(t)); } typedef struct struct_dbentry { Prop NextOfPE; /* used to chain properties */ @@ -822,9 +779,7 @@ INLINE_ONLY DBProp RepDBProp(Prop p) { INLINE_ONLY Prop AbsDBProp(DBProp p); -INLINE_ONLY Prop AbsDBProp(DBProp p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsDBProp(DBProp p) { return (Prop)(Addr(p) - AtomBase); } #else @@ -885,9 +840,7 @@ INLINE_ONLY BlackBoardEntry *RepBBProp(Prop p) { INLINE_ONLY Prop AbsBBProp(BlackBoardEntry *p); -INLINE_ONLY Prop AbsBBProp(BlackBoardEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsBBProp(BlackBoardEntry *p) { return (Prop)(p); } #endif @@ -924,9 +877,7 @@ INLINE_ONLY Prop AbsHoldProp(HoldEntry *p) { INLINE_ONLY HoldEntry *RepHoldProp(Prop p); -INLINE_ONLY HoldEntry *RepHoldProp(Prop p) { - return (HoldEntry *)(p); -} +INLINE_ONLY HoldEntry *RepHoldProp(Prop p) { return (HoldEntry *)(p); } INLINE_ONLY Prop AbsHoldProp(HoldEntry *p); @@ -968,9 +919,7 @@ INLINE_ONLY TranslationEntry *RepTranslationProp(Prop p) { INLINE_ONLY Prop AbsTranslationProp(TranslationEntry *p); -INLINE_ONLY Prop AbsTranslationProp(TranslationEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsTranslationProp(TranslationEntry *p) { return (Prop)(p); } #endif #define TranslationProperty 0xfff4 @@ -1027,9 +976,7 @@ INLINE_ONLY Prop AbsMutexProp(MutexEntry *p) { INLINE_ONLY MutexEntry *RepMutexProp(Prop p); -INLINE_ONLY MutexEntry *RepMutexProp(Prop p) { - return (MutexEntry *)(p); -} +INLINE_ONLY MutexEntry *RepMutexProp(Prop p) { return (MutexEntry *)(p); } INLINE_ONLY Prop AbsMutexProp(MutexEntry *p); @@ -1151,9 +1098,7 @@ INLINE_ONLY Prop AbsStaticArrayProp(StaticArrayEntry *p) { INLINE_ONLY ArrayEntry *RepArrayProp(Prop p); -INLINE_ONLY ArrayEntry *RepArrayProp(Prop p) { - return (ArrayEntry *)(p); -} +INLINE_ONLY ArrayEntry *RepArrayProp(Prop p) { return (ArrayEntry *)(p); } INLINE_ONLY Prop AbsArrayProp(ArrayEntry *p); @@ -1167,9 +1112,7 @@ INLINE_ONLY StaticArrayEntry *RepStaticArrayProp(Prop p) { INLINE_ONLY Prop AbsStaticArrayProp(StaticArrayEntry *p); -INLINE_ONLY Prop AbsStaticArrayProp(StaticArrayEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsStaticArrayProp(StaticArrayEntry *p) { return (Prop)(p); } #endif #define ArrayProperty ((PropFlags)0xfff7) @@ -1217,9 +1160,7 @@ INLINE_ONLY YAP_BlobPropEntry *RepBlobProp(Prop p) { INLINE_ONLY Prop AbsBlobProp(YAP_BlobPropEntry *p); -INLINE_ONLY Prop AbsBlobProp(YAP_BlobPropEntry *p) { - return (Prop)(p); -} +INLINE_ONLY Prop AbsBlobProp(YAP_BlobPropEntry *p) { return (Prop)(p); } #endif @@ -1240,9 +1181,7 @@ INLINE_ONLY bool IsBlob(Atom at) { INLINE_ONLY bool IsValProperty(PropFlags); -INLINE_ONLY bool IsValProperty(PropFlags flags) { - return flags == ValProperty; -} +INLINE_ONLY bool IsValProperty(PropFlags flags) { return flags == ValProperty; } /* flag property entry structure */ @@ -1270,17 +1209,13 @@ INLINE_ONLY FlagEntry *RepFlagProp(Prop p) { INLINE_ONLY Prop AbsFlagProp(FlagEntry *p); -INLINE_ONLY Prop AbsValProp(FlagEntry *p) { - return (Prop)(Addr(p) - AtomBase); -} +INLINE_ONLY Prop AbsValProp(FlagEntry *p) { return (Prop)(Addr(p) - AtomBase); } #else INLINE_ONLY FlagEntry *RepFlagProp(Prop p); -INLINE_ONLY FlagEntry *RepFlagProp(Prop p) { - return (FlagEntry *)(p); -} +INLINE_ONLY FlagEntry *RepFlagProp(Prop p) { return (FlagEntry *)(p); } INLINE_ONLY Prop AbsFlagProp(FlagEntry *p); @@ -1297,10 +1232,9 @@ INLINE_ONLY bool IsFlagProperty(PropFlags flags) { /* Proto types */ - extern char *Yap_TermToBuffer(Term t, int flags); -extern Term Yap_BufferToTerm(const char *s, Term opts); +extern Term Yap_BufferToTerm(const char *s, Term opts); /* cdmgr.c */ extern int Yap_RemoveIndexation(PredEntry *); @@ -1337,17 +1271,14 @@ Prop Yap_GetAPropHavingLock(AtomEntry *, PropFlags); INLINE_ONLY UInt PRED_HASH(FunctorEntry *, Term, UInt); -INLINE_ONLY UInt PRED_HASH(FunctorEntry *fe, Term cur_mod, - UInt size) { +INLINE_ONLY UInt PRED_HASH(FunctorEntry *fe, Term cur_mod, UInt size) { return (((CELL)fe + cur_mod) >> 2) % size; } -INLINE_ONLY Prop GetPredPropByFuncAndModHavingLock(FunctorEntry *, - Term); +INLINE_ONLY Prop GetPredPropByFuncAndModHavingLock(FunctorEntry *, Term); INLINE_ONLY Prop PredPropByFuncAndMod(FunctorEntry *, Term); INLINE_ONLY Prop PredPropByAtomAndMod(Atom, Term); -INLINE_ONLY Prop GetPredPropByFuncHavingLock(FunctorEntry *, - Term); +INLINE_ONLY Prop GetPredPropByFuncHavingLock(FunctorEntry *, Term); INLINE_ONLY Prop PredPropByFunc(Functor fe, Term cur_mod); INLINE_ONLY Prop PredPropByAtom(Atom at, Term cur_mod); @@ -1355,8 +1286,7 @@ INLINE_ONLY Prop PredPropByAtom(Atom at, Term cur_mod); Prop Yap_NewThreadPred(struct pred_entry *CACHE_TYPE); Prop Yap_NewPredPropByFunctor(Functor, Term); -INLINE_ONLY struct pred_entry * -Yap_GetThreadPred(struct pred_entry *CACHE_TYPE); +INLINE_ONLY struct pred_entry *Yap_GetThreadPred(struct pred_entry *CACHE_TYPE); INLINE_ONLY struct pred_entry * Yap_GetThreadPred(struct pred_entry *ap USES_REGS) { @@ -1374,8 +1304,7 @@ Yap_GetThreadPred(struct pred_entry *ap USES_REGS) { } #endif -INLINE_ONLY Prop GetPredPropByFuncHavingLock(FunctorEntry *fe, - Term cur_mod) { +INLINE_ONLY Prop GetPredPropByFuncHavingLock(FunctorEntry *fe, Term cur_mod) { PredEntry *p; if (!(p = RepPredProp(fe->PropsOfFE))) { @@ -1428,8 +1357,8 @@ INLINE_ONLY Prop PredPropByFunc(Functor fe, Term cur_mod) return Yap_NewPredPropByFunctor(fe, cur_mod); } -INLINE_ONLY Prop -GetPredPropByFuncAndModHavingLock(FunctorEntry *fe, Term cur_mod) { +INLINE_ONLY Prop GetPredPropByFuncAndModHavingLock(FunctorEntry *fe, + Term cur_mod) { PredEntry *p; if (!(p = RepPredProp(fe->PropsOfFE))) { @@ -1574,9 +1503,7 @@ INLINE_ONLY const char *AtomName(Atom at); * * @return a ponter to an immutable sequence of characters. */ -INLINE_ONLY const char *AtomName(Atom at) { - return RepAtom(at)->rep.uStrOfAE; -} +INLINE_ONLY const char *AtomName(Atom at) { return RepAtom(at)->rep.uStrOfAE; } INLINE_ONLY const char *AtomTermName(Term t); @@ -1599,17 +1526,17 @@ extern Term MkErrorTerm(yap_error_descriptor_t *t); extern bool Yap_ResetException(yap_error_descriptor_t *i); extern bool Yap_HasException(void); -extern yap_error_descriptor_t * Yap_GetException(); -extern void Yap_PrintException(void); +extern yap_error_descriptor_t *Yap_GetException(); +extern void Yap_PrintException(yap_error_descriptor_t *i); INLINE_ONLY bool Yap_HasException(void) { return LOCAL_ActiveError->errorNo != YAP_NO_ERROR; } INLINE_ONLY Term MkSysError(yap_error_descriptor_t *i) { Term et = MkAddressTerm(i); - return Yap_MkApplTerm( FunctorException, 1, &et); + return Yap_MkApplTerm(FunctorException, 1, &et); } -yap_error_descriptor_t *Yap_UserError( Term t, yap_error_descriptor_t *i); +yap_error_descriptor_t *Yap_UserError(Term t, yap_error_descriptor_t *i); extern bool Yap_RaiseException(void); diff --git a/console/terminal/console.h b/console/terminal/console.h index 47def85fe..f522058e4 100644 --- a/console/terminal/console.h +++ b/console/terminal/console.h @@ -1,4 +1,4 @@ -l/**************************************************************************** +/**************************************************************************** ** ** Copyright (C) 2012 Denis Shienkov ** Copyright (C) 2012 Laszlo Papp @@ -37,29 +37,27 @@ l/**************************************************************************** #include -class Console : public QPlainTextEdit -{ - Q_OBJECT +class Console : public QPlainTextEdit { + Q_OBJECT signals: - void getData(const QString &data); + void getData(const QString &data); public: - explicit Console(QWidget *parent = 0); + explicit Console(QWidget *parent = 0); - void putData(const QString &data); + void putData(const QString &data); - void setLocalEchoEnabled(bool set); + void setLocalEchoEnabled(bool set); protected: - virtual void keyPressEvent(QKeyEvent *e); - virtual void mousePressEvent(QMouseEvent *e); - virtual void mouseDoubleClickEvent(QMouseEvent *e); - virtual void contextMenuEvent(QContextMenuEvent *e); + virtual void keyPressEvent(QKeyEvent *e); + virtual void mousePressEvent(QMouseEvent *e); + virtual void mouseDoubleClickEvent(QMouseEvent *e); + virtual void contextMenuEvent(QContextMenuEvent *e); private: - bool localEchoEnabled; - + bool localEchoEnabled; }; #endif // CONSOLE_H diff --git a/include/YapError.h b/include/YapError.h index b9042a40f..bc3d23869 100644 --- a/include/YapError.h +++ b/include/YapError.h @@ -1,16 +1,16 @@ /************************************************************************* - * * - * YAP Prolog %W% %G% * - * Yap Prolog was developed at NCCUP - Universidade do Porto * - * * - * Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 * - * * - ************************************************************************** - * * - * File: YapError.h * mods: - ** comments: error header file for YAP * - * version: $Id: Yap.h,v 1.38 2008-06-18 10:02:27 vsc Exp $ * - *************************************************************************/ + * * + * YAP Prolog %W% %G% * + * Yap Prolog was developed at NCCUP - Universidade do Porto * + * * + * Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 * + * * + ************************************************************************** + * * + * File: YapError.h * mods: + ** comments: error header file for YAP * + * version: $Id: Yap.h,v 1.38 2008-06-18 10:02:27 vsc Exp $ * + *************************************************************************/ #ifndef YAP_ERROR_H #define YAP_ERROR_H 1 @@ -38,13 +38,12 @@ #define MAX_ERROR_MSG_SIZE 1024 - extern void - Yap_InitError__(const char *file, const char *function, int lineno, - yap_error_number e, YAP_Term g, ...); +extern void Yap_InitError__(const char *file, const char *function, int lineno, + yap_error_number e, YAP_Term g, ...); -extern struct yami *Yap_Error__(bool thrw, const char *file, const char *function, - int lineno, yap_error_number err, - YAP_Term wheret, ...); +extern struct yami *Yap_Error__(bool thrw, const char *file, + const char *function, int lineno, + yap_error_number err, YAP_Term wheret, ...); extern void Yap_ThrowError__(const char *file, const char *function, int lineno, yap_error_number err, YAP_Term wheret, ...) @@ -54,13 +53,13 @@ extern void Yap_ThrowError__(const char *file, const char *function, int lineno, ; #define Yap_NilError(id, ...) \ - Yap_Error__(false,__FILE__, __FUNCTION__, __LINE__, id, TermNil, __VA_ARGS__) + Yap_Error__(false, __FILE__, __FUNCTION__, __LINE__, id, TermNil, __VA_ARGS__) #define Yap_InitError(id, ...) \ Yap_InitError__(__FILE__, __FUNCTION__, __LINE__, id, TermNil, __VA_ARGS__) #define Yap_Error(id, inp, ...) \ - Yap_Error__(false,__FILE__, __FUNCTION__, __LINE__, id, inp, __VA_ARGS__) + Yap_Error__(false, __FILE__, __FUNCTION__, __LINE__, id, inp, __VA_ARGS__) #define Yap_ThrowError(id, inp, ...) \ Yap_ThrowError__(__FILE__, __FUNCTION__, __LINE__, id, inp, __VA_ARGS__) @@ -74,18 +73,18 @@ extern void Yap_ThrowError__(const char *file, const char *function, int lineno, { if ( (TF = Yap_ensure_atom__(__FILE__, __FUNCTION__, __LINE__, T0 ) == 0L ) return false; \ } -INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, - int line, Term in) { +INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, int line, + Term in) { Term t = Deref(in); // Term Context = Deref(ARG2); if (!IsVarTerm(t) && IsAtomTerm(t)) return t; if (IsVarTerm(t)) { - Yap_Error__(false,fu, fi, line, INSTANTIATION_ERROR, t, NULL); + Yap_Error__(false, fu, fi, line, INSTANTIATION_ERROR, t, NULL); } else { if (IsAtomTerm(t)) return t; - Yap_Error__(false,fu, fi, line, TYPE_ERROR_ATOM, t, NULL); + Yap_Error__(false, fu, fi, line, TYPE_ERROR_ATOM, t, NULL); return 0L; } @@ -114,8 +113,8 @@ INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, #define AUX_ERROR(t, n, s, TYPE) \ if (s + (n + 1) > (TYPE *)AuxSp) { \ - pop_text_stack(lvl); \ - LOCAL_Error_TYPE = RESOURCE_ERROR_AUXILIARY_STACK; \ + pop_text_stack(lvl); \ + LOCAL_Error_TYPE = RESOURCE_ERROR_AUXILIARY_STACK; \ LOCAL_Error_Size = n * sizeof(TYPE); \ return NULL; \ } @@ -225,7 +224,7 @@ INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, const char *prologParserText; const char *prologParserFile; bool prologConsulting; - const char *culprit; + const char *culprit; YAP_Term errorRawTerm, rawExtraErrorTerm; char *errorMsg; size_t errorMsgLen; @@ -243,20 +242,24 @@ INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, extern void Yap_CatchError(void); extern void Yap_ThrowExistingError(void); - extern bool Yap_MkErrorRecord( yap_error_descriptor_t *r, - const char *file, const char *function, - int lineno, yap_error_number type, YAP_Term where, - const char *msg); - -extern yap_error_descriptor_t * Yap_pc_add_location(yap_error_descriptor_t *t, void *pc0, void *b_ptr0, void *env0); -extern yap_error_descriptor_t *Yap_env_add_location(yap_error_descriptor_t *t,void *cp0, void * b_ptr0, void *env0, YAP_Int ignore_first); + extern bool Yap_MkErrorRecord( + yap_error_descriptor_t * r, const char *file, const char *function, + int lineno, yap_error_number type, YAP_Term where, const char *msg); - extern yap_error_descriptor_t *Yap_prolog_add_culprit(yap_error_descriptor_t *t); + extern yap_error_descriptor_t *Yap_pc_add_location( + yap_error_descriptor_t * t, void *pc0, void *b_ptr0, void *env0); + extern yap_error_descriptor_t *Yap_env_add_location( + yap_error_descriptor_t * t, void *cp0, void *b_ptr0, void *env0, + YAP_Int ignore_first); + + extern yap_error_descriptor_t *Yap_prolog_add_culprit(yap_error_descriptor_t * + t); extern yap_error_class_number Yap_errorClass(yap_error_number e); extern const char *Yap_errorName(yap_error_number e); extern const char *Yap_errorClassName(yap_error_class_number e); - extern bool Yap_pushErrorContext(bool pass, yap_error_descriptor_t *new_error); + extern bool Yap_pushErrorContext(bool pass, + yap_error_descriptor_t *new_error); extern yap_error_descriptor_t *Yap_popErrorContext(bool oerr, bool pass); #endif diff --git a/library/ytest/preds.yap b/library/ytest/preds.yap index 245a725f4..ef8f42949 100644 --- a/library/ytest/preds.yap +++ b/library/ytest/preds.yap @@ -33,7 +33,7 @@ '$is_metapredicate'( G, M) :- predicate_property(M:G, meta_predicate(_)). -'$imported_predicate'(G,M,G,M0) :- +'$is_imported_predicate'(G,M,G,M0) :- predicate_property(M:G, imported_from(M0)). '$is_system_predicate'( call(_), _M) :- !. diff --git a/packages/python/python.c b/packages/python/python.c index f930a3d5b..09ff42390 100644 --- a/packages/python/python.c +++ b/packages/python/python.c @@ -22,6 +22,7 @@ X_API PyObject *py_Atoms; X_API PyObject *py_Builtin; X_API PyObject *py_Yapex; X_API PyObject *py_Sys; +X_API PyObject * pYAPError; PyObject *py_Context; PyObject *py_ModDict; diff --git a/packages/python/swig/setup.py.in b/packages/python/swig/setup.py.in index d58ecc2a3..4eb051a3c 100644 --- a/packages/python/swig/setup.py.in +++ b/packages/python/swig/setup.py.in @@ -88,6 +88,7 @@ extensions = [Extension('_yap', native_sources, ('MINOR_VERSION', '0'), ('_YAP_NOT_INSTALLED_', '1'), ('YAP_PYTHON', '1'), + ('PYTHONSWIG', '1'), ('_GNU_SOURCE', '1')], runtime_library_dirs=[ abspath(join(sysconfig.get_path('platlib'),'yap4py')), abspath(sysconfig.get_path('platlib')),'${CMAKE_INSTALL_FULL_LIBDIR}'], diff --git a/packages/python/swig/yap4py/yapi.py b/packages/python/swig/yap4py/yapi.py index 5f135e122..eb26525bd 100644 --- a/packages/python/swig/yap4py/yapi.py +++ b/packages/python/swig/yap4py/yapi.py @@ -49,6 +49,7 @@ class JupyterEngine( Engine ): args = EngineArgs(**kwargs) args.jupyter = True Engine.__init__(self, args) + self.errors = None self.goal(set_prolog_flag('verbose', 'silent'),True) self.goal(compile(library('jupyter')), True) self.goal(set_prolog_flag('verbose', 'normal'), True) diff --git a/packages/python/yap_kernel/CMakeLists.txt b/packages/python/yap_kernel/CMakeLists.txt index 91420dd99..faa4eaf87 100644 --- a/packages/python/yap_kernel/CMakeLists.txt +++ b/packages/python/yap_kernel/CMakeLists.txt @@ -95,7 +95,6 @@ set (PYTHON_SOURCES backcall.py yap_kernel_launcher.py docs/conf.py yap_ipython/lib/kernel.py yap_ipython/lib/latextools.py yap_ipython/lib/lexers.py yap_ipython/lib/pretty.py yap_ipython/lib/security.py yap_ipython/lib/tests - yap_ipython/prolog/jupyter.yap yap_ipython/sphinxext/custom_doctests.py yap_ipython/sphinxext/__init__.py yap_ipython/sphinxext/ipython_console_highlighting.py diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index c82125571..05199513c 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -6,13 +6,11 @@ :- yap_flag(gc_trace,verbose). - % :- module( jupyter, - % [jupyter_query/3, - % errors/2, - % ready/2, - % completion/2, - % ] -%% ). + :- module( jupyter, + [jupyter_query/3, + blank/1 + ] + ). :- use_module(library(hacks)). :- use_module(library(lists)). @@ -21,6 +19,7 @@ :- use_module(library(python)). :- use_module(library(yapi)). :- use_module(library(complete)). +:- use_module(library(verify)). :- python_import(sys). @@ -92,103 +91,6 @@ streams(true) :- open('/python/sys.stdout', append, Output, [alias(user_output)]), open('/python/sys.stderr', append, Error, [alias(user_error)]). -ready(_Self, Line ) :- - blank( Line ), - !. -ready(Self, Line ) :- - errors( Self, Line ), - \+ syntax_error(_,_). - -errors( Self, Text ) :- - setup_call_cleanup( - open_events( Self, Text, Stream), - goals(Self, Stream), - close_events( Self ) - ). - -clauses(_Self, Stream) :- - repeat, - read_clause(Stream, Cl, [term_position(_Pos), syntax_errors(fail)] ), -% command( Self, Cl ), - Cl == end_of_file, - !. - -goals(_Self, Stream) :- - repeat, - read_term(Stream, Cl, [term_position(_Pos), syntax_errors(fail)] ), -% command( Self, Cl ), - Cl == end_of_file, - !. - -command(_, end_of_file) :- !. - -command( _Self, ( :- op(Prio,Assoc,Name) ) ) :- - addop(Prio,Assoc,Name). - -command( _Self, ( :- module(Name, Exports) )) :- - retract( active_module( M0 ) ), - atom_concat( '__m0_', Name, M ), - assert( active_module(M) ), - assert( undo( active_module(M0) ) ), - maplist( addop2(M), Exports). - - -addop(Prio,Assoc,Name) :- - ( - current_op(OPrio, SimilarAssoc, Name), - op(Prio, Assoc, Name), - matched_op(Assoc, SimilarAssoc) - -> - assertz( undo(op( OPrio, Assoc, Name ) ) ) - ; - assertz( undo(op( 0, Assoc, Name ) ) ) - ). - -addop2(M, op(Prio, Assoc, Name)) :- - addop( Prio, Assoc, M:Name ). - -matched_op(A, B) :- - optype( A, T), - optype( B, T). - -optype(fx,pre). -optype(fy,pre). -optype(xfx,in). -optype(xfy,in). -optype(yfx,in). -optype(yfy,in). -optype(xf,pos). -optype(yf,pos). - -:- dynamic user:portray_message/2. -:- multifile user:portray_message/2. - -:- dynamic syntax_error/4, undo/1. - -user:portray_message(_Severity, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- - nb_getval(jupyter_cell, on), - assert( syntax_error(Cause,LN,CharPos,Details) ). -user:portray_message(_Severity, error(style_check(_),_) ) :- - nb_getval(jupyter_cell, on). - -open_events(Self, Text, Stream) :- - Self.errors := [], - nb_setval( jupyter, on), - open_mem_read_stream( Text, Stream ). - -:- initialization( nb_setval( jupyter, off ) ). - -close_events( _Self ) :- - nb_setval( jupyter, off ), - retract( undo(G) ), - call(G), - fail. -close_events( Self ) :- - retract( syntax_error( C, L, N, A )), - Self.errors := [t(C,L,N,A)] + Self.errors, - fail. -close_events( _ ). - :- if( current_prolog_flag(apple, true) ). diff --git a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap index e951d38bf..520809eeb 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap @@ -5,14 +5,12 @@ */ - % :- module( verify, - % [all_clear/4, - % errors/2, - % ready/2, -s % completion/2, - % ] -%% ). + :- module( verify, + [errors/2, + ready/2] + ). :- use_module(library(hacks)). +:- use_module(library(jupyter)). :- use_module(library(lists)). :- use_module(library(maplist)). @@ -20,43 +18,155 @@ s % completion/2, :- use_module(library(python)). :- use_module(library(yapi)). -:- python_import(sys). -p_errors( Errors, Cell) :- - blank( Cell ), - !. -p_errors( Errors, Cell) :- - no_errors( Errors , Cell ). +ready( Engine, Query) :- + errors( Engine , Cell ), + Es := Engine.errors, + Es == []. -no_errors( _Errors , Text ) :- + + +errors( _Engine , Text ) :- blank(Text). -no_errors( Errors , Text ) :- - setup_call_cleanup( - open_esh( Errors , Text, Stream), - esh(Errors , Stream), - close_esh( Errors , Stream ) - ). - -syntax(_Errors , E) :- writeln(user_error, E), fail. -syntax(Errors , error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- - Errors.errors := [t(Cause,LN,CharPos,Details)] + Errors.errors, - !. -syntax(_Errors , E) :- throw(E). - -open_esh(_Errors , Text, Stream) :- - open_mem_read_stream( Text, Stream ). - -esh(Errors , Stream) :- - repeat, - catch( - read_clause(Stream, Cl, [term_position(_Pos), syntax_errors(fail)] ), - Error, - syntax(Errors , Error) - ), - Cl == end_of_file, !. +errors( Engine , Text ) :- + b_setval(jupyter, Engine), + setup_call_cleanup( + open_esh( Engine , Text, Stream, Name ), + esh(Engine , Name, Stream), + close_esh( Engine , Stream ) + ), + fail. +errors( _Engine , _Text ). + +open_esh(Engine , Text, Stream, Name) :- + Engine.errors := [], + b_setval( jupyter, Engine), + Name := Engine.stream_name, + open_mem_read_stream( Text, Stream ). + +esh(Engine , Name, Stream) :- + repeat, + catch( + read_clause(Stream, Cl,[]), + E=error(C,E), + p_message(C,E) + ), + Cl == end_of_file, + !. +close_esh( _Engine , Stream ) :- + close(Stream). -close_esh( _Errors , Stream ) :- - close(Stream). + + p_message(Severity, Error) :- + writeln((Severity->Error)), + catch( b_getval(jupyter, Engine), _, fail ), + p_message(Severity, Engine, Error). + +p_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- + %% nb_getval(jupyter_cell, on), + %% assert( syntax_error(Cause,LN,CharPos,Details) ). + %% user:portray_message(_Severity, error(style_check(_),_) ) :- + %% nb_getval(jupyter_cell, on). + Engine.errors := [t(Cause,LN,CharPos,Details)] + Engine.errors, + !. + p_message(error, Engine, E) :- + writeln(E), + !. + p_message(warning, Engine, E) :- + writeln(E), + !. + p_message(error, Engine, E) :- + Engine.errors := [E] + Engine.errors. + p_message(warning, Engine, E) :- + Engine.errors := [E] + Engine.errors. + %% ready(_Self, Line ) :- +%% blank( Line ), +%% !. +%% ready(Self, Line ) :- +%% errors( Self, Line ), +%% \+ syntax_error(_,_). + +%% errors( Self, Text ) :- +%% setup_call_cleanup( +%% open_events( Self, Text, Stream), +%% goals(Self, Stream), +%% close_events( Self ) +%% ). + +%% clauses(_Self, Stream) :- +%% repeat, +%% read_clause(Stream, Cl, [term_position(_Pos), syntax_errors(fail)] ), +%% % command( Self, Cl ), +%% Cl == end_of_file, +%% !. + +%% goals(_Self, Stream) :- +%% repeat, +%% read_term(Stream, Cl, [term_position(_Pos), syntax_errors(fail)] ), +%% % command( Self, Cl ), +%% Cl == end_of_file, +%% !. + +%% command(_, end_of_file) :- !. + +%% command( _Self, ( :- op(Prio,Assoc,Name) ) ) :- +%% addop(Prio,Assoc,Name). + +%% command( _Self, ( :- module(Name, Exports) )) :- +%% retract( active_module( M0 ) ), +%% atom_concat( '__m0_', Name, M ), +%% assert( active_module(M) ), +%% assert( undo( active_module(M0) ) ), +%% maplist( addop2(M), Exports). + + +%% addop(Prio,Assoc,Name) :- +%% ( +%% current_op(OPrio, SimilarAssoc, Name), +%% op(Prio, Assoc, Name), +%% matched_op(Assoc, SimilarAssoc) +%% -> +%% assertz( undo(op( OPrio, Assoc, Name ) ) ) +%% ; +%% assertz( undo(op( 0, Assoc, Name ) ) ) +%% ). + +%% addop2(M, op(Prio, Assoc, Name)) :- +%% addop( Prio, Assoc, M:Name ). + +%% matched_op(A, B) :- +%% optype( A, T), +%% optype( B, T). + +%% optype(fx,pre). +%% optype(fy,pre). +%% optype(xfx,in). +%% optype(xfy,in). +%% optype(yfx,in). +%% optype(yfy,in). +%% optype(xf,pos). +%% optype(yf,pos). + +%% :- dynamic syntax_error/4, undo/1. + +%% +%% open_events(Self, Text, Stream) :- +%% Self.errors := [], +%% nb_setval( jupyter, on), +%% open_mem_read_stream( Text, Stream ). + +%% :- initialization( nb_setval( jupyter, off ) ). + +%% close_events( _Self ) :- +%% nb_setval( jupyter, off ), +%% retract( undo(G) ), +%% call(G), +%% fail. +%% close_events( Self ) :- +%% retract( syntax_error( C, L, N, A )), +%% Self.errors := [t(C,L,N,A)] + Self.errors, +%% fail. +%% close_events( _ ). diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 562f2bd34..50545a203 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -114,7 +114,7 @@ class YAPInputSplitter(InputSplitter): if not line: line = text.rstrip() self.errors = [] - engine.mgoal(errors(self, line),"user",True) + engine.mgoal(errors(self, line),"verify",True) return self.errors != [] @@ -528,7 +528,7 @@ class YAPRun: return self.errors self.errors=[] (text,_,_,_) = self.clean_end(text) - self.yapeng.mgoal(errors(self,text),"user",True) + self.yapeng.mgoal(errors(self,text),"verify",True) return self.errors def jupyter_query(self, s): @@ -653,6 +653,7 @@ class YAPRun: # except SyntaxError: # preprocessing_exc_tuple = self.shell.syntax_error() # sys.exc_info() cell = raw_cell # cell has to exist so it can be stored/logged + self.yapeng.mgoal(streams(True),"jupyter", True) for i in self.syntaxErrors(raw_cell): try: (what,lin,_,text) = i @@ -679,6 +680,7 @@ class YAPRun: # compiler # compiler = self.shell.compile if shell_futures else CachingCompiler() cell_name = str( self.shell.execution_count) + engine.stream_name = cell_name if cell[0] == '%': if cell[1] == '%': linec = False @@ -707,7 +709,6 @@ class YAPRun: self.shell.displayhook.exec_result = self.result has_raised = False try: - self.yapeng.mgoal(streams(True),"user", True) self.bindings = dicts = [] if cell.strip('\n \t'): #create a Trace object, telling it what to ignore, and whether to @@ -732,9 +733,9 @@ class YAPRun: except Exception as e: has_raised = True self.result.result = False - self.yapeng.mgoal(streams(False),"user", True) + self.yapeng.mgoal(streams(False),"jupyter", True) - self.yapeng.mgoal(streams(False),"user", True) + self.yapeng.mgoal(streams(False),"jupyter", True) self.shell.last_execution_succeeded = not has_raised # Reset this so later displayed values do not modify the diff --git a/packages/python/yap_kernel/yap_kernel/ipkernel.py b/packages/python/yap_kernel/yap_kernel/ipkernel.py index b9107962a..329062b45 100644 --- a/packages/python/yap_kernel/yap_kernel/ipkernel.py +++ b/packages/python/yap_kernel/yap_kernel/ipkernel.py @@ -203,7 +203,7 @@ class YAPKernel(KernelBase): self._forward_input(allow_stdin) reply_content = {} - import trace; + # import trace; try: res = shell.run_cell(code, store_history=store_history, silent=silent) finally: diff --git a/packages/swig/yap.i b/packages/swig/yap.i index 7d38bc546..6f5ff5ff8 100644 --- a/packages/swig/yap.i +++ b/packages/swig/yap.i @@ -2,7 +2,7 @@ /* example.i */ -#if PYTHONSWIG +#if defined(SWIGPYTHON) %module(directors = "1", package="yap4py") yap #else %module(directors = "1") yap @@ -31,44 +31,13 @@ class YAPAtom; class YAPPredicate; class YAPEngine; -%{ +#if defined(SWIGPYTHON) - #include - #include - - extern "C"{ - #include "Yap.h" - -X_API extern Term YAP_MkCharPTerm( char *n); - - - #ifdef SWIGPYTHON - #include - - extern inline PyObject *AtomToPy(const char *s) { - if (strcmp(s, "true") == 0) - return Py_True; - if (strcmp(s, "false") == 0) - return Py_False; - if (strcmp(s, "none") == 0) - return Py_None; - if (strcmp(s, "[]") == 0) - return PyList_New(0); - else if (strcmp(s, "{}") == 0) - return PyDict_New(); - /* return __main__,s */ - else if (PyObject_HasAttrString(py_Main, s)) { - return PyObject_GetAttrString(py_Main, s); - } - // no way to translate - return NULL; - } - #endif - } +%pythoncode %{ +YAPError = _yap.YAPError %} -#ifdef SWIGPYTHON %typemap(typecheck) Term* { $1 = PySequence_Check($input); } @@ -135,135 +104,30 @@ X_API extern Term YAP_MkCharPTerm( char *n); } return $result; } - - // Language independent exception handler - %exception next { +%exception { try { $action } catch (YAPError &e) { - yap_error_number en = e.getID(); - PyObject *pyerr = PyExc_RuntimeError; + YAPPycatch(e); + SWIG_fail; + } + } - LOCAL_Error_TYPE = YAP_NO_ERROR; - switch (e.getErrorClass()) { - case YAPC_NO_ERROR: - break; - /// bad domain, "first argument often is the predicate. - case DOMAIN_ERROR: { - switch (en) { - case DOMAIN_ERROR_OUT_OF_RANGE: - pyerr = PyExc_GeneratorExit; - break; - case DOMAIN_ERROR_NOT_LESS_THAN_ZERO: - pyerr = PyExc_IndexError; - break; - case DOMAIN_ERROR_CLOSE_OPTION: - case DOMAIN_ERROR_ENCODING: - case DOMAIN_ERROR_PROLOG_FLAG: - case DOMAIN_ERROR_ABSOLUTE_FILE_NAME_OPTION: - case DOMAIN_ERROR_READ_OPTION: - case DOMAIN_ERROR_SET_STREAM_OPTION: - pyerr = PyExc_KeyError; - break; - case DOMAIN_ERROR_FILE_ERRORS: - case DOMAIN_ERROR_FILE_TYPE: - case DOMAIN_ERROR_IO_MODE: - case DOMAIN_ERROR_SOURCE_SINK: - case DOMAIN_ERROR_STREAM_POSITION: - pyerr = PyExc_IOError; - break; - default: - pyerr = PyExc_ValueError; - } - } break; - /// bad arithmetic - case EVALUATION_ERROR: { - switch (en) { - case EVALUATION_ERROR_FLOAT_OVERFLOW: - case EVALUATION_ERROR_INT_OVERFLOW: - pyerr = PyExc_OverflowError; - break; - case EVALUATION_ERROR_FLOAT_UNDERFLOW: - case EVALUATION_ERROR_UNDERFLOW: - case EVALUATION_ERROR_ZERO_DIVISOR: - pyerr = PyExc_ArithmeticError; - break; - default: - pyerr = PyExc_RuntimeError; - } - } break; - /// missing object (I/O mostly) - case EXISTENCE_ERROR: - pyerr = PyExc_NotImplementedError; - break; - /// should be bound - case INSTANTIATION_ERROR_CLASS: - pyerr = PyExc_RuntimeError; - break; - /// bad access, I/O - case PERMISSION_ERROR: { - switch (en) { - case PERMISSION_ERROR_INPUT_BINARY_STREAM: - case PERMISSION_ERROR_INPUT_PAST_END_OF_STREAM: - case PERMISSION_ERROR_INPUT_STREAM: - case PERMISSION_ERROR_INPUT_TEXT_STREAM: - case PERMISSION_ERROR_OPEN_SOURCE_SINK: - case PERMISSION_ERROR_OUTPUT_BINARY_STREAM: - case PERMISSION_ERROR_REPOSITION_STREAM: - case PERMISSION_ERROR_OUTPUT_STREAM: - case PERMISSION_ERROR_OUTPUT_TEXT_STREAM: - pyerr = PyExc_OverflowError; - break; - default: - pyerr = PyExc_RuntimeError; - } - } break; - /// something that could not be represented into a type - case REPRESENTATION_ERROR: - pyerr = PyExc_RuntimeError; - break; - /// not enough .... - case RESOURCE_ERROR: - pyerr = PyExc_RuntimeError; - break; - /// bad text - case SYNTAX_ERROR_CLASS: - pyerr = PyExc_SyntaxError; - break; - /// OS or internal - case SYSTEM_ERROR_CLASS: - pyerr = PyExc_RuntimeError; - break; - /// bad typing - case TYPE_ERROR: - pyerr = PyExc_TypeError; - break; - /// should be unbound - case UNINSTANTIATION_ERROR_CLASS: - pyerr = PyExc_RuntimeError; - break; - /// escape hatch - default: - break; - } - PyErr_SetString(pyerr, e.text().c_str()); - } - } + %typecheck(2) Int { $1 = PyLong_Check($input); } + %typecheck(3) double { $1 = PyFloat_Check($input); } + %typecheck(2) const char * { $1 = PyUnicode_Check($input); } - #else + %typecheck(1) Term { $1 = !PyUnicode_Check($input); } + %typecheck(1) YAP_Term { $1 = PyUnicode_Check($input); } + + %typecheck(0) YAPTerm { $1 = !PyUnicode_Check($input); } + +#else %typemap(in) arity_t { (jlong)($input); } - %typecheck(2) Int { $1 = PyLong_Check($input); } - %typecheck(3) double { $1 = PyFloat_Check($input); } - %typecheck(2) const char * { $1 = PyUnicode_Check($input); } - - %typecheck(1) Term { $1 = !PyUnicode_Check($input); } - %typecheck(1) YAP_Term { $1 = PyUnicode_Check($input); } - - %typecheck(0) YAPTerm { $1 = !PyUnicode_Check($input); } %typemap(in) jlong %{ @@ -288,16 +152,16 @@ X_API extern Term YAP_MkCharPTerm( char *n); } } +#endif - #endif - %{ - /* Put header files here or function declarations like below */ + %{ + /* Put header files here or function declarations like below */ #include "yapi.hh" - extern "C" { + extern void Yap_PrintException(yap_error_descriptor_t *i); #if THREADS #define Yap_regp regcache @@ -310,10 +174,160 @@ X_API extern Term YAP_MkCharPTerm( char *n); extern void init_sqlite(); - %} #define X_API + + #include + #include + + extern "C"{ + #include "Yap.h" + +X_API extern Term YAP_MkCharPTerm( char *n); + +#if defined(SWIGPYTHON) + + #include + + X_API extern PyObject * pYAPError; + + extern inline PyObject *AtomToPy(const char *s) { + if (strcmp(s, "true") == 0) + return Py_True; + if (strcmp(s, "false") == 0) + return Py_False; + if (strcmp(s, "none") == 0) + return Py_None; + if (strcmp(s, "[]") == 0) + return PyList_New(0); + else if (strcmp(s, "{}") == 0) + return PyDict_New(); + /* return __main__,s */ + else if (PyObject_HasAttrString(py_Main, s)) { + return PyObject_GetAttrString(py_Main, s); + } + // no way to translate + return NULL; + } + +static void + YAPPycatch(YAPError &e) +{ + + yap_error_number en = e.getID(); +std::cerr << e.text() << "\n"; + + +return; + switch (e.getErrorClass()) { + case YAPC_NO_ERROR: + break; + /// bad domain, "first argument often is the predicate. + case DOMAIN_ERROR: { + switch (en) { + case DOMAIN_ERROR_OUT_OF_RANGE: + pYAPError = PyExc_GeneratorExit; + break; + case DOMAIN_ERROR_NOT_LESS_THAN_ZERO: + pYAPError = PyExc_IndexError; + break; + case DOMAIN_ERROR_CLOSE_OPTION: + case DOMAIN_ERROR_ENCODING: + case DOMAIN_ERROR_PROLOG_FLAG: + case DOMAIN_ERROR_ABSOLUTE_FILE_NAME_OPTION: + case DOMAIN_ERROR_READ_OPTION: + case DOMAIN_ERROR_SET_STREAM_OPTION: + pYAPError = PyExc_KeyError; + break; + case DOMAIN_ERROR_FILE_ERRORS: + case DOMAIN_ERROR_FILE_TYPE: + case DOMAIN_ERROR_IO_MODE: + case DOMAIN_ERROR_SOURCE_SINK: + case DOMAIN_ERROR_STREAM_POSITION: + pYAPError = PyExc_IOError; + break; + default: + pYAPError = PyExc_ValueError; + } + } break; + /// bad arithmetic + case EVALUATION_ERROR: { + switch (en) { + case EVALUATION_ERROR_FLOAT_OVERFLOW: + case EVALUATION_ERROR_INT_OVERFLOW: + pYAPError = PyExc_OverflowError; + break; + case EVALUATION_ERROR_FLOAT_UNDERFLOW: + case EVALUATION_ERROR_UNDERFLOW: + case EVALUATION_ERROR_ZERO_DIVISOR: + pYAPError = PyExc_ArithmeticError; + break; + default: + pYAPError = PyExc_RuntimeError; + } + } break; + /// missing object (I/O mostly) + case EXISTENCE_ERROR: + pYAPError = PyExc_NotImplementedError; + break; + /// should be bound + case INSTANTIATION_ERROR_CLASS: + pYAPError = PyExc_RuntimeError; + break; + /// bad access, I/O + case PERMISSION_ERROR: { + switch (en) { + case PERMISSION_ERROR_INPUT_BINARY_STREAM: + case PERMISSION_ERROR_INPUT_PAST_END_OF_STREAM: + case PERMISSION_ERROR_INPUT_STREAM: + case PERMISSION_ERROR_INPUT_TEXT_STREAM: + case PERMISSION_ERROR_OPEN_SOURCE_SINK: + case PERMISSION_ERROR_OUTPUT_BINARY_STREAM: + case PERMISSION_ERROR_REPOSITION_STREAM: + case PERMISSION_ERROR_OUTPUT_STREAM: + case PERMISSION_ERROR_OUTPUT_TEXT_STREAM: + pYAPError = PyExc_OverflowError; + break; + default: + pYAPError = PyExc_RuntimeError; + } + } break; + /// something that could not be represented into a type + case REPRESENTATION_ERROR: + pYAPError = PyExc_RuntimeError; + break; + /// not enough .... + case RESOURCE_ERROR: + pYAPError = PyExc_RuntimeError; + break; + /// bad text + case SYNTAX_ERROR_CLASS: + pYAPError = PyExc_SyntaxError; + break; + /// OS or internal + case SYSTEM_ERROR_CLASS: + pYAPError = PyExc_RuntimeError; + break; + /// bad typing + case TYPE_ERROR: + pYAPError = PyExc_TypeError; + break; + /// should be unbound + case UNINSTANTIATION_ERROR_CLASS: + pYAPError = PyExc_RuntimeError; + break; + /// escape hatch + default: + break; + } + PyErr_SetString(pYAPError, e.text().c_str()); + } +#endif + } + + %} + /* turn on director wrapping Callback */ //%feature("director") YAPCallback; @@ -341,4 +355,8 @@ X_API extern Term YAP_MkCharPTerm( char *n); }; %init %{ + PyObject * pYAPError = PyErr_NewException("_yap.YAPError", NULL, NULL); + Py_INCREF(pYAPError); + PyModule_AddObject(m, "YAPError", pYAPError); + %} diff --git a/pl/consult.yap b/pl/consult.yap index c00331f1d..ce366ed89 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -307,9 +307,12 @@ load_files(Files0,Opts) :- '$load_files__'(Files, M, Opts, Call). '$load_files__'(Files, M, Opts, Call) :- '$lf_option'(last_opt, LastOpt), - ( '__NB_getval__'('$lf_status', OldTOpts, fail), - nonvar(OldTOpts) + '$show_consult_level'(LC), + writeln(user_error,innbbbbbb), + ( LC > 0 -> + '__NB_getval__'('$lf_status', OldTOpts, fail), + nonvar(OldTOpts), '$lf_opt'(autoload, OldTOpts, OldAutoload), '$lf_opt'('$context_module', OldTOpts, OldContextModule) ; diff --git a/pl/imports.yap b/pl/imports.yap index 665f4f675..8090fd8d5 100644 --- a/pl/imports.yap +++ b/pl/imports.yap @@ -62,6 +62,75 @@ '$get_undefined_predicates'(G, ImportingMod, G0, ExportingMod), ExportingMod \= ImportingMod. + + % be careful here not to generate an undefined exception. + '$generate_imported_predicate'(G, ImportingMod, G0, ExportingMod) :- + ( + recorded('$import','$import'(ExportingModI,ImportingMod,G0I,G,_,_),_) + ; + '$parent_module'(ImportingMod,ExportingModI), + \+ recorded('$import','$import'(ExportingModI,ImportingMod,G0I,G,_,_),_) + ), + ImportingMod \= ExportingModI, + ( + '$undefined'(G, ExportingModI) + -> + '$generate_imported_predicate'(G, ExportingModI, G0, ExportingMod) + ; + G=G0, + ExportingModI=ExportingMod + ). + + /** + * + * @pred '$continue_imported'(+ModIn, +ModOut, +PredIn ,+PredOut) + * + * @return + */ + '$continue_imported'(Mod,Mod,Pred,Pred) :- + '$pred_exists'(Pred, Mod), + !. + '$continue_imported'(FM,Mod,FPred,Pred) :- + recorded('$import','$import'(IM,Mod,IPred,Pred,_,_),_), + '$continue_imported'(FM, IM, FPred, IPred), !. + '$continue_imported'(FM,Mod,FPred,Pred) :- + prolog:'$parent_module'(Mod,IM), + '$continue_imported'(FM, IM, FPred, Pred). + + + '$autoload'(G, _ImportingMod, ExportingMod, Dialect) :- + functor(G, Name, Arity), + '$pred_exists'(index(Name,Arity,ExportingMod,_),Dialect), + call(Dialect:index(Name,Arity,ExportingMod,_)), + !. + '$autoload'(G, ImportingMod, ExportingMod, _Dialect) :- + functor(G, N, K), + functor(G0, N, K), + '$autoloader_find_predicate'(G0,ExportingMod), + ExportingMod \= ImportingMod, + (recordzifnot('$import','$import'(ExportingMod,ImportingMod,G0,G0, N ,K),_) -> true ; true ). + + + '$autoloader_find_predicate'(G,ExportingModI) :- + '__NB_getval__'('$autoloader_set', true, false), !, + autoloader:find_predicate(G,ExportingModI). + '$autoloader_find_predicate'(G,ExportingModI) :- + yap_flag(autoload, true, false), + yap_flag( unknown, Unknown, fail), + yap_flag(debug, Debug, false), !, + load_files([library(autoloader), + autoloader:library('INDEX'), + swi:library('dialect/swi/INDEX')], + [autoload(true),if(not_loaded)]), + nb_setval('$autoloader_set', true), + yap_flag(autoload, _, true), + yap_flag( unknown, _, Unknown), + yap_flag( debug, _, Debug), + autoloader:find_predicate(G,ExportingModI). + + + + /** * * @} diff --git a/pl/messages.yap b/pl/messages.yap index 7e6115c98..83d7ff626 100644 --- a/pl/messages.yap +++ b/pl/messages.yap @@ -244,7 +244,7 @@ compose_message(style_check(What,FILE,Line,Clause), Level)--> main_message(style_check(What,FILE,Line,Clause) , Level, LC ). compose_message(yes, _Level) --> !, [ 'yes'- [] ]. -compose_message(Throw, _Leve) --> +compose_message(Throw, _Level) --> !, [ 'UNHANDLED EXCEPTION - message ~w unknown' - [Throw] ]. diff --git a/pl/modules.yap b/pl/modules.yap index 6aba25b45..3dcfb5e2e 100644 --- a/pl/modules.yap +++ b/pl/modules.yap @@ -339,52 +339,6 @@ system_module(Mod) :- tell(F),fail. '$trace_module'(_,_). -/** - * - * @pred '$continue_imported'(+ModIn, +ModOut, +PredIn ,+PredOut) - * - * @return - */ -'$continue_imported'(Mod,Mod,Pred,Pred) :- - '$pred_exists'(Pred, Mod), - !. -'$continue_imported'(FM,Mod,FPred,Pred) :- - recorded('$import','$import'(IM,Mod,IPred,Pred,_,_),_), - '$continue_imported'(FM, IM, FPred, IPred), !. -'$continue_imported'(FM,Mod,FPred,Pred) :- - prolog:'$parent_module'(Mod,IM), - '$continue_imported'(FM, IM, FPred, Pred). - - -'$autoload'(G, _ImportingMod, ExportingMod, Dialect) :- - functor(G, Name, Arity), - '$pred_exists'(index(Name,Arity,ExportingMod,_),Dialect), - call(Dialect:index(Name,Arity,ExportingMod,_)), - !. -'$autoload'(G, ImportingMod, ExportingMod, _Dialect) :- - functor(G, N, K), - functor(G0, N, K), - '$autoloader_find_predicate'(G0,ExportingMod), - ExportingMod \= ImportingMod, - (recordzifnot('$import','$import'(ExportingMod,ImportingMod,G0,G0, N ,K),_) -> true ; true ). - - -'$autoloader_find_predicate'(G,ExportingModI) :- - '__NB_getval__'('$autoloader_set', true, false), !, - autoloader:find_predicate(G,ExportingModI). -'$autoloader_find_predicate'(G,ExportingModI) :- - yap_flag(autoload, true, false), - yap_flag( unknown, Unknown, fail), - yap_flag(debug, Debug, false), !, - load_files([library(autoloader), - autoloader:library('INDEX'), - swi:library('dialect/swi/INDEX')], - [autoload(true),if(not_loaded)]), - nb_setval('$autoloader_set', true), - yap_flag(autoload, _, true), - yap_flag( unknown, _, Unknown), - yap_flag( debug, _, Debug), - autoloader:find_predicate(G,ExportingModI). /** diff --git a/pl/preds.yap b/pl/preds.yap index bc2ad933f..5b8422256 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -491,39 +491,17 @@ or built-in. */ predicate_property(Pred,Prop) :- - strip_module(Pred, Mod, TruePred), - '$predicate_property2'(TruePred,Prop,Mod). - -'$predicate_property2'(Pred, Prop, Mod) :- - var(Mod), !, - '$all_current_modules'(Mod), - '$predicate_property2'(Pred, Prop, Mod). -'$predicate_property2'(Pred,Prop,M0) :- - var(Pred), !, - (M = M0 ; - M0 \= prolog, M = prolog ; - M0 \= user, M = user), % prolog and user modules are automatically incorporate in every other module - '$generate_all_preds_from_mod'(Pred, SourceMod, M), - '$predicate_property'(Pred,SourceMod,M,Prop). -'$predicate_property2'(M:Pred,Prop,_) :- !, - '$predicate_property2'(Pred,Prop,M). -'$predicate_property2'(Pred,Prop,Mod) :- - '$pred_exists'(Pred,Mod), !, - '$predicate_property'(Pred,Mod,Mod,Prop). -'$predicate_property2'(Pred,Prop,Mod) :- - '$get_undefined_pred'(Pred, Mod, NPred, M), - ( - Prop = imported_from(M) - ; - '$predicate_property'(NPred,M,M,Prop), - Prop \= exported - ). - -'$generate_all_preds_from_mod'(Pred, M, M) :- - '$current_predicate'(_Na,M,Pred,_). -'$generate_all_preds_from_mod'(Pred, SourceMod, Mod) :- - recorded('$import','$import'(SourceMod, Mod, Orig, Pred,_,_),_), - '$pred_exists'(Orig, SourceMod). + current_predicate(_,Pred), + '$yap_strip_module'(Pred, Mod, TruePred), + ( + '$pred_exists'(TruePred, Mod) + -> + M = Mod, + NPred = TruePred + ; + '$get_undefined_pred'(TruePred, Mod, NPred, M) + ), + '$predicate_property'(NPred,M,Mod,Prop). '$predicate_property'(P,M,_,built_in) :- '$is_system_predicate'(P,M). @@ -551,6 +529,8 @@ predicate_property(Pred,Prop) :- functor(P,N,A), once(recorded('$module','$module'(_TFN,M,_S,Publics,_L),_)), lists:memberchk(N/A,Publics). +'$predicate_property'(P,M,M0,imported_from(M0)) :- + M \= M0. '$predicate_property'(P,Mod,_,number_of_clauses(NCl)) :- '$number_of_clauses'(P,Mod,NCl). '$predicate_property'(P,Mod,_,file(F)) :- @@ -606,11 +586,22 @@ Defines the relation: _P_ is a currently defined predicate whose name is the at */ current_predicate(A,T0) :- '$yap_strip_module'(T0, M, T), - (nonvar(T) -> functor(T, A, _) ; true ), + ( var(Mod) + -> + '$all_current_modules'(M) + ; + true + ), +(nonvar(T) -> functor(T, A, _) ; true ), ( '$current_predicate'(A,M, T, user) ; - '$imported_predicate'(T, M, T1, M1), + (nonvar(T) + -> + '$imported_predicate'(T, M, T1, M1) + ; + '$generate_imported_predicate'(T, M, T1, M1) + ), functor(T1, A, _), \+ '$is_system_predicate'(T1,M1) ). From abc11dcfaa9121f60297853b4fee59e0dff98e69 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 18 Jul 2018 17:36:01 +0100 Subject: [PATCH 10/57] :fixes --- C/adtdefs.c | 11 +- C/exec.c | 2 +- C/text.c | 502 ++++++++++-------- H/YapText.h | 5 +- os/fmem.c | 3 +- os/sysbits.c | 1 + packages/python/swig/yap4py/yapi.py | 2 + .../yap_kernel/yap_ipython/prolog/jupyter.yap | 9 +- .../yap_kernel/yap_ipython/prolog/verify.yap | 19 +- .../python/yap_kernel/yap_ipython/yapi.py | 441 ++++++++++++++- packages/swig/yap.i | 4 - pl/control.yap | 2 +- 12 files changed, 728 insertions(+), 273 deletions(-) diff --git a/C/adtdefs.c b/C/adtdefs.c index b5aff1ed3..e6ead9022 100755 --- a/C/adtdefs.c +++ b/C/adtdefs.c @@ -152,7 +152,6 @@ Yap_AtomInUse(const char *atom) { /* lookup atom in atom table */ uint64_t hash; const unsigned char *p; Atom a, na = NIL; - AtomEntry *ae; size_t sz = AtomHashTableSize; /* compute hash */ @@ -165,7 +164,6 @@ Yap_AtomInUse(const char *atom) { /* lookup atom in atom table */ a = HashChain[hash].Entry; /* search atom in chain */ na = SearchAtom(p, a); - ae = RepAtom(na); if (na != NIL ) { READ_UNLOCK(HashChain[hash].AERWLock); return (na); @@ -211,7 +209,11 @@ LookupAtom(const unsigned char *atom) { /* lookup atom in atom table */ } #endif /* add new atom to start of chain */ - sz = strlen((const char *)atom); + if (atom[0] == '\0') { + sz = YAP_ALIGN; + } else { + sz = strlen((const char *)atom); + } size_t asz = (sizeof *ae) + ( sz+1); ae = malloc(asz); if (ae == NULL) { @@ -249,7 +251,8 @@ Atom Yap_LookupAtomWithLength(const char *atom, return NIL; memmove(ptr, atom, len0); ptr[len0] = '\0'; - at = LookupAtom(ptr); + if (atom[0] '\0') { + at = LookupAtom(ptr); Yap_FreeCodeSpace(ptr); return at; } diff --git a/C/exec.c b/C/exec.c index 4386810c9..c4fd7c8bb 100755 --- a/C/exec.c +++ b/C/exec.c @@ -1,4 +1,4 @@ -/************************************************************************* + /************************************************************************* * * * YAP Prolog * * * diff --git a/C/text.c b/C/text.c index b1b78aeb9..077eb937d 100644 --- a/C/text.c +++ b/C/text.c @@ -91,11 +91,11 @@ void *pop_output_text_stack__(int i, const void *export) { while (p) { struct mblock *np = p->next; if (p + 1 == export) { - size_t sz = p->sz - sizeof(struct mblock); - memmove(p, p + 1, sz); - export = p; + size_t sz = p->sz - sizeof(struct mblock); + memmove(p, p + 1, sz); + export = p; } else { - free(p); + free(p); } p = np; } @@ -229,9 +229,9 @@ static Term Globalize(Term v USES_REGS) { } static void *codes2buf(Term t0, void *b0, bool get_codes, - bool fixed USES_REGS) { + bool fixed USES_REGS) { unsigned char *st0, *st, ar[16]; - Term t = t0; + Term t = Deref(t0); size_t length = 0; if (t == TermNil) { @@ -247,7 +247,7 @@ static void *codes2buf(Term t0, void *b0, bool get_codes, if (get_codes != codes && fixed) { if (codes) { Yap_ThrowError(TYPE_ERROR_INTEGER, HeadOfTerm(t), - "scanning list of codes"); + "scanning list of codes"); } else { Yap_ThrowError(TYPE_ERROR_ATOM, HeadOfTerm(t), "scanning list of atoms"); } @@ -256,55 +256,55 @@ static void *codes2buf(Term t0, void *b0, bool get_codes, while (IsPairTerm(t)) { Term hd = HeadOfTerm(t); if (IsVarTerm(hd)) { - Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; } if (!IsIntegerTerm(hd)) { - Yap_ThrowError(TYPE_ERROR_CHARACTER_CODE, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER_CODE, hd, "scanning list of codes"); + return NULL; } Int code = IntegerOfTerm(hd); if (code < 0) { - Yap_ThrowError(REPRESENTATION_ERROR_CHARACTER_CODE, hd, - "scanning list of character codes, found %d", code); - return NULL; + Yap_ThrowError(REPRESENTATION_ERROR_CHARACTER_CODE, hd, + "scanning list of character codes, found %d", code); + return NULL; } length += put_utf8(ar, code); t = TailOfTerm(t); if (IsVarTerm(t)) { - Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; } if (!IsPairTerm(t) && t != TermNil) { - Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } } } else { while (IsPairTerm(t)) { Term hd = HeadOfTerm(t); if (IsVarTerm(hd)) { - Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; } if (!IsAtomTerm(hd)) { - Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of texts"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of texts"); + return NULL; } const char *code = RepAtom(AtomOfTerm(hd))->StrOfAE; if (code < 0) { - Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of atoms"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of atoms"); + return NULL; } length += strlen(code); t = TailOfTerm(t); if (IsVarTerm(t)) { - Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; } if (!IsPairTerm(t) && t != TermNil) { - Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } } } @@ -374,33 +374,33 @@ static unsigned char *wchar2utf8(seq_tv_t *inp) { static void *slice(size_t min, size_t max, const unsigned char *buf USES_REGS); static unsigned char *Yap_ListOfCodesToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { bool codes = true, fixed = true; unsigned char *nbuf = codes2buf(t, buf, codes, fixed PASS_REGS); return nbuf; } static unsigned char *Yap_ListOfAtomsToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { bool codes = false; unsigned char *nbuf = codes2buf(t, buf, codes, true PASS_REGS); return nbuf; } static unsigned char *Yap_ListToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { return codes2buf(t, buf, NULL, false PASS_REGS); } #if USE_GEN_TYPE_ERROR static yap_error_number gen_type_error(int flags) { if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) return TYPE_ERROR_TEXT; if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) return TYPE_ERROR_ATOMIC; @@ -417,149 +417,183 @@ static yap_error_number gen_type_error(int flags) { } #endif -// static int cnt; +static yap_error_number type_error(seq_tv_t *inp) { + if ((inp->type & YAP_STRING_ATOMS_CODES) == YAP_STRING_ATOMS_CODES) + { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & YAP_STRING_ATOMS) == YAP_STRING_ATOMS) { + return TYPE_ERROR_CHARACTER; + } + if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { + return TYPE_ERROR_CHARACTER_CODE; + } + if ((inp->type & YAP_STRING_STRING) == YAP_STRING_STRING) { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & (YAP_STRING_ATOM|YAP_STRING_STRING)) == (YAP_STRING_ATOM|YAP_STRING_STRING)) { + return TYPE_ERROR_ATOMIC; + } + if ((inp->type & YAP_STRING_ATOM) == YAP_STRING_ATOM) { + return TYPE_ERROR_IN_CHARACTER; + } + return SYSTEM_ERROR_INTERNAL; +} +/// @brief translate anything to bufffer UTF-8 +/// +/// @arg input descriptor unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { #define POPRET(x) return pop_output_text_stack(lvl, x) int lvl = push_text_stack(); char *out = NULL; - yap_error_number err0 = LOCAL_Error_TYPE; /* we know what the term is */ - if (!(inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { - if (!(inp->type & YAP_STRING_TERM)) { - if (IsVarTerm(inp->val.t)) { - LOCAL_Error_TYPE = INSTANTIATION_ERROR; - } else if (!IsAtomTerm(inp->val.t) && inp->type == YAP_STRING_ATOM) { - LOCAL_Error_TYPE = TYPE_ERROR_ATOM; - } else if (!IsStringTerm(inp->val.t) && inp->type == YAP_STRING_STRING) { - LOCAL_Error_TYPE = TYPE_ERROR_STRING; - } else if (!IsPairOrNilTerm(inp->val.t) && !IsStringTerm(inp->val.t) && - inp->type == (YAP_STRING_ATOMS_CODES | YAP_STRING_STRING)) { - LOCAL_ActiveError->errorRawTerm = inp->val.t; - } else if (!IsPairOrNilTerm(inp->val.t) && !IsStringTerm(inp->val.t) && - !IsAtomTerm(inp->val.t) && !(inp->type & YAP_STRING_DATUM)) { - LOCAL_Error_TYPE = TYPE_ERROR_TEXT; + if ((inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { + //> buffer processing + //> must convert: + if (inp->type & YAP_STRING_CHARS) { + //> - ASCII to UTF-8 + if (inp->enc == ENC_ISO_ASCII) { + pop_text_stack(lvl); + return inp->val.uc; + } + //> - ISO-LATIN-1 to UTF-8 + if (inp->enc == ENC_ISO_LATIN1) { + POPRET( (char*)latin2utf8(inp)); + } + + //> - assume UTF-8 + if (inp->enc == ENC_ISO_UTF8) { + pop_text_stack(lvl); + return inp->val.uc; } } - if (err0 != LOCAL_Error_TYPE) { - Yap_ThrowError(LOCAL_Error_TYPE, inp->val.t, "while reading text in"); + if (inp->type & YAP_STRING_WCHARS) { + // printf("%S\n",inp->val.w); + //> wide includes everything else + POPRET( (char *)wchar2utf8(inp) ); } - } - if (IsAtomTerm(inp->val.t) && inp->type & YAP_STRING_ATOM) { - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - Atom at = AtomOfTerm(inp->val.t); - if (RepAtom(at)->UStrOfAE[0] == 0) { - out = Malloc(4); - memset(out, 0, 4); - POPRET( out ); - } - if (inp->type & YAP_STRING_WITH_BUFFER) { + } else { + if (inp->type & YAP_STRING_TERM) { + //> term: anything goes pop_text_stack(lvl); - return at->UStrOfAE; + return (unsigned char *)Yap_TermToBuffer(inp->val.t, 0); } - { - size_t sz = strlen(at->StrOfAE); - out = Malloc(sz + 1); - strcpy(out, at->StrOfAE); - POPRET( out ); + if (IsVarTerm(inp->val.t)) { + Yap_ThrowError(INSTANTIATION_ERROR, inp->val.t, NULL); } - } - if (IsStringTerm(inp->val.t) && inp->type & YAP_STRING_STRING) { - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - const char *s = StringOfTerm(inp->val.t); - if (s[0] == 0) { - out = Malloc(4); - memset(out, 0, 4); - POPRET( out ); + if (IsPairOrNilTerm(inp->val.t)) { + if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == + (YAP_STRING_CODES | YAP_STRING_ATOMS))) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListToBuffer(NULL, inp->val.t, inp PASS_REGS); + POPRET( out ); + // this is a term, extract to a sfer, and representation is wide + } + if (inp->type & YAP_STRING_CODES) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfCodesToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a sfer, and representation is wide + POPRET( out ); + } + + if (inp->type & YAP_STRING_ATOMS) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfAtomsToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a buffer, and representation is wide + POPRET( out ); + } } - if (inp->type & YAP_STRING_WITH_BUFFER) { - pop_text_stack(lvl); - return (unsigned char *)UStringOfTerm(inp->val.t); - } - { - inp->type |= YAP_STRING_IN_TMP; - size_t sz = strlen(s); - out = Malloc(sz + 1); - strcpy(out, s); - POPRET( out ); - } - } else if (IsPairOrNilTerm(inp->val.t)) { - if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == - (YAP_STRING_CODES | YAP_STRING_ATOMS))) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListToBuffer(NULL, inp->val.t, inp PASS_REGS); - POPRET( out ); - // this is a term, extract to a sfer, and representation is wide - } - if (inp->type & YAP_STRING_CODES) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListOfCodesToBuffer(NULL, inp->val.t, inp PASS_REGS); - // this is a term, extract to a sfer, and representation is wide - POPRET( out ); - } - if (inp->type & YAP_STRING_ATOMS) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListOfAtomsToBuffer(NULL, inp->val.t, inp PASS_REGS); + if (IsStringTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_STRING))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + const char *s = StringOfTerm(inp->val.t); + if (s[0] == 0) { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return (unsigned char *)UStringOfTerm(inp->val.t); + } + { + inp->type |= YAP_STRING_IN_TMP; + size_t sz = strlen(s); + out = Malloc(sz + 1); + strcpy(out, s); + POPRET( out ); + } + } + if (IsAtomTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_ATOM))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } + // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + Atom at = AtomOfTerm(inp->val.t); + if (RepAtom(at)->UStrOfAE[0] == '\0') { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return at->UStrOfAE; + } else + { + size_t sz = strlen(at->StrOfAE); + out = Malloc(sz + 1); + strcpy(out, at->StrOfAE); + POPRET( out ); + } + } + if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_INT))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (snprintf(out, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, + IntegerOfTerm(inp->val.t)) < 0) { + AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), out, char); + } POPRET( out ); } - } - if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { - // ASCII, so both LATIN1 and UTF-8 - // Yap_DebugPlWriteln(inp->val.t); - out = Malloc(2 * MaxTmp(PASS_REGS1)); - if (snprintf(out, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, - IntegerOfTerm(inp->val.t)) < 0) { - AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), out, char); + if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_FLOAT))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &out, 1024)) { + pop_text_stack(lvl); + return NULL; + } + POPRET(out); } - POPRET( out ); - } - if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { - out = Malloc(2 * MaxTmp(PASS_REGS1)); - if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &out, 1024)) { - pop_text_stack(lvl); - return NULL; - } - POPRET(out); - } #if USE_GMP - if (inp->type & YAP_STRING_BIG && IsBigIntTerm(inp->val.t)) { - // Yap_DebugPlWriteln(inp->val.t); - out = Malloc(MaxTmp()); - if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), out, MaxTmp() - 1, - 10)) { - AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), out, char); + if ( IsBigIntTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_BIG))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(MaxTmp()); + if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), out, MaxTmp() - 1, + 10)) { + AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), out, char); + } + POPRET(out); } - POPRET(out); - } #endif - if (inp->type & YAP_STRING_TERM) { - pop_text_stack(lvl); - return Yap_TermToBuffer(inp->val.t, 0); - } - - if (inp->type & YAP_STRING_CHARS) { - if (inp->enc == ENC_ISO_ASCII) { - pop_text_stack(lvl); - return inp->val.uc; - } - - if (inp->enc == ENC_ISO_LATIN1) { - POPRET( (char*)latin2utf8(inp)); - } - - if (inp->enc == ENC_ISO_UTF8) { - pop_text_stack(lvl); - return inp->val.c; - } - } - if (inp->type & YAP_STRING_WCHARS) { - // printf("%S\n",inp->val.w); - POPRET( (char *)wchar2utf8(inp) ); } pop_text_stack(lvl); + Yap_ThrowError(type_error(inp), inp->val.t, NULL); return NULL; } @@ -727,11 +761,11 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { utf8proc_int32_t chr; int off = get_utf8(cp, -1, &chr); if (off <= 0 || chr > 255) { - pop_text_stack(l); - return NULL; + pop_text_stack(l); + return NULL; } if (off == max) - break; + break; cp += off; *buf++ = chr; } @@ -739,10 +773,10 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } } else if (out->enc == ENC_WCHAR) { unsigned char *s = s0, *lim = s + (max = strnlen((char *)s0, max)); @@ -763,10 +797,10 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } *buf = '\0'; } else { @@ -783,7 +817,7 @@ static size_t write_length(const unsigned char *s0, seq_tv_t *out USES_REGS) { } static Term write_number(unsigned char *s, seq_tv_t *out, - bool error_on USES_REGS) { + bool error_on USES_REGS) { Term t; LOCAL_delay = !error_on; t = Yap_StringToNumberTerm((char *)s, &out->enc, error_on); @@ -812,7 +846,7 @@ bool write_Text(unsigned char *inp, seq_tv_t *out USES_REGS) { if (out->type & (YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) { if ((out->val.t = write_number( - inp, out, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { + inp, out, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { // Yap_DebugPlWriteln(out->val.t); return true; @@ -825,7 +859,7 @@ bool write_Text(unsigned char *inp, seq_tv_t *out USES_REGS) { if ((out->val.a = write_atom(inp, out PASS_REGS)) != NIL) { Atom at = out->val.a; if (at && (out->type & YAP_STRING_OUTPUT_TERM)) - out->val.t = MkAtomTerm(at); + out->val.t = MkAtomTerm(at); // Yap_DebugPlWriteln(out->val.t); return at != NIL; } @@ -925,12 +959,12 @@ bool Yap_CVT_Text(seq_tv_t *inp, seq_tv_t *out USES_REGS) { size_t leng = strlen_utf8(buf); if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { if (out->max < leng) { - const unsigned char *ptr = skip_utf8(buf, out->max); - size_t diff = (ptr - buf); - char *nbuf = Malloc(diff + 1); - memmove(nbuf, buf, diff); - nbuf[diff] = '\0'; - leng = diff; + const unsigned char *ptr = skip_utf8(buf, out->max); + size_t diff = (ptr - buf); + char *nbuf = Malloc(diff + 1); + memmove(nbuf, buf, diff); + nbuf[diff] = '\0'; + leng = diff; } // else if (out->type & YAP_STRING_NCHARS && // const unsigned char *ptr = skip_utf8(buf) @@ -938,32 +972,32 @@ bool Yap_CVT_Text(seq_tv_t *inp, seq_tv_t *out USES_REGS) { if (out->type & (YAP_STRING_UPCASE | YAP_STRING_DOWNCASE)) { if (out->type & YAP_STRING_UPCASE) { - if (!upcase(buf, out)) { - pop_text_stack(l); - return false; - } + if (!upcase(buf, out)) { + pop_text_stack(l); + return false; + } } if (out->type & YAP_STRING_DOWNCASE) { - if (!downcase(buf, out)) { - pop_text_stack(l); - return false; - } + if (!downcase(buf, out)) { + pop_text_stack(l); + return false; + } } } } rc = write_Text(buf, out PASS_REGS); /* fprintf(stderr, " -> "); - if (!rc) fprintf(stderr, "NULL"); - else if (out->type & - (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES - |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); - else if (out->type & - YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); - else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", - out->val.w); - else - fprintf(stderr, "%s", out->val.c); - fprintf(stderr, "\n]\n"); */ + if (!rc) fprintf(stderr, "NULL"); + else if (out->type & + (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES + |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); + else if (out->type & + YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); + else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", + out->val.w); + else + fprintf(stderr, "%s", out->val.c); + fprintf(stderr, "\n]\n"); */ pop_text_stack(l); return rc; } @@ -1049,7 +1083,7 @@ bool Yap_Concat_Text(int tot, seq_tv_t inp[], seq_tv_t *out USES_REGS) { // bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, - seq_tv_t outv[] USES_REGS) { + seq_tv_t outv[] USES_REGS) { int lvl = push_text_stack(); const unsigned char *buf; size_t b_l, u_l; @@ -1072,46 +1106,46 @@ bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, unsigned char *buf0, *buf1; if (outv[0].val.t) { - buf0 = Yap_readText(outv PASS_REGS); - if (!buf0) { - return false; - } - b_l0 = strlen((const char *)buf0); - if (memcmp(buf, buf0, b_l0) != 0) { - pop_text_stack(lvl); - return false; - } - u_l0 = strlen_utf8(buf0); - u_l1 = u_l - u_l0; + buf0 = Yap_readText(outv PASS_REGS); + if (!buf0) { + return false; + } + b_l0 = strlen((const char *)buf0); + if (memcmp(buf, buf0, b_l0) != 0) { + pop_text_stack(lvl); + return false; + } + u_l0 = strlen_utf8(buf0); + u_l1 = u_l - u_l0; - b_l1 = b_l - b_l0; - buf1 = slice(u_l0, u_l, buf PASS_REGS); - b_l1 = strlen((const char *)buf1); - bool rc = write_Text(buf1, outv + 1 PASS_REGS); - pop_text_stack(lvl); - if (!rc) { - return false; - } - return rc; + b_l1 = b_l - b_l0; + buf1 = slice(u_l0, u_l, buf PASS_REGS); + b_l1 = strlen((const char *)buf1); + bool rc = write_Text(buf1, outv + 1 PASS_REGS); + pop_text_stack(lvl); + if (!rc) { + return false; + } + return rc; } else /* if (outv[1].val.t) */ { - buf1 = Yap_readText(outv + 1 PASS_REGS); - if (!buf1) { - pop_text_stack(lvl); - return false; - } - b_l1 = strlen((char *)buf1); - u_l1 = strlen_utf8(buf1); - b_l0 = b_l - b_l1; - u_l0 = u_l - u_l1; - if (memcmp(skip_utf8((const unsigned char *)buf, b_l0), buf1, b_l1) != - 0) { - pop_text_stack(lvl); - return false; - } - buf0 = slice(0, u_l0, buf PASS_REGS); - buf0 = pop_output_text_stack(lvl, buf0); - bool rc = write_Text(buf0, outv PASS_REGS); - return rc; + buf1 = Yap_readText(outv + 1 PASS_REGS); + if (!buf1) { + pop_text_stack(lvl); + return false; + } + b_l1 = strlen((char *)buf1); + u_l1 = strlen_utf8(buf1); + b_l0 = b_l - b_l1; + u_l0 = u_l - u_l1; + if (memcmp(skip_utf8((const unsigned char *)buf, b_l0), buf1, b_l1) != + 0) { + pop_text_stack(lvl); + return false; + } + buf0 = slice(0, u_l0, buf PASS_REGS); + buf0 = pop_output_text_stack(lvl, buf0); + bool rc = write_Text(buf0, outv PASS_REGS); + return rc; } } } @@ -1147,7 +1181,7 @@ bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, */ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { CACHE_REGS - Atom at; + Atom at; arity_t arity = 0; Functor f; char *s, *smax, *s0; @@ -1179,7 +1213,7 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { } else if (ap->PredFlags & AtomDBPredFlag) { at = (Atom)(ap->FunctorOfPred); if (!stpcpy(s, Yap_AtomToUTF8Text(at))) - return NULL; + return NULL; } else { f = ap->FunctorOfPred; at = NameOfFunctor(f); diff --git a/H/YapText.h b/H/YapText.h index 953e6a4b8..ff3edd105 100644 --- a/H/YapText.h +++ b/H/YapText.h @@ -472,7 +472,7 @@ static inline Term Yap_AtomicToListOfCodes(Term t0 USES_REGS) { seq_tv_t inp, out; inp.val.t = t0; inp.type = YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_TERM; + YAP_STRING_FLOAT | YAP_STRING_BIG ; out.val.uc = NULL; out.type = YAP_STRING_CODES; if (!Yap_CVT_Text(&inp, &out PASS_REGS)) @@ -522,8 +522,7 @@ static inline Term Yap_AtomSWIToListOfAtoms(Term t0 USES_REGS) { inp.val.t = t0; inp.type = YAP_STRING_ATOM | YAP_STRING_STRING | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES | - YAP_STRING_TERM; + YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES; out.val.uc = NULL; out.type = YAP_STRING_ATOMS; diff --git a/os/fmem.c b/os/fmem.c index c8400d440..b36970851 100644 --- a/os/fmem.c +++ b/os/fmem.c @@ -204,7 +204,7 @@ int Yap_open_buf_write_stream(encoding_t enc, memBufSource src) { st = GLOBAL_Stream + sno; st->status = Output_Stream_f | InMemory_Stream_f; - if (st->nbuf) + if (src) st->status |= FreeOnClose_Stream_f; st->linepos = 0; st->charcount = 0; @@ -224,6 +224,7 @@ int Yap_open_buf_write_stream(encoding_t enc, memBufSource src) { #else st->file = fmemopen((void *)st->nbuf, st->nsize, "w+"); #endif + st->vfs = NULL; Yap_DefaultStreamOps(st); UNLOCK(st->streamlock); return sno; diff --git a/os/sysbits.c b/os/sysbits.c index 5be1d4c84..25ab46a6d 100644 --- a/os/sysbits.c +++ b/os/sysbits.c @@ -1973,3 +1973,4 @@ void Yap_InitSysPreds(void) { Yap_InitCPred("sleep", 1, p_sleep, SyncPredFlag); Yap_InitCPred("make_directory", 1, make_directory, SyncPredFlag); } + diff --git a/packages/python/swig/yap4py/yapi.py b/packages/python/swig/yap4py/yapi.py index eb26525bd..f10d491fc 100644 --- a/packages/python/swig/yap4py/yapi.py +++ b/packages/python/swig/yap4py/yapi.py @@ -51,6 +51,8 @@ class JupyterEngine( Engine ): Engine.__init__(self, args) self.errors = None self.goal(set_prolog_flag('verbose', 'silent'),True) + self.goal(compile(library('verify')), True) + self.goal(compile(library('complete')), True) self.goal(compile(library('jupyter')), True) self.goal(set_prolog_flag('verbose', 'normal'), True) diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index 05199513c..02e428134 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -1,3 +1,4 @@ + /** * @file jupyter.yap4py * @@ -16,10 +17,10 @@ :- use_module(library(lists)). :- use_module(library(maplist)). -:- use_module(library(python)). -:- use_module(library(yapi)). -:- use_module(library(complete)). -:- use_module(library(verify)). +:- reexport(library(python)). +:- reexport(library(yapi)). +:- reexport(library(complete)). +:- reexport(library(verify)). :- python_import(sys). diff --git a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap index 520809eeb..04a9b641c 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap @@ -6,7 +6,7 @@ :- module( verify, - [errors/2, + [errors/2,q ready/2] ). :- use_module(library(hacks)). @@ -22,7 +22,7 @@ ready( Engine, Query) :- errors( Engine , Cell ), Es := Engine.errors, - Es == []. + not Es == []. @@ -30,7 +30,7 @@ errors( _Engine , Text ) :- blank(Text). !. errors( Engine , Text ) :- - b_setval(jupyter, Engine), + jupyter..shell := Engine, setup_call_cleanup( open_esh( Engine , Text, Stream, Name ), esh(Engine , Name, Stream), @@ -46,23 +46,26 @@ open_esh(Engine , Text, Stream, Name) :- open_mem_read_stream( Text, Stream ). esh(Engine , Name, Stream) :- +b_setval(code,python), repeat, catch( - read_clause(Stream, Cl,[]), - E=error(C,E), - p_message(C,E) - ), + ( read_clause(Stream, Cl, [ syntax_errors(fail)]), + writeln(cl:Cl), + error(C,E), + p_message(C,E) + Cl == end_of_file, !. +user:print_message() :- p_message close_esh( _Engine , Stream ) :- + b_delete close(Stream). p_message(Severity, Error) :- writeln((Severity->Error)), - catch( b_getval(jupyter, Engine), _, fail ), p_message(Severity, Engine, Error). p_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 50545a203..64db56aa5 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -113,9 +113,424 @@ class YAPInputSplitter(InputSplitter): return True if not line: line = text.rstrip() - self.errors = [] - engine.mgoal(errors(self, line),"verify",True) - return self.errors != [] + engine.errors = [] + engine.goal(errors(engine, text),True) + print(engine.errors) + return engine.errors != [] + + + def reset(self): + """Reset the input buffer and associated state.""" + #super(YAPInputSplitter, self).reset() + self._buffer_raw[:] = [] + self.source_raw = '' + self.transformer_accumulating = False + + for t in self.transforms: + try: + t.reset() + except SyntaxError: + # Nothing that calls reset() expects to handle transformer + # errors + pass + + def flush_transformers(self): + def _flush(transform, outs): + """yield transformed lines + + always strings, never None + + transform: the current transform + outs: an iterable of previously transformed inputs. + Each may be multiline, which will be passed + one line at a time to transform. + """ + for out in outs: + for line in out.splitlines(): + # push one line at a time + tmp = transform.push(line) + if tmp is not None: + yield tmp + + # reset the transform + tmp = transform.reset() + if tmp is not None: + yield tmp + + out = [] + + for t in self.transforms: + out = _flush(t, out) + + out = list(out) + if out: + self._store('\n'.join(out)) + + def raw_reset(self): + """Return raw input only and perform a full reset. + """ + out = self.source_raw + self.reset() + return out + + def source_reset(self): + try: + self.flush_transformers() + return self.source + finally: + self.reset() + + def push_accepts_more(self): + if self.transformer_accumulating: + return True + else: + return self.validQuery(self.source, engine, self.shell) + + def transform_cell(self, cell): + """Process and translate a cell of input. + """ + self.reset() + try: + self.push(cell) + self.flush_transformers() + return self.source + finally: + self.reset() + + def push(self, lines): + """Push one or more lines of yap_ipython input. + + This stores the given lines and returns a status code indicating + whether the code forms a complete Python block or not, after processing + all input lines for special yap_ipython syntax. + + Any exceptions generated in compilation are swallowed, but if an + exception was produced, the method returns True. + + Parameters + ---------- + lines : string + One or more lines of Python input. + + Returns + ------- + is_complete : boolean + True if the current input source (the result of the current input + plus prior inputs) forms a complete Python execution block. Note that + this value is also stored as a private attribute (_is_complete), so it + can be queried at any time. + """ + + # We must ensure all input is pure unicode + lines = cast_unicode(lines, self.encoding) + # ''.splitlines() --> [], but we need to push the empty line to transformers + lines_list = lines.splitlines() + if not lines_list: + lines_list = [''] + + # Store raw source before applying any transformations to it. Note + # that this must be done *after* the reset() call that would otherwise + # flush the buffer. + self._store(lines, self._buffer_raw, 'source_raw') + + transformed_lines_list = [] + for line in lines_list: + transformed = self._transform_line(line) + if transformed is not None: + transformed_lines_list.append(transformed) + if transformed_lines_list: + transformed_lines = '\n'.join(transformed_lines_list) + else: + # Got nothing back from transformers - they must be waiting for + # more input. + return False + + def _transform_line(self, line): + """Push a line of input code through the various transformers. + + Returns any output from the transformers, or None if a transformer + is accumulating lines. + + Sets self.transformer_accumulating as a side effect. + """ + def _accumulating(dbg): + #print(dbg) + self.transformer_accumulating = True + return None + + for transformer in self.physical_line_transforms: + line = transformer.push(line) + if line is None: + return _accumulating(transformer) + + for transformer in self.logical_line_transforms: + line = transformer.push(line) + if line is None: + return _accumulating(transformer) + + + #print("transformers clear") #debug + self.transformer_accumulating = False + return line + + +class YAPCompleter(Completer): + + greedy = Bool(False, + help="""Activate greedy completion + PENDING DEPRECTION. this is now mostly taken care of with Jedi. + + This will enable completion on elements of lists, self.results of function calls, etc., + but can be unsafe because the code is actually evaluated on TAB. + """ + ).tag(config=True) + + debug = Bool(default_value=False, + help='Enable debug for the Completer. Mostly print extra ' + 'information for experimental jedi integration.') \ + .tag(config=True) + + backslash_combining_completions = Bool(True, + help="Enable unicode completions, e.g. \\alpha . " + "Includes completion of latex commands, unicode names, and expanding " + "unicode characters back to latex commands.").tag(config=True) + + + + def __init__(self, namespace=None, global_namespace=None, shell=None, **kwargs): + """Create a new completer for the command line. + + Completer(namespace=ns, global_namespace=ns2) -> completer instance. + + """ + + self.shell = shell + self.magic_escape = ESC_MAGIC + super(Completer, self).__init__(**kwargs) + + def complete(self, text, line=None, cursor_pos=None): + """Return the completed text and a list of completions. + + Parameters + ---------- + + text : string + A string of text to be completed on. It can be given as empty and + instead a line/position pair are given. In this case, the + completer itself will split the line like readline does. + + This is called successively with state == 0, 1, 2, ... until it + returns None. The completion should begin with 'text'. + + line : string, optional + The complete line that text is part of. + + cursor_pos : int, optional + The position of the cursor on the input line. + + Returns + ------- + text : string + The actual text that was completed. + + matches : list + A sorted list with all possible completions. + + The optional arguments allow the completion to take more context into + account, and are part of the low-level completion API. + + This is a wrapper around the completion mechanism, similar to what + readline does at the command line when the TAB key is hit. By + exposing it as a method, it can be used by other non-readline + environments (such as GUIs) for text completion. + + Simple usage example: + + In [1]: x = 'hello' + + In [2]: _ip.complete('x.l') + Out[2]: ('x.l', ['x.ljust', 'x.lower', 'x.lstrip']) + """ + if not text: + text = line[:cursor_pos] + return self.completions(text, cursor_pos) + + + def magic_matches(self, text): + """Match magics""" + # Get all shell magics now rather than statically, so magics loaded at + # runtime show up too. + lsm = self.shell.magics_manager.lsmagic() + line_magics = lsm['line'] + cell_magics = lsm['cell'] + pre = self.magic_escape + pre2 = pre+pre + + explicit_magic = text.startswith(pre) + + # Completion logic: + # - user gives %%: only do cell magics + # - user gives %: do both line and cell magics + # - no prefix: do both + # In other words, line magics are skipped if the user gives %% explicitly + # + # We also exclude magics that match any currently visible names: + # https://github.com/ipython/ipython/issues/4877, unless the user has + # typed a %: + # https://github.com/ipython/ipython/issues/10754 + bare_text = text.lstrip(pre) + global_matches = [] + if not explicit_magic: + def matches(magic): + """ + Filter magics, in particular remove magics that match + a name present in global namespace. + """ + return ( magic.startswith(bare_text) and + magic not in global_matches ) + else: + def matches(magic): + return magic.startswith(bare_text) + + comp = [ pre2+m for m in cell_magics if matches(m)] + if not text.startswith(pre2): + comp += [ pre+m for m in line_magics if matches(m)] + + return comp + + def magic_config_matches(self, text): #:str) -> List[str]: + """ Match class names and attributes for %config magic """ + texts = text.strip().split() + + if len(texts) > 0 and (texts[0] == 'config' or texts[0] == '%config'): + # get all configuration classes + classes = sorted(set([ c for c in self.shell.configurables + if c.__class__.class_traits(config=True) + ]), key=lambda x: x.__class__.__name__) + classnames = [ c.__class__.__name__ for c in classes ] + + # return all classnames if config or %config is given + if len(texts) == 1: + return classnames + + # match classname + classname_texts = texts[1].split('.') + classname = classname_texts[0] + classname_matches = [ c for c in classnames + if c.startswith(classname) ] + + # return matched classes or the matched class with attributes + if texts[1].find('.') < 0: + return classname_matches + elif len(classname_matches) == 1 and \ + classname_matches[0] == classname: + cls = classes[classnames.index(classname)].__class__ + help = cls.class_get_help() + # strip leading '--' from cl-args: + help = re.sub(re.compile(r'^--', re.MULTILINE), '', help) + return [ attr.split('=')[0] + for attr in help.strip().splitlines() + if attr.startswith(texts[1]) ] + return [] + + + def magic_color_matches(self, text): #:str) -> List[str] : + """ Match color schemes for %colors magic""" + texts = text.split() + if text.endswith(' '): + # .split() strips off the trailing whitespace. Add '' back + # so that: '%colors ' -> ['%colors', ''] + texts.append('') + + if len(texts) == 2 and (texts[0] == 'colors' or texts[0] == '%colors'): + prefix = texts[1] + return [ color for color in InspectColors.keys() + if color.startswith(prefix) ] + return [] + + + + + def completions(self, text, offset): + """ + Returns an iterator over the possible completions + + .. warning:: Unstable + + This function is unstable, API may change without warning. + It will also raise unless use in proper context manager. + + Parameters + ---------- + + text:str + Full text of the current input, multi line string. + offset:int + Integer representing the position of the cursor in ``text``. Offset + is 0-based indexed. + + Yields + ------ + :any:`Completion` object + + + The cursor on a text can either be seen as being "in between" + characters or "On" a character depending on the interface visible to + the user. For consistency the cursor being on "in between" characters X + and Y is equivalent to the cursor being "on" character Y, that is to say + the character the cursor is on is considered as being after the cursor. + + Combining characters may span more that one position in the + text. + + + .. note:: + + If ``IPCompleter.debug`` is :any:`True` will yield a ``--jedi/ipython--`` + fake Completion token to distinguish completion returned by Jedi + and usual yap_ipython completion. + + .. note:: + + Completions are not completely deduplicated yet. If identical + completions are coming from different sources this function does not + ensure that each completion object will only be present once. + """ + self.matches = [] + prolog_res = self.shell.yapeng.goal(completions(text, self),True) + if self.matches: + return text, self.matches + magic_res = self.magic_matches(text) + return text, magic_res + + + + +class YAPRun: + """An enhanced, interactive shell for YAP.""" + + def __init__(self, shell): + self.shell = shell + self.yapeng = JupyterEngine() + global engine + engine = self.yapeng + self.query = None + self.os = None + self.it = None + self.shell.yapeng = self.yapeng + self._get_exc_info = shell._get_exc_info + + def syntaxErrors(self, text): + """Return whether a legal query + """ + if not text: + return [] + if text == self.os: + return self.yapeng.errors + (text,_,_,_) = self.clean_end(text) + self.yapeng.goal(errors(self.yapeng,text),True) + print( self.yapeng.errors ) + return self.yapeng.errors != [] def reset(self): @@ -496,7 +911,7 @@ class YAPCompleter(Completer): ensure that each completion object will only be present once. """ self.matches = [] - prolog_res = self.shell.yapeng.mgoal(completions(text, self), "user",True) + prolog_res = self.shell.yapeng.goal(completions(text, self),True) if self.matches: return text, self.matches magic_res = self.magic_matches(text) @@ -525,11 +940,11 @@ class YAPRun: if not text: return [] if text == self.os: - return self.errors - self.errors=[] + return self.yapeng.errors (text,_,_,_) = self.clean_end(text) - self.yapeng.mgoal(errors(self,text),"verify",True) - return self.errors + self.yapeng.goal(errors(self.yapeng,text),True) + print( self.yapeng.errors ) + return self.yapeng.errors def jupyter_query(self, s): # @@ -612,7 +1027,6 @@ class YAPRun: # you can print it out, the left-side is the variable name, # the right side wraps a handle to a variable #import pdb; pdb.set_trace() - # #pdb.set_trace() # atom match either symbols, or if no symbol exists, strings, In this case # variable names should match strings # ask = True @@ -653,8 +1067,9 @@ class YAPRun: # except SyntaxError: # preprocessing_exc_tuple = self.shell.syntax_error() # sys.exc_info() cell = raw_cell # cell has to exist so it can be stored/logged - self.yapeng.mgoal(streams(True),"jupyter", True) - for i in self.syntaxErrors(raw_cell): + self.yapeng.goal(streams(True), True) + errors = self.syntaxErrors(raw_cell) + for i in errors: try: (what,lin,_,text) = i e = SyntaxError(what, ("", lin, 1, text)) @@ -733,9 +1148,9 @@ class YAPRun: except Exception as e: has_raised = True self.result.result = False - self.yapeng.mgoal(streams(False),"jupyter", True) + self.yapeng.goal(streams(False), True) - self.yapeng.mgoal(streams(False),"jupyter", True) + self.yapeng.goal(ODstreams(False), True) self.shell.last_execution_succeeded = not has_raised # Reset this so later displayed values do not modify the diff --git a/packages/swig/yap.i b/packages/swig/yap.i index 6f5ff5ff8..aa5a8b1ce 100644 --- a/packages/swig/yap.i +++ b/packages/swig/yap.i @@ -216,10 +216,6 @@ static void { yap_error_number en = e.getID(); -std::cerr << e.text() << "\n"; - - -return; switch (e.getErrorClass()) { case YAPC_NO_ERROR: break; diff --git a/pl/control.yap b/pl/control.yap index 4c47d8073..8cd98ab06 100644 --- a/pl/control.yap +++ b/pl/control.yap @@ -125,7 +125,7 @@ Call goal _H_ once per each solution of goal _H_. If goal _H_ has no solutions, call goal _I_. The built-in `if/3` is similar to `->/3`, with the difference -that it will backtrack over the test https://wiki.python.org/moin/HandlingExceptionsgoal. Consider the following +that it will backtrack over the test. Consider the following small data-base: ~~~~~{.prolog} From 562e9e5af3e3cd3e1642ea324fb1ea81db258f2a Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sat, 21 Jul 2018 01:56:48 +0100 Subject: [PATCH 11/57] jupyter --- C/adtdefs.c | 3 +- C/flags.c | 67 +- C/load_foreign.c | 1 + C/text.c | 512 ++++--- C/text.c.new | 1238 +++++++++-------- C/write.c | 1 - CXX/yapdb.hh | 1 + CXX/yapi.cpp | 8 +- H/ATOMS | 2 +- H/YapFlags.h | 9 + H/YapHeap.h | 14 +- H/generated/iatoms.h | 2 +- library/dialect/swi/fli/swi.c | 30 +- library/expand_macros.yap | 1 + library/maputils.yap | 11 +- os/fmem.c | 5 - packages/python/CMakeLists.txt | 2 +- packages/python/pl2py.c | 27 +- packages/python/py2pl.c | 281 ++-- packages/python/pypreds.c | 6 + packages/python/python.pl | 1 + packages/python/swig/prolog/yapi.yap | 23 +- packages/python/swig/yap4py/yapi.py | 32 +- .../yap_ipython/prolog/complete.yap | 6 +- .../yap_kernel/yap_ipython/prolog/jupyter.yap | 27 +- .../yap_kernel/yap_ipython/prolog/verify.yap | 75 +- .../python/yap_kernel/yap_ipython/yapi.py | 442 +----- pl/consult.yap | 6 +- 28 files changed, 1266 insertions(+), 1567 deletions(-) diff --git a/C/adtdefs.c b/C/adtdefs.c index e6ead9022..87ea9c6b4 100755 --- a/C/adtdefs.c +++ b/C/adtdefs.c @@ -251,9 +251,8 @@ Atom Yap_LookupAtomWithLength(const char *atom, return NIL; memmove(ptr, atom, len0); ptr[len0] = '\0'; - if (atom[0] '\0') { at = LookupAtom(ptr); - Yap_FreeCodeSpace(ptr); + Yap_FreeCodeSpace(ptr); return at; } diff --git a/C/flags.c b/C/flags.c index eb1bd9ffe..61f29f6e5 100644 --- a/C/flags.c +++ b/C/flags.c @@ -109,6 +109,9 @@ static Int set_prolog_flag(USES_REGS1); #include "YapLFlagInfo.h" static Term indexer(Term inp) { + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (inp == TermOff || inp == TermSingle || inp == TermCompact || inp == TermMulti || inp == TermOn || inp == TermMax) return inp; @@ -124,6 +127,9 @@ static Term indexer(Term inp) { static bool dqf1(ModEntry *new, Term t2 USES_REGS) { new->flags &= ~(DBLQ_CHARS | DBLQ_CODES | DBLQ_ATOM | DBLQ_STRING); + if (IsStringTerm(t2)) { + t2 = MkStringTerm(RepAtom(AtomOfTerm(t2))->StrOfAE); + } if (IsAtomTerm(t2)) { if (t2 == TermString) { new->flags |= DBLQ_STRING; @@ -162,6 +168,9 @@ static bool dqs(Term t2) { static bool bqf1(ModEntry *new, Term t2 USES_REGS) { new->flags &= ~(BCKQ_CHARS | BCKQ_CODES | BCKQ_ATOM | BCKQ_STRING); + if (IsStringTerm(t2)) { + t2 = MkStringTerm(RepAtom(AtomOfTerm(t2))->StrOfAE); + } if (IsAtomTerm(t2)) { if (t2 == TermString) { new->flags |= BCKQ_STRING; @@ -197,6 +206,9 @@ static bool bqs(Term t2) { static bool sqf1(ModEntry *new, Term t2 USES_REGS) { new->flags &= ~(SNGQ_CHARS | SNGQ_CODES | SNGQ_ATOM | SNGQ_STRING); + if (IsStringTerm(t2)) { + t2 = MkStringTerm(RepAtom(AtomOfTerm(t2))->StrOfAE); + } if (IsAtomTerm(t2)) { if (t2 == TermString) { new->flags |= SNGQ_STRING; @@ -234,6 +246,9 @@ static Term isaccess(Term inp) { if (inp == TermReadWrite || inp == TermReadOnly) return inp; + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (IsAtomTerm(inp)) { Yap_Error(DOMAIN_ERROR_OUT_OF_RANGE, inp, "set_prolog_flag access in {read_write,read_only}"); @@ -281,6 +296,9 @@ static Term flagscope(Term inp) { if (inp == TermGlobal || inp == TermThread || inp == TermModule) return inp; + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (IsAtomTerm(inp)) { Yap_Error(DOMAIN_ERROR_OUT_OF_RANGE, inp, "set_prolog_flag access in {global,module,thread}"); @@ -295,8 +313,11 @@ static bool mkprompt(Term inp) { CACHE_REGS if (IsVarTerm(inp)) { return Yap_unify(inp, MkAtomTerm(Yap_LookupAtom(LOCAL_Prompt))); + } + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); } - if (!IsAtomTerm(inp)) { + if (!IsAtomTerm(inp)) { Yap_Error(TYPE_ERROR_ATOM, inp, "set_prolog_flag"); return false; } @@ -307,6 +328,9 @@ static bool mkprompt(Term inp) { static bool getenc(Term inp) { CACHE_REGS + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (!IsVarTerm(inp) && !IsAtomTerm(inp)) { Yap_Error(TYPE_ERROR_ATOM, inp, "get_encoding"); return false; @@ -338,6 +362,9 @@ static bool typein(Term inp) { tin = TermProlog; return Yap_unify(inp, tin); } + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (!IsAtomTerm(inp)) { Yap_Error(TYPE_ERROR_ATOM, inp, "set_prolog_flag"); return false; @@ -448,6 +475,9 @@ static bool typein(Term inp) { if (IsAtomTerm(hd)) { do { Term hd = HeadOfTerm(inp); + if (IsStringTerm(hd)) { + hd = MkStringTerm(RepAtom(AtomOfTerm(hd))->StrOfAE); + } if (!IsAtomTerm(hd)) { Yap_Error(TYPE_ERROR_TEXT, inp0, "set_prolog_flag in \"...\""); return false; @@ -486,6 +516,10 @@ x static bool list_atom( Term inp ) { if (IsPairTerm(inp)) { Term hd = HeadOfTerm(inp); do { + if (IsStringTerm(hd)) { + hd = MkStringTerm(RepAtom(AtomOfTerm(hd))->StrOfAE); + } + if (!IsAtomTerm(hd)) { Yap_Error(TYPE_ERROR_ATOM, inp0, "set_prolog_flag in \"...\""); return false; @@ -510,6 +544,9 @@ static Term list_option(Term inp) { do { Term hd = HeadOfTerm(inp); inp = TailOfTerm(inp); + if (IsStringTerm(hd)) { + hd = MkStringTerm(RepAtom(AtomOfTerm(hd))->StrOfAE); + } if (IsAtomTerm(hd)) { continue; } @@ -530,6 +567,9 @@ static Term list_option(Term inp) { Yap_Error(TYPE_ERROR_LIST, inp0, "set_prolog_flag in [...]"); return TermZERO; } else /* lone option */ { + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (IsAtomTerm(inp)) { return inp; } else if (IsApplTerm(inp)) { @@ -1035,6 +1075,9 @@ static Int current_prolog_flag2(USES_REGS1) { return cont_yap_flag(PASS_REGS1); } do_cut(0); + if (IsStringTerm(tflag)) { + tflag = MkStringTerm(RepAtom(AtomOfTerm(tflag))->StrOfAE); + } if (!IsAtomTerm(tflag)) { Yap_Error(TYPE_ERROR_ATOM, tflag, "current_prolog_flag/3"); return (FALSE); @@ -1084,6 +1127,10 @@ bool setYapFlag(Term tflag, Term t2) { Yap_Error(INSTANTIATION_ERROR, tflag, "yap_flag/2"); return (FALSE); } + if (IsStringTerm(tflag)) { + tflag = MkStringTerm(RepAtom(AtomOfTerm(tflag))->StrOfAE); + } + if (IsApplTerm(tflag) && FunctorOfTerm(tflag) == FunctorModule) { Term modt; tflag = Yap_StripModule(tflag, &modt); @@ -1165,11 +1212,20 @@ Term getYapFlag(Term tflag) { Yap_Error(INSTANTIATION_ERROR, tflag, "yap_flag/2"); return (FALSE); } + if (IsStringTerm(tflag)) { + tflag = MkStringTerm(RepAtom(AtomOfTerm(tflag))->StrOfAE); + } if (IsApplTerm(tflag) && FunctorOfTerm(tflag) == FunctorModule) { Term modt; tflag = Yap_StripModule(tflag, &modt); + if (IsStringTerm(tflag)) { + tflag = MkStringTerm(RepAtom(AtomOfTerm(tflag))->StrOfAE); + } if (!isatom(tflag)) return false; + if (IsStringTerm(modt)) { + modt = MkStringTerm(RepAtom(AtomOfTerm(modt))->StrOfAE); + } if (!isatom(modt)) return false; return getYapFlagInModule(tflag, modt); @@ -1405,6 +1461,9 @@ static bool setInitialValue(bool bootstrap, flag_func f, const char *s, GLOBAL_MaxPriority); if (!t0) return false; + if (IsStringTerm(t0)) { + t0 = MkStringTerm(RepAtom(AtomOfTerm(t0))->StrOfAE); + } if (IsAtomTerm(t0) || IsIntTerm(t0)) { // do yourself flags if (t0 == MkAtomTerm(AtomQuery)) { @@ -1456,6 +1515,9 @@ do_prolog_flag_property(Term tflag, Yap_Error(LOCAL_Error_TYPE, opts, NULL); return false; } + if (IsStringTerm(tflag)) { + tflag = MkStringTerm(RepAtom(AtomOfTerm(tflag))->StrOfAE); + } if (!IsAtomTerm(tflag)) { if (IsApplTerm(tflag) && FunctorOfTerm(tflag) == FunctorModule) { Term modt = CurrentModule; @@ -1572,6 +1634,9 @@ static Int prolog_flag_property(USES_REGS1) { /* Init current_prolog_flag */ Term t1 = Deref(ARG1); /* make valgrind happy by always filling in memory */ EXTRA_CBACK_ARG(2, 1) = MkIntTerm(0); + if (IsStringTerm(t1)) { + t1 = MkStringTerm(RepAtom(AtomOfTerm(t1))->StrOfAE); + } if (IsVarTerm(t1)) { return (cont_prolog_flag_property(PASS_REGS1)); } else { diff --git a/C/load_foreign.c b/C/load_foreign.c index bc764a289..ed18c3a4a 100644 --- a/C/load_foreign.c +++ b/C/load_foreign.c @@ -286,4 +286,5 @@ void Yap_ReOpenLoadForeign(void) { X_API bool load_none(void) { + return true; } diff --git a/C/text.c b/C/text.c index 077eb937d..b1b78aeb9 100644 --- a/C/text.c +++ b/C/text.c @@ -91,11 +91,11 @@ void *pop_output_text_stack__(int i, const void *export) { while (p) { struct mblock *np = p->next; if (p + 1 == export) { - size_t sz = p->sz - sizeof(struct mblock); - memmove(p, p + 1, sz); - export = p; + size_t sz = p->sz - sizeof(struct mblock); + memmove(p, p + 1, sz); + export = p; } else { - free(p); + free(p); } p = np; } @@ -229,9 +229,9 @@ static Term Globalize(Term v USES_REGS) { } static void *codes2buf(Term t0, void *b0, bool get_codes, - bool fixed USES_REGS) { + bool fixed USES_REGS) { unsigned char *st0, *st, ar[16]; - Term t = Deref(t0); + Term t = t0; size_t length = 0; if (t == TermNil) { @@ -247,7 +247,7 @@ static void *codes2buf(Term t0, void *b0, bool get_codes, if (get_codes != codes && fixed) { if (codes) { Yap_ThrowError(TYPE_ERROR_INTEGER, HeadOfTerm(t), - "scanning list of codes"); + "scanning list of codes"); } else { Yap_ThrowError(TYPE_ERROR_ATOM, HeadOfTerm(t), "scanning list of atoms"); } @@ -256,55 +256,55 @@ static void *codes2buf(Term t0, void *b0, bool get_codes, while (IsPairTerm(t)) { Term hd = HeadOfTerm(t); if (IsVarTerm(hd)) { - Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; } if (!IsIntegerTerm(hd)) { - Yap_ThrowError(TYPE_ERROR_CHARACTER_CODE, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER_CODE, hd, "scanning list of codes"); + return NULL; } Int code = IntegerOfTerm(hd); if (code < 0) { - Yap_ThrowError(REPRESENTATION_ERROR_CHARACTER_CODE, hd, - "scanning list of character codes, found %d", code); - return NULL; + Yap_ThrowError(REPRESENTATION_ERROR_CHARACTER_CODE, hd, + "scanning list of character codes, found %d", code); + return NULL; } length += put_utf8(ar, code); t = TailOfTerm(t); if (IsVarTerm(t)) { - Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; } if (!IsPairTerm(t) && t != TermNil) { - Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } } } else { while (IsPairTerm(t)) { Term hd = HeadOfTerm(t); if (IsVarTerm(hd)) { - Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; } if (!IsAtomTerm(hd)) { - Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of texts"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of texts"); + return NULL; } const char *code = RepAtom(AtomOfTerm(hd))->StrOfAE; if (code < 0) { - Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of atoms"); - return NULL; + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of atoms"); + return NULL; } length += strlen(code); t = TailOfTerm(t); if (IsVarTerm(t)) { - Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; } if (!IsPairTerm(t) && t != TermNil) { - Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); - return NULL; + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } } } @@ -374,33 +374,33 @@ static unsigned char *wchar2utf8(seq_tv_t *inp) { static void *slice(size_t min, size_t max, const unsigned char *buf USES_REGS); static unsigned char *Yap_ListOfCodesToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { bool codes = true, fixed = true; unsigned char *nbuf = codes2buf(t, buf, codes, fixed PASS_REGS); return nbuf; } static unsigned char *Yap_ListOfAtomsToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { bool codes = false; unsigned char *nbuf = codes2buf(t, buf, codes, true PASS_REGS); return nbuf; } static unsigned char *Yap_ListToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp USES_REGS) { + seq_tv_t *inp USES_REGS) { return codes2buf(t, buf, NULL, false PASS_REGS); } #if USE_GEN_TYPE_ERROR static yap_error_number gen_type_error(int flags) { if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) return TYPE_ERROR_TEXT; if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) return TYPE_ERROR_ATOMIC; @@ -417,183 +417,149 @@ static yap_error_number gen_type_error(int flags) { } #endif -static yap_error_number type_error(seq_tv_t *inp) { - if ((inp->type & YAP_STRING_ATOMS_CODES) == YAP_STRING_ATOMS_CODES) - { - return TYPE_ERROR_IN_CHARACTER; - } - if ((inp->type & YAP_STRING_ATOMS) == YAP_STRING_ATOMS) { - return TYPE_ERROR_CHARACTER; - } - if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { - return TYPE_ERROR_CHARACTER_CODE; - } - if ((inp->type & YAP_STRING_STRING) == YAP_STRING_STRING) { - return TYPE_ERROR_IN_CHARACTER; - } - if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { - return TYPE_ERROR_IN_CHARACTER; - } - if ((inp->type & (YAP_STRING_ATOM|YAP_STRING_STRING)) == (YAP_STRING_ATOM|YAP_STRING_STRING)) { - return TYPE_ERROR_ATOMIC; - } - if ((inp->type & YAP_STRING_ATOM) == YAP_STRING_ATOM) { - return TYPE_ERROR_IN_CHARACTER; - } - return SYSTEM_ERROR_INTERNAL; -} +// static int cnt; -/// @brief translate anything to bufffer UTF-8 -/// -/// @arg input descriptor unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { #define POPRET(x) return pop_output_text_stack(lvl, x) int lvl = push_text_stack(); char *out = NULL; + yap_error_number err0 = LOCAL_Error_TYPE; /* we know what the term is */ - if ((inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { - //> buffer processing - //> must convert: - if (inp->type & YAP_STRING_CHARS) { - //> - ASCII to UTF-8 - if (inp->enc == ENC_ISO_ASCII) { - pop_text_stack(lvl); - return inp->val.uc; - } - //> - ISO-LATIN-1 to UTF-8 - if (inp->enc == ENC_ISO_LATIN1) { - POPRET( (char*)latin2utf8(inp)); - } - - //> - assume UTF-8 - if (inp->enc == ENC_ISO_UTF8) { - pop_text_stack(lvl); - return inp->val.uc; + if (!(inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { + if (!(inp->type & YAP_STRING_TERM)) { + if (IsVarTerm(inp->val.t)) { + LOCAL_Error_TYPE = INSTANTIATION_ERROR; + } else if (!IsAtomTerm(inp->val.t) && inp->type == YAP_STRING_ATOM) { + LOCAL_Error_TYPE = TYPE_ERROR_ATOM; + } else if (!IsStringTerm(inp->val.t) && inp->type == YAP_STRING_STRING) { + LOCAL_Error_TYPE = TYPE_ERROR_STRING; + } else if (!IsPairOrNilTerm(inp->val.t) && !IsStringTerm(inp->val.t) && + inp->type == (YAP_STRING_ATOMS_CODES | YAP_STRING_STRING)) { + LOCAL_ActiveError->errorRawTerm = inp->val.t; + } else if (!IsPairOrNilTerm(inp->val.t) && !IsStringTerm(inp->val.t) && + !IsAtomTerm(inp->val.t) && !(inp->type & YAP_STRING_DATUM)) { + LOCAL_Error_TYPE = TYPE_ERROR_TEXT; } } - if (inp->type & YAP_STRING_WCHARS) { - // printf("%S\n",inp->val.w); - //> wide includes everything else - POPRET( (char *)wchar2utf8(inp) ); + if (err0 != LOCAL_Error_TYPE) { + Yap_ThrowError(LOCAL_Error_TYPE, inp->val.t, "while reading text in"); } - } else { - if (inp->type & YAP_STRING_TERM) { - //> term: anything goes - pop_text_stack(lvl); - return (unsigned char *)Yap_TermToBuffer(inp->val.t, 0); - } - if (IsVarTerm(inp->val.t)) { - Yap_ThrowError(INSTANTIATION_ERROR, inp->val.t, NULL); - } - if (IsPairOrNilTerm(inp->val.t)) { - if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == - (YAP_STRING_CODES | YAP_STRING_ATOMS))) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListToBuffer(NULL, inp->val.t, inp PASS_REGS); - POPRET( out ); - // this is a term, extract to a sfer, and representation is wide - } - if (inp->type & YAP_STRING_CODES) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListOfCodesToBuffer(NULL, inp->val.t, inp PASS_REGS); - // this is a term, extract to a sfer, and representation is wide - POPRET( out ); - } - - if (inp->type & YAP_STRING_ATOMS) { - // Yap_DebugPlWriteln(inp->val.t); - out = (char *)Yap_ListOfAtomsToBuffer(NULL, inp->val.t, inp PASS_REGS); - // this is a term, extract to a buffer, and representation is wide - POPRET( out ); - } - } - if (IsStringTerm(inp->val.t)) { - if(!(inp->type & (YAP_STRING_STRING))) { - Yap_ThrowError(type_error(inp), inp->val.t, NULL); - } - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - const char *s = StringOfTerm(inp->val.t); - if (s[0] == 0) { - out = Malloc(4); - memset(out, 0, 4); - POPRET( out ); - } - if (inp->type & YAP_STRING_WITH_BUFFER) { - pop_text_stack(lvl); - return (unsigned char *)UStringOfTerm(inp->val.t); - } - { - inp->type |= YAP_STRING_IN_TMP; - size_t sz = strlen(s); - out = Malloc(sz + 1); - strcpy(out, s); - POPRET( out ); - } - } - if (IsAtomTerm(inp->val.t)) { - if(!(inp->type & (YAP_STRING_ATOM))) { - Yap_ThrowError(type_error(inp), inp->val.t, NULL); - } - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - Atom at = AtomOfTerm(inp->val.t); - if (RepAtom(at)->UStrOfAE[0] == '\0') { - out = Malloc(4); - memset(out, 0, 4); - POPRET( out ); - } - if (inp->type & YAP_STRING_WITH_BUFFER) { - pop_text_stack(lvl); - return at->UStrOfAE; - } else - { - size_t sz = strlen(at->StrOfAE); - out = Malloc(sz + 1); - strcpy(out, at->StrOfAE); - POPRET( out ); - } - } - if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { - if(!(inp->type & (YAP_STRING_INT))) { - Yap_ThrowError(type_error(inp), inp->val.t, NULL); - } // ASCII, so both LATIN1 and UTF-8 - // Yap_DebugPlWriteln(inp->val.t); - out = Malloc(2 * MaxTmp(PASS_REGS1)); - if (snprintf(out, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, - IntegerOfTerm(inp->val.t)) < 0) { - AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), out, char); - } + } + if (IsAtomTerm(inp->val.t) && inp->type & YAP_STRING_ATOM) { + // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + Atom at = AtomOfTerm(inp->val.t); + if (RepAtom(at)->UStrOfAE[0] == 0) { + out = Malloc(4); + memset(out, 0, 4); POPRET( out ); } - if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { - if(!(inp->type & (YAP_STRING_FLOAT))) { - Yap_ThrowError(type_error(inp), inp->val.t, NULL); - } // ASCII, so both LATIN1 and UTF-8 - out = Malloc(2 * MaxTmp(PASS_REGS1)); - if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &out, 1024)) { - pop_text_stack(lvl); - return NULL; - } - POPRET(out); + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return at->UStrOfAE; } -#if USE_GMP - if ( IsBigIntTerm(inp->val.t)) { - if(!(inp->type & (YAP_STRING_BIG))) { - Yap_ThrowError(type_error(inp), inp->val.t, NULL); - } // ASCII, so both LATIN1 and UTF-8 + { + size_t sz = strlen(at->StrOfAE); + out = Malloc(sz + 1); + strcpy(out, at->StrOfAE); + POPRET( out ); + } + } + if (IsStringTerm(inp->val.t) && inp->type & YAP_STRING_STRING) { + // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + const char *s = StringOfTerm(inp->val.t); + if (s[0] == 0) { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return (unsigned char *)UStringOfTerm(inp->val.t); + } + { + inp->type |= YAP_STRING_IN_TMP; + size_t sz = strlen(s); + out = Malloc(sz + 1); + strcpy(out, s); + POPRET( out ); + } + } else if (IsPairOrNilTerm(inp->val.t)) { + if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == + (YAP_STRING_CODES | YAP_STRING_ATOMS))) { // Yap_DebugPlWriteln(inp->val.t); - out = Malloc(MaxTmp()); - if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), out, MaxTmp() - 1, - 10)) { - AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), out, char); - } - POPRET(out); + out = (char *)Yap_ListToBuffer(NULL, inp->val.t, inp PASS_REGS); + POPRET( out ); + // this is a term, extract to a sfer, and representation is wide } + if (inp->type & YAP_STRING_CODES) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfCodesToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a sfer, and representation is wide + POPRET( out ); + } + if (inp->type & YAP_STRING_ATOMS) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfAtomsToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a buffer, and representation is wide + POPRET( out ); + } + } + if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { + // ASCII, so both LATIN1 and UTF-8 + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (snprintf(out, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, + IntegerOfTerm(inp->val.t)) < 0) { + AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), out, char); + } + POPRET( out ); + } + if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &out, 1024)) { + pop_text_stack(lvl); + return NULL; + } + POPRET(out); + } +#if USE_GMP + if (inp->type & YAP_STRING_BIG && IsBigIntTerm(inp->val.t)) { + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(MaxTmp()); + if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), out, MaxTmp() - 1, + 10)) { + AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), out, char); + } + POPRET(out); + } #endif + if (inp->type & YAP_STRING_TERM) { + pop_text_stack(lvl); + return Yap_TermToBuffer(inp->val.t, 0); + } + + if (inp->type & YAP_STRING_CHARS) { + if (inp->enc == ENC_ISO_ASCII) { + pop_text_stack(lvl); + return inp->val.uc; + } + + if (inp->enc == ENC_ISO_LATIN1) { + POPRET( (char*)latin2utf8(inp)); + } + + if (inp->enc == ENC_ISO_UTF8) { + pop_text_stack(lvl); + return inp->val.c; + } + } + if (inp->type & YAP_STRING_WCHARS) { + // printf("%S\n",inp->val.w); + POPRET( (char *)wchar2utf8(inp) ); } pop_text_stack(lvl); - Yap_ThrowError(type_error(inp), inp->val.t, NULL); return NULL; } @@ -761,11 +727,11 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { utf8proc_int32_t chr; int off = get_utf8(cp, -1, &chr); if (off <= 0 || chr > 255) { - pop_text_stack(l); - return NULL; + pop_text_stack(l); + return NULL; } if (off == max) - break; + break; cp += off; *buf++ = chr; } @@ -773,10 +739,10 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } } else if (out->enc == ENC_WCHAR) { unsigned char *s = s0, *lim = s + (max = strnlen((char *)s0, max)); @@ -797,10 +763,10 @@ void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } *buf = '\0'; } else { @@ -817,7 +783,7 @@ static size_t write_length(const unsigned char *s0, seq_tv_t *out USES_REGS) { } static Term write_number(unsigned char *s, seq_tv_t *out, - bool error_on USES_REGS) { + bool error_on USES_REGS) { Term t; LOCAL_delay = !error_on; t = Yap_StringToNumberTerm((char *)s, &out->enc, error_on); @@ -846,7 +812,7 @@ bool write_Text(unsigned char *inp, seq_tv_t *out USES_REGS) { if (out->type & (YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) { if ((out->val.t = write_number( - inp, out, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { + inp, out, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { // Yap_DebugPlWriteln(out->val.t); return true; @@ -859,7 +825,7 @@ bool write_Text(unsigned char *inp, seq_tv_t *out USES_REGS) { if ((out->val.a = write_atom(inp, out PASS_REGS)) != NIL) { Atom at = out->val.a; if (at && (out->type & YAP_STRING_OUTPUT_TERM)) - out->val.t = MkAtomTerm(at); + out->val.t = MkAtomTerm(at); // Yap_DebugPlWriteln(out->val.t); return at != NIL; } @@ -959,12 +925,12 @@ bool Yap_CVT_Text(seq_tv_t *inp, seq_tv_t *out USES_REGS) { size_t leng = strlen_utf8(buf); if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { if (out->max < leng) { - const unsigned char *ptr = skip_utf8(buf, out->max); - size_t diff = (ptr - buf); - char *nbuf = Malloc(diff + 1); - memmove(nbuf, buf, diff); - nbuf[diff] = '\0'; - leng = diff; + const unsigned char *ptr = skip_utf8(buf, out->max); + size_t diff = (ptr - buf); + char *nbuf = Malloc(diff + 1); + memmove(nbuf, buf, diff); + nbuf[diff] = '\0'; + leng = diff; } // else if (out->type & YAP_STRING_NCHARS && // const unsigned char *ptr = skip_utf8(buf) @@ -972,32 +938,32 @@ bool Yap_CVT_Text(seq_tv_t *inp, seq_tv_t *out USES_REGS) { if (out->type & (YAP_STRING_UPCASE | YAP_STRING_DOWNCASE)) { if (out->type & YAP_STRING_UPCASE) { - if (!upcase(buf, out)) { - pop_text_stack(l); - return false; - } + if (!upcase(buf, out)) { + pop_text_stack(l); + return false; + } } if (out->type & YAP_STRING_DOWNCASE) { - if (!downcase(buf, out)) { - pop_text_stack(l); - return false; - } + if (!downcase(buf, out)) { + pop_text_stack(l); + return false; + } } } } rc = write_Text(buf, out PASS_REGS); /* fprintf(stderr, " -> "); - if (!rc) fprintf(stderr, "NULL"); - else if (out->type & - (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES - |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); - else if (out->type & - YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); - else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", - out->val.w); - else - fprintf(stderr, "%s", out->val.c); - fprintf(stderr, "\n]\n"); */ + if (!rc) fprintf(stderr, "NULL"); + else if (out->type & + (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES + |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); + else if (out->type & + YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); + else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", + out->val.w); + else + fprintf(stderr, "%s", out->val.c); + fprintf(stderr, "\n]\n"); */ pop_text_stack(l); return rc; } @@ -1083,7 +1049,7 @@ bool Yap_Concat_Text(int tot, seq_tv_t inp[], seq_tv_t *out USES_REGS) { // bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, - seq_tv_t outv[] USES_REGS) { + seq_tv_t outv[] USES_REGS) { int lvl = push_text_stack(); const unsigned char *buf; size_t b_l, u_l; @@ -1106,46 +1072,46 @@ bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, unsigned char *buf0, *buf1; if (outv[0].val.t) { - buf0 = Yap_readText(outv PASS_REGS); - if (!buf0) { - return false; - } - b_l0 = strlen((const char *)buf0); - if (memcmp(buf, buf0, b_l0) != 0) { - pop_text_stack(lvl); - return false; - } - u_l0 = strlen_utf8(buf0); - u_l1 = u_l - u_l0; + buf0 = Yap_readText(outv PASS_REGS); + if (!buf0) { + return false; + } + b_l0 = strlen((const char *)buf0); + if (memcmp(buf, buf0, b_l0) != 0) { + pop_text_stack(lvl); + return false; + } + u_l0 = strlen_utf8(buf0); + u_l1 = u_l - u_l0; - b_l1 = b_l - b_l0; - buf1 = slice(u_l0, u_l, buf PASS_REGS); - b_l1 = strlen((const char *)buf1); - bool rc = write_Text(buf1, outv + 1 PASS_REGS); - pop_text_stack(lvl); - if (!rc) { - return false; - } - return rc; + b_l1 = b_l - b_l0; + buf1 = slice(u_l0, u_l, buf PASS_REGS); + b_l1 = strlen((const char *)buf1); + bool rc = write_Text(buf1, outv + 1 PASS_REGS); + pop_text_stack(lvl); + if (!rc) { + return false; + } + return rc; } else /* if (outv[1].val.t) */ { - buf1 = Yap_readText(outv + 1 PASS_REGS); - if (!buf1) { - pop_text_stack(lvl); - return false; - } - b_l1 = strlen((char *)buf1); - u_l1 = strlen_utf8(buf1); - b_l0 = b_l - b_l1; - u_l0 = u_l - u_l1; - if (memcmp(skip_utf8((const unsigned char *)buf, b_l0), buf1, b_l1) != - 0) { - pop_text_stack(lvl); - return false; - } - buf0 = slice(0, u_l0, buf PASS_REGS); - buf0 = pop_output_text_stack(lvl, buf0); - bool rc = write_Text(buf0, outv PASS_REGS); - return rc; + buf1 = Yap_readText(outv + 1 PASS_REGS); + if (!buf1) { + pop_text_stack(lvl); + return false; + } + b_l1 = strlen((char *)buf1); + u_l1 = strlen_utf8(buf1); + b_l0 = b_l - b_l1; + u_l0 = u_l - u_l1; + if (memcmp(skip_utf8((const unsigned char *)buf, b_l0), buf1, b_l1) != + 0) { + pop_text_stack(lvl); + return false; + } + buf0 = slice(0, u_l0, buf PASS_REGS); + buf0 = pop_output_text_stack(lvl, buf0); + bool rc = write_Text(buf0, outv PASS_REGS); + return rc; } } } @@ -1181,7 +1147,7 @@ bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, */ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { CACHE_REGS - Atom at; + Atom at; arity_t arity = 0; Functor f; char *s, *smax, *s0; @@ -1213,7 +1179,7 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { } else if (ap->PredFlags & AtomDBPredFlag) { at = (Atom)(ap->FunctorOfPred); if (!stpcpy(s, Yap_AtomToUTF8Text(at))) - return NULL; + return NULL; } else { f = ap->FunctorOfPred; at = NameOfFunctor(f); diff --git a/C/text.c.new b/C/text.c.new index e4326e3d9..3db58d085 100644 --- a/C/text.c.new +++ b/C/text.c.new @@ -1,19 +1,19 @@ /************************************************************************* -* * -* YAP Prolog * -* * -* Yap Prolog was developed at NCCUP - Universidade do Porto * -* * -* Copyright L.Damas, V. Santos Costa and Universidade do Porto 1985-- * -* * -************************************************************************** -* * -* File: strings.c * -* comments: General-conversion of character sequences. * -* * -* Last rev: $Date: 2008-07-24 16:02:00 $,$Author: vsc $ * -* * -*************************************************************************/ + * * + * YAP Prolog * + * * + * Yap Prolog was developed at NCCUP - Universidade do Porto * + * * + * Copyright L.Damas, V. Santos Costa and Universidade do Porto 1985-- * + * * + ************************************************************************** + * * + * File: strings.c * + * comments: General-conversion of character sequences. * + * * + * Last rev: $Date: 2008-07-24 16:02:00 $,$Author: vsc $ * + * * + *************************************************************************/ #include "Yap.h" #include "YapEval.h" @@ -31,6 +31,13 @@ inline static size_t min_size(size_t i, size_t j) { return (i < j ? i : j); } #define wcsnlen(S, N) min_size(N, wcslen(S)) #endif +#if !defined(HAVE_STPCPY) && !defined(__APPLE__) +inline static void *__stpcpy(void *i, const void *j) { + return strcpy(i, j) + strlen(j); +} +#define stpcpy __stpcpy +#endif + #ifndef NAN #define NAN (0.0 / 0.0) #endif @@ -51,11 +58,16 @@ typedef struct TextBuffer_manager { int lvl; } text_buffer_t; -int push_text_stack(USES_REGS1) { +int AllocLevel(void) { return LOCAL_TextBuffer->lvl; } +int push_text_stack__(USES_REGS1) { + int i = LOCAL_TextBuffer->lvl; + i++; + LOCAL_TextBuffer->lvl = i; - return LOCAL_TextBuffer->lvl++; } + return i; +} -int pop_text_stack(int i) { +int pop_text_stack__(int i) { int lvl = LOCAL_TextBuffer->lvl; while (lvl >= i) { struct mblock *p = LOCAL_TextBuffer->first[lvl]; @@ -68,26 +80,22 @@ int pop_text_stack(int i) { LOCAL_TextBuffer->last[lvl] = NULL; lvl--; } - LOCAL_TextBuffer->lvl = i; + LOCAL_TextBuffer->lvl = lvl; return lvl; } -void *protected_pop_text_stack(int i, void *protected, bool tmp, - size_t sz USES_REGS) { - void *out = protected; +void *pop_output_text_stack__(int i, const void *export) { int lvl = LOCAL_TextBuffer->lvl; - while (lvl > i) { + while (lvl >= i) { struct mblock *p = LOCAL_TextBuffer->first[lvl]; while (p) { struct mblock *np = p->next; - if (p + 1 == protected) { - if (tmp) - out = LOCAL_FileNameBuf; - else - out = p; - memmove(out, protected, sz); + if (p + 1 == export) { + size_t sz = p->sz - sizeof(struct mblock); + memmove(p, p + 1, sz); + export = p; } else { - free(p); + free(p); } p = np; } @@ -96,19 +104,12 @@ void *protected_pop_text_stack(int i, void *protected, bool tmp, lvl--; } LOCAL_TextBuffer->lvl = lvl; - return out; + return (void *)export; } // void pop_text_stack(int i) { LOCAL_TextBuffer->lvl = i; } - -void *Malloc(size_t sz USES_REGS) { - int lvl = LOCAL_TextBuffer->lvl; - if (sz == 0) - sz = 1024; - sz = ALIGN_BY_TYPE(sz + sizeof(struct mblock), CELL); - struct mblock *o = malloc(sz); - if (!o) - return NULL; +void insert_block(struct mblock *o) { + int lvl = o->lvl; o->prev = LOCAL_TextBuffer->last[lvl]; if (o->prev) { o->prev->next = o; @@ -119,38 +120,9 @@ void *Malloc(size_t sz USES_REGS) { LOCAL_TextBuffer->first[lvl] = LOCAL_TextBuffer->last[lvl] = o; } o->next = NULL; - o->sz = sz; - o->lvl = lvl; - return o + 1; } -void *Realloc(void *pt, size_t sz USES_REGS) { - sz = ALIGN_BY_TYPE(sz + sizeof(struct mblock), CELL); - struct mblock *old = pt, *o; - old--; - int lvl = old->lvl; - o = realloc(old, sz); - if (o->prev) - o->prev->next = o; - if (o->next) - o->next->prev = o; - if (LOCAL_TextBuffer->first[lvl] == old) { - LOCAL_TextBuffer->first[lvl] = o; - } - if (LOCAL_TextBuffer->last[lvl] == old) { - LOCAL_TextBuffer->last[lvl] = o; - } - - return o + 1; -} - -void Free(void *pt USES_REGS) { - struct mblock *o = pt; - o--; - if (o->prev) - o->prev->next = o->next; - if (o->next) - o->next->prev = o->prev; +void release_block(struct mblock *o) { int lvl = o->lvl; if (LOCAL_TextBuffer->first[lvl] == o) { if (LOCAL_TextBuffer->last[lvl] == o) { @@ -160,6 +132,81 @@ void Free(void *pt USES_REGS) { } else if (LOCAL_TextBuffer->last[lvl] == o) { LOCAL_TextBuffer->last[lvl] = o->prev; } + if (o->prev) + o->prev->next = o->next; + if (o->next) + o->next->prev = o->prev; +} + +void *Malloc(size_t sz USES_REGS) { + int lvl = LOCAL_TextBuffer->lvl; + if (sz == 0) + sz = 1024; + sz = ALIGN_BY_TYPE(sz + sizeof(struct mblock), CELL); + struct mblock *o = malloc(sz); + if (!o) + return NULL; + o->sz = sz; + o->lvl = lvl; + o->prev = o->next = 0; + insert_block(o); + return o + 1; +} + +void *MallocAtLevel(size_t sz, int atL USES_REGS) { + int lvl = LOCAL_TextBuffer->lvl; + if (atL > 0 && atL <= lvl) { + lvl = atL; + } else if (atL < 0 && lvl - atL >= 0) { + lvl += atL; + } else { + return NULL; + } + if (sz == 0) + sz = 1024; + sz = ALIGN_BY_TYPE(sz + sizeof(struct mblock), CELL); + struct mblock *o = malloc(sz); + if (!o) + return NULL; + o->sz = sz; + o->lvl = lvl; + o->prev = o->next = 0; + insert_block(o); + return o + 1; +} + +void *Realloc(void *pt, size_t sz USES_REGS) { + sz += sizeof(struct mblock); + struct mblock *old = pt, *o; + old--; + release_block(old); + o = realloc(old, sz); + o->sz = sz; + insert_block(o); + + return o + 1; +} + +/** + * Export a local memory object as a RO object to the outside world, that is, + * recovering as much storage as one can. + * @param pt pointer to object + * @return new object + */ +const void *MallocExportAsRO(const void *pt USES_REGS) { + struct mblock *old = (void *)pt, *o = old - 1; + if (old == NULL) + return NULL; + size_t sz = o->sz; + release_block(o); + memmove((void *)o, pt, sz); + return realloc((void *)o, sz); +} + +void Free(void *pt USES_REGS) { + struct mblock *o = pt; + o--; + release_block(o); free(o); } @@ -168,11 +215,7 @@ void *Yap_InitTextAllocator(void) { return new; } -static size_t MaxTmp(USES_REGS1) { - - return ((char *)LOCAL_TextBuffer->buf + LOCAL_TextBuffer->sz) - - (char *)LOCAL_TextBuffer->ptr; -} +static size_t MaxTmp(USES_REGS1) { return 1025; } static Term Globalize(Term v USES_REGS) { if (!IsVarTerm(v = Deref(v))) { @@ -185,129 +228,138 @@ static Term Globalize(Term v USES_REGS) { return v; } -static Int SkipListCodes(unsigned char **bufp, Term *l, Term **tailp, - Int *atoms, bool *wide, seq_tv_t *inp USES_REGS) { - Int length = 0; - Term *s; /* slow */ - Term v; /* temporary */ - *wide = false; - unsigned char *st0 = *bufp, *st; +static void *codes2buf(Term t0, void *b0, bool get_codes, + bool fixed USES_REGS) { + unsigned char *st0, *st, ar[16]; + Term t = Deref(t0); + size_t length = 0; - if (!st0) { - st0 = Malloc(0); + if (t == TermNil) { + st0 = Malloc(4); + st0[0] = 0; + return st0; } - - do_derefa(v, l, derefa_unk, derefa_nonvar); - *tailp = l; - s = l; - - *bufp = st = st0; - - if (*l == TermNil) { - st[0] = '\0'; - return 0; + if (!IsPairTerm(t)) { + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } - if (IsPairTerm(*l)) { - Term hd0 = HeadOfTerm(*l); - if (IsVarTerm(hd0)) { - return -INSTANTIATION_ERROR; + bool codes = IsIntegerTerm(HeadOfTerm(t)); + if (get_codes != codes && fixed) { + if (codes) { + Yap_ThrowError(TYPE_ERROR_INTEGER, HeadOfTerm(t), + "scanning list of codes"); + } else { + Yap_ThrowError(TYPE_ERROR_ATOM, HeadOfTerm(t), "scanning list of atoms"); } - // are we looking for atoms/codes? - // whatever the case, we should be consistent throughout, - // so we should be consistent with the first arg. - if (*atoms == 1) { - if (!IsIntegerTerm(hd0)) { - return -INSTANTIATION_ERROR; + } + if (codes) { + while (IsPairTerm(t)) { + Term hd = HeadOfTerm(t); + if (IsVarTerm(hd)) { + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; } - } else if (*atoms == 2) { - if (!IsAtomTerm(hd0)) { - return -TYPE_ERROR_ATOM; + if (!IsIntegerTerm(hd)) { + Yap_ThrowError(TYPE_ERROR_CHARACTER_CODE, hd, "scanning list of codes"); + return NULL; + } + Int code = IntegerOfTerm(hd); + if (code < 0) { + Yap_ThrowError(REPRESENTATION_ERROR_CHARACTER_CODE, hd, + "scanning list of character codes, found %d", code); + return NULL; + } + length += put_utf8(ar, code); + t = TailOfTerm(t); + if (IsVarTerm(t)) { + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; + } + if (!IsPairTerm(t) && t != TermNil) { + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; } } + } else { + while (IsPairTerm(t)) { + Term hd = HeadOfTerm(t); + if (IsVarTerm(hd)) { + Yap_ThrowError(INSTANTIATION_ERROR, hd, "scanning list of codes"); + return NULL; + } + if (!IsAtomTerm(hd)) { + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of texts"); + return NULL; + } + const char *code = RepAtom(AtomOfTerm(hd))->StrOfAE; + if (code < 0) { + Yap_ThrowError(TYPE_ERROR_CHARACTER, hd, "scanning list of atoms"); + return NULL; + } + length += strlen(code); + t = TailOfTerm(t); + if (IsVarTerm(t)) { + Yap_ThrowError(INSTANTIATION_ERROR, t, "scanning list of codes"); + return NULL; + } + if (!IsPairTerm(t) && t != TermNil) { + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; + } + } + } - do { - int ch; - length++; - { - Term hd = Deref(RepPair(*l)[0]); - if (IsVarTerm(hd)) { - return -INSTANTIATION_ERROR; - } else if (IsAtomTerm(hd)) { - (*atoms)++; - if (*atoms < length) { - *tailp = l; - return -REPRESENTATION_ERROR_CHARACTER_CODE; - } else { - AtomEntry *ae = RepAtom(AtomOfTerm(hd)); - if ((ae->StrOfAE)[1] != '\0') { - length = -REPRESENTATION_ERROR_CHARACTER; - } else { - ch = RepAtom(AtomOfTerm(hd))->StrOfAE[0]; - *wide |= ch > 0x80; - } - } - } else if (IsIntegerTerm(hd)) { - ch = IntegerOfTerm(hd); - if (*atoms) - length = -REPRESENTATION_ERROR_CHARACTER; - else if (ch < 0) { - *tailp = l; - length = -REPRESENTATION_ERROR_CHARACTER_CODE; - } else { - *wide |= ch > 0x80; - } - } else { - length = -TYPE_ERROR_INTEGER; - } - if (length < 0) { - *tailp = l; - return length; - } - } - // now copy char to buffer - int chsz = put_utf8(st, ch); - if (chsz > 0) { - st += chsz; - } - l = RepPair(*l) + 1; - do_derefa(v, l, derefa2_unk, derefa2_nonvar); - } while (*l != *s && IsPairTerm(*l)); + if (!IsVarTerm(t)) { + if (t != TermNil) { + Yap_ThrowError(TYPE_ERROR_LIST, t, "scanning list of codes"); + return NULL; + } } - if (IsVarTerm(*l)) { - return -INSTANTIATION_ERROR; - } - if (*l != TermNil) { - return -TYPE_ERROR_LIST; + + st0 = st = Malloc(length + 1); + t = t0; + if (codes) { + while (IsPairTerm(t)) { + Term hd = HeadOfTerm(t); + Int code = IntegerOfTerm(hd); + + st = st + put_utf8(st, code); + t = TailOfTerm(t); + } + } else { + while (IsPairTerm(t)) { + Term hd = HeadOfTerm(t); + const char *code = RepAtom(AtomOfTerm(hd))->StrOfAE; + st = (unsigned char *)stpcpy((char *)st, code); + t = TailOfTerm(t); + } } st[0] = '\0'; - Malloc((st - st0) + 1); - *tailp = l; - return length; + return st0; } -static unsigned char *latin2utf8(seq_tv_t *inp, size_t *lengp) { +static unsigned char *latin2utf8(seq_tv_t *inp) { unsigned char *b0 = inp->val.uc; - size_t sz = *lengp = strlen(inp->val.c); + size_t sz = strlen(inp->val.c); sz *= 2; int ch; unsigned char *buf = Malloc(sz + 1), *pt = buf; - *lengp = strlen(inp->val.c); if (!buf) return NULL; while ((ch = *b0++)) { int off = put_utf8(pt, ch); - if (off < 0) + if (off < 0) { continue; + } pt += off; } *pt++ = '\0'; return buf; } -static unsigned char *wchar2utf8(seq_tv_t *inp, size_t *lengp) { - *lengp = wcslen(inp->val.w); - size_t sz = *lengp * 4; +static unsigned char *wchar2utf8(seq_tv_t *inp) { + size_t sz = wcslen(inp->val.w) * 4; wchar_t *b0 = inp->val.w; unsigned char *buf = Malloc(sz + 1), *pt = buf; int ch; @@ -319,57 +371,36 @@ static unsigned char *wchar2utf8(seq_tv_t *inp, size_t *lengp) { return buf; } -static void *slice(size_t min, size_t max, unsigned char *buf USES_REGS); - -static unsigned char *to_buffer(unsigned char *buf, Term t, seq_tv_t *inp, - bool *widep, Int *atoms, - size_t *lenp USES_REGS) { - CELL *r = NULL; - Int n; - - if (!buf) { - inp->max = *lenp; - } - unsigned char *bufc = buf; - n = SkipListCodes(&bufc, &t, &r, atoms, widep, inp PASS_REGS); - if (n < 0) { - LOCAL_Error_TYPE = -n; - return NULL; - } - *lenp = n; - return bufc; -} +static void *slice(size_t min, size_t max, const unsigned char *buf USES_REGS); static unsigned char *Yap_ListOfCodesToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp, bool *widep, - size_t *lenp USES_REGS) { - Int atoms = 1; // we only want lists of atoms - return to_buffer(buf, t, inp, widep, &atoms, lenp PASS_REGS); + seq_tv_t *inp USES_REGS) { + bool codes = true, fixed = true; + unsigned char *nbuf = codes2buf(t, buf, codes, fixed PASS_REGS); + return nbuf; } static unsigned char *Yap_ListOfAtomsToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp, bool *widep, - size_t *lenp USES_REGS) { - Int atoms = 2; // we only want lists of integer codes - return to_buffer(buf, t, inp, widep, &atoms, lenp PASS_REGS); + seq_tv_t *inp USES_REGS) { + bool codes = false; + unsigned char *nbuf = codes2buf(t, buf, codes, true PASS_REGS); + return nbuf; } static unsigned char *Yap_ListToBuffer(unsigned char *buf, Term t, - seq_tv_t *inp, bool *widep, - size_t *lenp USES_REGS) { - Int atoms = 0; // we accept both types of lists. - return to_buffer(buf, t, inp, widep, &atoms, lenp PASS_REGS); + seq_tv_t *inp USES_REGS) { + return codes2buf(t, buf, NULL, false PASS_REGS); } #if USE_GEN_TYPE_ERROR static yap_error_number gen_type_error(int flags) { if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_ATOMS_CODES | YAP_STRING_BIG)) return TYPE_ERROR_TEXT; if ((flags & (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG)) == + YAP_STRING_FLOAT | YAP_STRING_BIG)) == (YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) return TYPE_ERROR_ATOMIC; @@ -386,147 +417,188 @@ static yap_error_number gen_type_error(int flags) { } #endif -// static int cnt; - -unsigned char *Yap_readText(seq_tv_t *inp, size_t *lengp) { - unsigned char *s0 = NULL; - bool wide; - - if (LOCAL_Error_TYPE != YAP_NO_ERROR) { - fprintf(stderr, "Sourious error %u\n", LOCAL_Error_TYPE); - LOCAL_Error_TYPE = YAP_NO_ERROR; +static yap_error_number type_error(seq_tv_t *inp) { + if ((inp->type & YAP_STRING_ATOMS_CODES) == YAP_STRING_ATOMS_CODES) + { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & YAP_STRING_ATOMS) == YAP_STRING_ATOMS) { + return TYPE_ERROR_CHARACTER; } + if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { + return TYPE_ERROR_CHARACTER_CODE; + } + if ((inp->type & YAP_STRING_STRING) == YAP_STRING_STRING) { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & YAP_STRING_CODES) == YAP_STRING_CODES) { + return TYPE_ERROR_IN_CHARACTER; + } + if ((inp->type & (YAP_STRING_ATOM|YAP_STRING_STRING)) == (YAP_STRING_ATOM|YAP_STRING_STRING)) { + return TYPE_ERROR_ATOMIC; + } + if ((inp->type & YAP_STRING_ATOM) == YAP_STRING_ATOM) { + return TYPE_ERROR_IN_CHARACTER; + } + return SYSTEM_ERROR_INTERNAL; +} + +/// @brief translate anything to bufffer UTF-8 +/// +/// @arg input descriptor +unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { +#define POPRET(x) return pop_output_text_stack(lvl, x) + int lvl = push_text_stack(); + char *out = NULL; /* we know what the term is */ - if (!(inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { - if (!(inp->type & YAP_STRING_TERM)) { - if (IsVarTerm(inp->val.t)) { - LOCAL_Error_TYPE = INSTANTIATION_ERROR; - } else if (!IsAtomTerm(inp->val.t) && inp->type == YAP_STRING_ATOM) { - LOCAL_Error_TYPE = TYPE_ERROR_ATOM; - } else if (!IsStringTerm(inp->val.t) && inp->type == YAP_STRING_STRING) { - LOCAL_Error_TYPE = TYPE_ERROR_STRING; - } else if (!IsPairOrNilTerm(inp->val.t) && !IsStringTerm(inp->val.t) && - inp->type == (YAP_STRING_ATOMS_CODES | YAP_STRING_STRING)) { - LOCAL_Error_TYPE = TYPE_ERROR_LIST; - } else if (!IsNumTerm(inp->val.t) && - (inp->type & (YAP_STRING_INT | YAP_STRING_FLOAT | - YAP_STRING_BIG)) == inp->type) { - LOCAL_Error_TYPE = TYPE_ERROR_NUMBER; + if ((inp->type & (YAP_STRING_CHARS | YAP_STRING_WCHARS))) { + //> buffer processing + //> must convert: + if (inp->type & YAP_STRING_CHARS) { + //> - ASCII to UTF-8 + if (inp->enc == ENC_ISO_ASCII) { + pop_text_stack(lvl); + return inp->val.uc; + } + //> - ISO-LATIN-1 to UTF-8 + if (inp->enc == ENC_ISO_LATIN1) { + POPRET( (char*)latin2utf8(inp)); + } + + //> - assume UTF-8 + if (inp->enc == ENC_ISO_UTF8) { + pop_text_stack(lvl); + return inp->val.uc; } } - } - if (LOCAL_Error_TYPE != YAP_NO_ERROR) - return NULL; + if (inp->type & YAP_STRING_WCHARS) { + // printf("%S\n",inp->val.w); + //> wide includes everything else + POPRET( (char *)wchar2utf8(inp) ); + } + } else { + if (inp->type & YAP_STRING_TERM) { + //> term: anything goes + pop_text_stack(lvl); + return (unsigned char *)Yap_TermToBuffer(inp->val.t, 0); + } + if (IsVarTerm(inp->val.t)) { + Yap_ThrowError(INSTANTIATION_ERROR, inp->val.t, NULL); + } + if (IsPairOrNilTerm(inp->val.t)) { + if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == + (YAP_STRING_CODES | YAP_STRING_ATOMS))) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListToBuffer(NULL, inp->val.t, inp PASS_REGS); + POPRET( out ); + // this is a term, extract to a sfer, and representation is wide + } + if (inp->type & YAP_STRING_CODES) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfCodesToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a sfer, and representation is wide + POPRET( out ); + } - if (IsAtomTerm(inp->val.t) && inp->type & YAP_STRING_ATOM) { - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - Atom at = AtomOfTerm(inp->val.t); - size_t sz = strlen(at->StrOfAE); - if (lengp) - *lengp = sz; - if (inp->type & YAP_STRING_WITH_BUFFER) - return at->UStrOfAE; - inp->type |= YAP_STRING_IN_TMP; - char *o = Malloc(sz+1); - strcpy(o, at->StrOfAE); - return (unsigned char *)o; - } - if (IsStringTerm(inp->val.t) && inp->type & YAP_STRING_STRING) { - // this is a term, extract to a buffer, and representation is wide - // Yap_DebugPlWriteln(inp->val.t); - const char *s = StringOfTerm(inp->val.t); - size_t sz = strlen( s ); - if (lengp) - *lengp = sz; - if (inp->type & YAP_STRING_WITH_BUFFER) - return (unsigned char *)UStringOfTerm(inp->val.t); - inp->type |= YAP_STRING_IN_TMP; - char *o = Malloc(sz+1); - strcpy(o, s); - return (unsigned char *)o; - } - if (((inp->type & (YAP_STRING_CODES | YAP_STRING_ATOMS)) == - (YAP_STRING_CODES | YAP_STRING_ATOMS)) && - IsPairOrNilTerm(inp->val.t)) { - // Yap_DebugPlWriteln(inp->val.t); - return Yap_ListToBuffer(s0, inp->val.t, inp, &wide, lengp PASS_REGS); - // this is a term, extract to a sfer, and representation is wide - } - if (inp->type & YAP_STRING_CODES && IsPairOrNilTerm(inp->val.t)) { - // Yap_DebugPlWriteln(inp->val.t); - return Yap_ListOfCodesToBuffer(s0, inp->val.t, inp, &wide, lengp PASS_REGS); - // this is a term, extract to a sfer, and representation is wide - } - if (inp->type & YAP_STRING_ATOMS && IsPairOrNilTerm(inp->val.t)) { - // Yap_DebugPlWriteln(inp->val.t); - return Yap_ListOfAtomsToBuffer(s0, inp->val.t, inp, &wide, lengp PASS_REGS); - // this is a term, extract to a buffer, and representation is wide - } - if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { - // ASCII, so both LATIN1 and UTF-8 - // Yap_DebugPlWriteln(inp->val.t); - char *s; - s = Malloc(0); - if (snprintf(s, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, - IntegerOfTerm(inp->val.t)) < 0) { - AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), s, char); + if (inp->type & YAP_STRING_ATOMS) { + // Yap_DebugPlWriteln(inp->val.t); + out = (char *)Yap_ListOfAtomsToBuffer(NULL, inp->val.t, inp PASS_REGS); + // this is a term, extract to a buffer, and representation is wide + POPRET( out ); + } } - if (lengp) - *lengp = strlen(s); - return (unsigned char *)s; - } - if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { - char *s; - // Yap_DebugPlWriteln(inp->val.t); - if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &s, 1024)) { - return NULL; + if (IsStringTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_STRING))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } + // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + const char *s = StringOfTerm(inp->val.t); + if (s[0] == 0) { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return (unsigned char *)UStringOfTerm(inp->val.t); + } + { + inp->type |= YAP_STRING_IN_TMP; + size_t sz = strlen(s); + out = Malloc(sz + 1); + strcpy(out, s); + POPRET( out ); + } + } + if (IsAtomTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_ATOM))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } + // this is a term, extract to a buffer, and representation is wide + // Yap_DebugPlWriteln(inp->val.t); + Atom at = AtomOfTerm(inp->val.t); + if (RepAtom(at)->UStrOfAE[0] == '\0') { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } + if (inp->type & YAP_STRING_WITH_BUFFER) { + pop_text_stack(lvl); + return at->UStrOfAE; + } else + { + size_t sz = strlen(at->StrOfAE); + out = Malloc(sz + 1); + strcpy(out, at->StrOfAE); + POPRET( out ); + } + } + if (inp->type & YAP_STRING_INT && IsIntegerTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_INT))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (snprintf(out, MaxTmp(PASS_REGS1) - 1, Int_FORMAT, + IntegerOfTerm(inp->val.t)) < 0) { + AUX_ERROR(inp->val.t, 2 * MaxTmp(PASS_REGS1), out, char); + } + POPRET( out ); + } + if (inp->type & YAP_STRING_FLOAT && IsFloatTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_FLOAT))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + out = Malloc(2 * MaxTmp(PASS_REGS1)); + if (!Yap_FormatFloat(FloatOfTerm(inp->val.t), &out, 1024)) { + pop_text_stack(lvl); + return NULL; + } + POPRET(out); } - if (lengp) - *lengp = strlen(s); - return (unsigned char *)s; - } #if USE_GMP - if (inp->type & YAP_STRING_BIG && IsBigIntTerm(inp->val.t)) { - // Yap_DebugPlWriteln(inp->val.t); - char *s; - s = Malloc(0); - if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), s, MaxTmp() - 1, 10)) { - AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), s, char); + if ( IsBigIntTerm(inp->val.t)) { + if(!(inp->type & (YAP_STRING_BIG))) { + Yap_ThrowError(type_error(inp), inp->val.t, NULL); + } // ASCII, so both LATIN1 and UTF-8 + // Yap_DebugPlWriteln(inp->val.t); + out = Malloc(MaxTmp()); + if (!Yap_mpz_to_string(Yap_BigIntOfTerm(inp->val.t), out, MaxTmp() - 1, + 10)) { + AUX_ERROR(inp->val.t, MaxTmp(PASS_REGS1), out, char); + } + POPRET(out); } - if (lengp) - *lengp = strlen(s); - return inp->val.uc = (unsigned char *)s; - } #endif - if (inp->type & YAP_STRING_TERM) { - // Yap_DebugPlWriteln(inp->val.t); - char *s = (char *) Yap_TermToBuffer(inp->val.t, lengp, ENC_ISO_UTF8, 0); - return inp->val.uc = (unsigned char *)s; - } - if (inp->type & YAP_STRING_CHARS) { - if (inp->enc == ENC_ISO_LATIN1) { - return latin2utf8(inp, lengp); - } else if (inp->enc == ENC_ISO_ASCII) { - if (lengp) - *lengp = strlen(inp->val.c); - return inp->val.uc; - }else { //if (inp->enc == ENC_ISO_UTF8) { - if (lengp) - *lengp = strlen(inp->val.c); - return inp->val.uc; - } - } - if (inp->type & YAP_STRING_WCHARS) { - // printf("%S\n",inp->val.w); - return wchar2utf8(inp, lengp); } + pop_text_stack(lvl); + Yap_ThrowError(type_error(inp), inp->val.t, NULL); return NULL; } -static Term write_strings(unsigned char *s0, seq_tv_t *out, - size_t leng USES_REGS) { - size_t min = 0, max = leng; +static Term write_strings(unsigned char *s0, seq_tv_t *out USES_REGS) { + size_t min = 0, max = strlen((char *)s0); if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { if (out->type & YAP_STRING_NCHARS) @@ -541,14 +613,16 @@ static Term write_strings(unsigned char *s0, seq_tv_t *out, Term t = init_tstring(PASS_REGS1); LOCAL_TERM_ERROR(t, 2 * max); unsigned char *buf = buf_from_tstring(HR); - strcpy( (char *)buf, s ) - ; - if (max+1 < min) { - LOCAL_TERM_ERROR(t, 2 * min); - memset(buf+min, '\0', max); + if (max == 0) + buf[0] = '\0'; + else + strcpy((char *)buf, s); + if (max + 1 < min) { + LOCAL_TERM_ERROR(t, 2 * min); + memset(buf + min, '\0', max); buf += min; } else { - buf += max+1; + buf += max + 1; } close_tstring(buf PASS_REGS); out->val.t = t; @@ -556,12 +630,13 @@ static Term write_strings(unsigned char *s0, seq_tv_t *out, return out->val.t; } -static Term write_atoms(void *s0, seq_tv_t *out, size_t leng USES_REGS) { +static Term write_atoms(void *s0, seq_tv_t *out USES_REGS) { Term t = AbsPair(HR); + char *s1 = (char *)s0; size_t sz = 0; - size_t max = leng; - if (leng == 0) { - out->val.t = t; + size_t max = strlen(s1); + if (s1[0] == '\0') { + out->val.t = TermNil; return TermNil; } if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { @@ -571,17 +646,19 @@ static Term write_atoms(void *s0, seq_tv_t *out, size_t leng USES_REGS) { unsigned char *s = s0, *lim = s + strnlen((char *)s, max); unsigned char *cp = s; - unsigned char w[10], *wp = w; + unsigned char w[10]; + int wp = 0; LOCAL_TERM_ERROR(t, 2 * (lim - s)); while (cp < lim && *cp) { utf8proc_int32_t chr; CELL *cl; - s += get_utf8(s, 1, &chr); + s += get_utf8(s, -1, &chr); if (chr == '\0') { - wp[0] = '\0'; + w[0] = '\0'; break; } - wp += put_utf8(w, chr); + wp = put_utf8(w, chr); + w[wp] = '\0'; cl = HR; HR += 2; cl[0] = MkAtomTerm(Yap_ULookupAtom(w)); @@ -605,23 +682,23 @@ static Term write_atoms(void *s0, seq_tv_t *out, size_t leng USES_REGS) { return (t); } -static Term write_codes(void *s0, seq_tv_t *out, size_t leng USES_REGS) { - Term t = AbsPair(HR); - size_t sz = 0; - size_t max = leng; - if (leng == 0) { - out->val.t = t; - return TermNil; +static Term write_codes(void *s0, seq_tv_t *out USES_REGS) { + Term t; + size_t sz = strlen(s0); + if (sz == 0) { + if (out->type & YAP_STRING_DIFF) { + out->val.t = Globalize(out->dif PASS_REGS); + } else { + out->val.t = TermNil; + } + return out->val.t; } - if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { - if (out->type & YAP_STRING_TRUNC && out->max < max) - max = out->max; - } - - unsigned char *s = s0, *lim = s + strlen((char *)s); + unsigned char *s = s0, *lim = s + sz; unsigned char *cp = s; + t = AbsPair(HR); LOCAL_TERM_ERROR(t, 2 * (lim - s)); + t = AbsPair(HR); while (*cp) { utf8proc_int32_t chr; CELL *cl; @@ -632,65 +709,63 @@ static Term write_codes(void *s0, seq_tv_t *out, size_t leng USES_REGS) { HR += 2; cl[0] = MkIntegerTerm(chr); cl[1] = AbsPair(HR); - sz++; - if (sz == max) - break; } - if (out->type & YAP_STRING_DIFF) { - if (sz == 0) - t = out->dif; - else - HR[-1] = Globalize(out->dif PASS_REGS); + if (sz == 0) { + HR[-1] = Globalize(out->dif PASS_REGS); } else { - if (sz == 0) - t = TermNil; - else - HR[-1] = TermNil; + HR[-1] = TermNil; } out->val.t = t; return (t); } -static Atom write_atom(void *s0, seq_tv_t *out, size_t leng USES_REGS) { +static Atom write_atom(void *s0, seq_tv_t *out USES_REGS) { unsigned char *s = s0; int32_t ch; - if (leng == 0) { + if (s[0] == '\0') { return Yap_LookupAtom(""); } + size_t leng = strlen(s0); if (strlen_utf8(s0) <= leng) { return Yap_LookupAtom(s0); } else { - unsigned char *buf = Malloc(leng + 1); - memmove(buf, s0, leng); - buf[leng] = \0; + size_t n = get_utf8(s, -1, &ch); + unsigned char *buf = Malloc(n + 1); + memmove(buf, s0, n + 1); return Yap_ULookupAtom(buf); } } -size_t write_buffer(unsigned char *s0, seq_tv_t *out, size_t leng USES_REGS) { - size_t min = 0, max = leng, room_end; +void *write_buffer(unsigned char *s0, seq_tv_t *out USES_REGS) { + int l = push_text_stack(); + size_t leng = strlen((char *)s0); + size_t min = 0, max = leng; if (out->enc == ENC_ISO_UTF8) { - room_end = strlen((char *)s0) + 1; if (out->val.uc == NULL) { // this should always be the case - out->val.uc = malloc(room_end < 16 ? 16 : room_end); - } - if (out->val.uc != s0) { + out->val.uc = Malloc(leng + 1); + strcpy(out->val.c, (char *)s0); + } else if (out->val.uc != s0) { + out->val.c = Malloc(leng + 1); strcpy(out->val.c, (char *)s0); } } else if (out->enc == ENC_ISO_LATIN1) { - room_end = strlen((char *)s0) + 1; + unsigned char *s = s0; unsigned char *cp = s; unsigned char *buf = out->val.uc; - if (!buf) - return -1; + if (!buf) { + pop_text_stack(l); + return NULL; + } while (*cp) { utf8proc_int32_t chr; int off = get_utf8(cp, -1, &chr); - if (off <= 0 || chr > 255) - return -1; + if (off <= 0 || chr > 255) { + pop_text_stack(l); + return NULL; + } if (off == max) - break; + break; cp += off; *buf++ = chr; } @@ -698,20 +773,21 @@ size_t write_buffer(unsigned char *s0, seq_tv_t *out, size_t leng USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } - room_end = buf - out->val.uc; } else if (out->enc == ENC_WCHAR) { unsigned char *s = s0, *lim = s + (max = strnlen((char *)s0, max)); unsigned char *cp = s; wchar_t *buf0, *buf; buf = buf0 = out->val.w; - if (!buf) - return -1; + if (!buf) { + pop_text_stack(l); + return NULL; + } while (*cp && cp < lim) { utf8proc_int32_t chr; cp += get_utf8(cp, -1, &chr); @@ -721,53 +797,56 @@ size_t write_buffer(unsigned char *s0, seq_tv_t *out, size_t leng USES_REGS) { *buf++ = '\0'; else while (max < min) { - utf8proc_int32_t chr; - max++; - cp += get_utf8(cp, -1, &chr); - *buf++ = chr; + utf8proc_int32_t chr; + max++; + cp += get_utf8(cp, -1, &chr); + *buf++ = chr; } *buf = '\0'; - room_end = (buf - buf0) + 1; } else { // no other encodings are supported. - room_end = -1; + pop_text_stack(l); + return NULL; } - return room_end; + out->val.c = pop_output_text_stack(l, out->val.c); + return out->val.c; } -static size_t write_length(const unsigned char *s0, seq_tv_t *out, - size_t leng USES_REGS) { - return leng; +static size_t write_length(const unsigned char *s0, seq_tv_t *out USES_REGS) { + return strlen_utf8(s0); } -static Term write_number(unsigned char *s, seq_tv_t *out, int size, - bool error_on USES_REGS) { +static Term write_number(unsigned char *s, seq_tv_t *out, + bool error_on USES_REGS) { Term t; - int i = push_text_stack(); + LOCAL_delay = !error_on; t = Yap_StringToNumberTerm((char *)s, &out->enc, error_on); - pop_text_stack(i); + LOCAL_delay = false; return t; } -static Term string_to_term(void *s, seq_tv_t *out, size_t leng USES_REGS) { +static Term string_to_term(void *s, seq_tv_t *out USES_REGS) { Term o; - o = out->val.t = Yap_BufferToTerm(s, strlen(s) + 1, TermNil); + yap_error_descriptor_t *new_error = malloc(sizeof(yap_error_descriptor_t)); + bool mdnew = Yap_pushErrorContext(true, new_error); + o = out->val.t = Yap_BufferToTerm(s, TermNil); + Yap_popErrorContext(mdnew, true); + return o; } -bool write_Text(unsigned char *inp, seq_tv_t *out, size_t leng USES_REGS) { +bool write_Text(unsigned char *inp, seq_tv_t *out USES_REGS) { /* we know what the term is */ if (out->type == 0) { return true; } - - if (out->type & YAP_STRING_TERM) { - if ((out->val.t = string_to_term(inp, out, leng PASS_REGS)) != 0L) - return out->val.t != 0; + if (LOCAL_Error_TYPE) { + return false; } + if (out->type & (YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG)) { if ((out->val.t = write_number( - inp, out, leng, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { + inp, out, !(out->type & YAP_STRING_ATOM) PASS_REGS)) != 0L) { // Yap_DebugPlWriteln(out->val.t); return true; @@ -777,48 +856,52 @@ bool write_Text(unsigned char *inp, seq_tv_t *out, size_t leng USES_REGS) { return false; } if (out->type & (YAP_STRING_ATOM)) { - if ((out->val.a = write_atom(inp, out, leng PASS_REGS)) != NIL) { + if ((out->val.a = write_atom(inp, out PASS_REGS)) != NIL) { Atom at = out->val.a; if (at && (out->type & YAP_STRING_OUTPUT_TERM)) - out->val.t = MkAtomTerm(at); + out->val.t = MkAtomTerm(at); // Yap_DebugPlWriteln(out->val.t); return at != NIL; } } + if (out->type & YAP_STRING_DATUM) { + if ((out->val.t = string_to_term(inp, out PASS_REGS)) != 0L) + return out->val.t != 0; + } switch (out->type & YAP_TYPE_MASK) { case YAP_STRING_CHARS: { - size_t room = write_buffer(inp, out, leng PASS_REGS); + void *room = write_buffer(inp, out PASS_REGS); // printf("%s\n", out->val.c); - return ((Int)room > 0); + return room != NULL; } case YAP_STRING_WCHARS: { - size_t room = write_buffer(inp, out, leng PASS_REGS); + void *room = write_buffer(inp, out PASS_REGS); // printf("%S\n", out->val.w); - return ((Int)room > 0); + return room != NULL; } case YAP_STRING_STRING: - out->val.t = write_strings(inp, out, leng PASS_REGS); + out->val.t = write_strings(inp, out PASS_REGS); // Yap_DebugPlWriteln(out->val.t); return out->val.t != 0; case YAP_STRING_ATOMS: - out->val.t = write_atoms(inp, out, leng PASS_REGS); + out->val.t = write_atoms(inp, out PASS_REGS); // Yap_DebugPlWriteln(out->val.t); return out->val.t != 0; case YAP_STRING_CODES: - out->val.t = write_codes(inp, out, leng PASS_REGS); + out->val.t = write_codes(inp, out PASS_REGS); // Yap_DebugPlWriteln(out->val.t); return out->val.t != 0; case YAP_STRING_LENGTH: - out->val.l = write_length(inp, out, leng PASS_REGS); + out->val.l = write_length(inp, out PASS_REGS); // printf("s\n",out->val.l); return out->val.l != (size_t)(-1); case YAP_STRING_ATOM: - out->val.a = write_atom(inp, out, leng PASS_REGS); + out->val.a = write_atom(inp, out PASS_REGS); // Yap_DebugPlWriteln(out->val.t); return out->val.a != NULL; case YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG: - out->val.t = write_number(inp, out, leng, true PASS_REGS); + out->val.t = write_number(inp, out, true PASS_REGS); // Yap_DebugPlWriteln(out->val.t); return out->val.t != 0; default: { return true; } @@ -856,76 +939,69 @@ bool Yap_CVT_Text(seq_tv_t *inp, seq_tv_t *out USES_REGS) { unsigned char *buf; bool rc; - size_t leng_s; /* - f//printfmark(stderr, "[ %d ", n++) ; + //printf(stderr, "[ %d ", n++) ; if (inp->type & (YAP_STRING_TERM|YAP_STRING_ATOM|YAP_STRING_ATOMS_CODES - |YAP_STRING_STRING)) - //Yap_DebugPlWriteln(inp->val.t); + |YAP_STRING_STRING)) + //Yap_DebugPlWriteln(inp->val.t); else if (inp->type & YAP_STRING_WCHARS) fprintf(stderr,"S %S\n", inp->val - .w); + .w); else fprintf(stderr,"s %s\n", inp->val.c); -*/ + */ // cnt++; - buf = Yap_readText(inp, &leng_s PASS_REGS); - if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { - size_t max_s = skip_utf8( buf, out-> max )-buf; - if (max_s < leng_s) { - char *nbuf = Malloc(max_s + 1); - memmove(nbuf, buf, max_s); - nbuf[max_s] = '\0'; - leng_s = out->max; - } - // else if (out->type & YAP_STRING_NCHARS && - // const unsigned char *ptr = skip_utf8(buf, leng) - } + int l = push_text_stack(); + buf = Yap_readText(inp PASS_REGS); if (!buf) { + pop_text_stack(l); return 0L; } - - if (out->type & (YAP_STRING_UPCASE | YAP_STRING_DOWNCASE)) { - if (out->type & YAP_STRING_UPCASE) { - if (!upcase(buf, out)) { - return false; + if (buf[0]) { + size_t leng = strlen_utf8(buf); + if (out->type & (YAP_STRING_NCHARS | YAP_STRING_TRUNC)) { + if (out->max < leng) { + const unsigned char *ptr = skip_utf8(buf, out->max); + size_t diff = (ptr - buf); + char *nbuf = Malloc(diff + 1); + memmove(nbuf, buf, diff); + nbuf[diff] = '\0'; + leng = diff; } + // else if (out->type & YAP_STRING_NCHARS && + // const unsigned char *ptr = skip_utf8(buf) } - if (out->type & YAP_STRING_DOWNCASE) { - if (!downcase(buf, out)) { - return false; + + if (out->type & (YAP_STRING_UPCASE | YAP_STRING_DOWNCASE)) { + if (out->type & YAP_STRING_UPCASE) { + if (!upcase(buf, out)) { + pop_text_stack(l); + return false; + } + } + if (out->type & YAP_STRING_DOWNCASE) { + if (!downcase(buf, out)) { + pop_text_stack(l); + return false; + } } } } - - rc = write_Text(buf, out, leng_s PASS_REGS); + rc = write_Text(buf, out PASS_REGS); /* fprintf(stderr, " -> "); - if (!rc) fprintf(stderr, "NULL"); - else if (out->type & - (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES - |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); - else if (out->type & - YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); - else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", - out->val.w); - else - fprintf(stderr, "%s", out->val.c); - fprintf(stderr, "\n]\n"); */ + if (!rc) fprintf(stderr, "NULL"); + else if (out->type & + (YAP_STRING_TERM|YAP_STRING_ATOMS_CODES + |YAP_STRING_STRING)) //Yap_DebugPlWrite(out->val.t); + else if (out->type & + YAP_STRING_ATOM) //Yap_DebugPlWriteln(MkAtomTerm(out->val.a)); + else if (out->type & YAP_STRING_WCHARS) fprintf(stderr, "%S", + out->val.w); + else + fprintf(stderr, "%s", out->val.c); + fprintf(stderr, "\n]\n"); */ + pop_text_stack(l); return rc; } -static int cmp_Text(const unsigned char *s1, const unsigned char *s2, int l) { - const unsigned char *w1 = s1; - utf8proc_int32_t chr1, chr2; - const unsigned char *w2 = s2; - int i; - for (i = 0; i < l; i++) { - w2 += get_utf8(w2, -1, &chr2); - w1 += get_utf8(w1, -1, &chr1); - if (chr1 - chr2) - return chr1 - chr2; - } - return 0; -} - static unsigned char *concat(int n, void *sv[] USES_REGS) { void *buf; unsigned char *buf0; @@ -933,23 +1009,28 @@ static unsigned char *concat(int n, void *sv[] USES_REGS) { int i; for (i = 0; i < n; i++) { - room += strlen((char *)sv[i]); + char *s = sv[i]; + if (s[0]) + room += strlen(s); } buf = Malloc(room + 1); buf0 = buf; for (i = 0; i < n; i++) { + char *s = sv[i]; + if (!s[0]) + continue; #if _WIN32 || defined(__ANDROID__) - strcpy(buf, sv[i]); + strcpy(buf, s); buf = (char *)buf + strlen(buf); #else - buf = stpcpy(buf, sv[i]); + buf = stpcpy(buf, s); #endif } return buf0; } -static void *slice(size_t min, size_t max, unsigned char *buf USES_REGS) { - unsigned char *nbuf = Malloc((max - min) * 4 + 1); +static void *slice(size_t min, size_t max, const unsigned char *buf USES_REGS) { + unsigned char *nbuf = BaseMalloc((max - min) * 4 + 1); const unsigned char *ptr = skip_utf8(buf, min); unsigned char *nptr = nbuf; utf8proc_int32_t chr; @@ -967,74 +1048,104 @@ static void *slice(size_t min, size_t max, unsigned char *buf USES_REGS) { bool Yap_Concat_Text(int tot, seq_tv_t inp[], seq_tv_t *out USES_REGS) { void **bufv; unsigned char *buf; - int i; - size_t leng; - - + int i, j; + // int lvl = push_text_stack(); bufv = Malloc(tot * sizeof(unsigned char *)); if (!bufv) { + // pop_text_stack(lvl); return NULL; } - for (i = 0; i < tot; i++) { - inp[i].type |= YAP_STRING_WITH_BUFFER; - unsigned char *nbuf = Yap_readText(inp + i, &leng PASS_REGS); + for (i = 0, j = 0; i < tot; i++) { + // inp[j].type |= YAP_STRING_WITH_BUFFER; + unsigned char *nbuf = Yap_readText(inp + i PASS_REGS); if (!nbuf) { + // pop_text_stack(lvl); return NULL; } - bufv[i] = nbuf; + // if (!nbuf[0]) + // continue; + bufv[j++] = nbuf; } - buf = concat(tot, bufv PASS_REGS); - bool rc = write_Text(buf, out, strlen_utf8(buf) PASS_REGS); + if (j == 0) { + buf = Malloc(8); + memset(buf, 0, 4); + } else if (j == 1) { + buf = bufv[0]; + } else { + buf = concat(tot, bufv PASS_REGS); + } + bool rc = write_Text(buf, out PASS_REGS); + // pop_text_stack( lvl ); return rc; } // bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, - seq_tv_t outv[] USES_REGS) { - unsigned char *buf; - size_t l; + seq_tv_t outv[] USES_REGS) { + int lvl = push_text_stack(); + const unsigned char *buf; + size_t b_l, u_l; inp->type |= YAP_STRING_IN_TMP; - buf = Yap_readText(inp, &l PASS_REGS); + buf = Yap_readText(inp PASS_REGS); if (!buf) { + pop_text_stack(lvl); return false; } + b_l = strlen((char *)buf); + if (b_l == 0) { + pop_text_stack(lvl); + return false; + } + u_l = strlen_utf8(buf); if (!cuts) { if (n == 2) { - size_t l0, l1; + size_t b_l0, b_l1, u_l0, u_l1; unsigned char *buf0, *buf1; if (outv[0].val.t) { - buf0 = Yap_readText(outv, &l0 PASS_REGS); - if (!buf0) { - return false; - } - if (cmp_Text(buf, buf0, l0) != 0) { - return false; - } - l1 = l - l0; + buf0 = Yap_readText(outv PASS_REGS); + if (!buf0) { + return false; + } + b_l0 = strlen((const char *)buf0); + if (memcmp(buf, buf0, b_l0) != 0) { + pop_text_stack(lvl); + return false; + } + u_l0 = strlen_utf8(buf0); + u_l1 = u_l - u_l0; - buf1 = slice(l0, l, buf PASS_REGS); - bool rc = write_Text(buf1, outv + 1, l1 PASS_REGS); - if (!rc) { - return false; - } - return rc; + b_l1 = b_l - b_l0; + buf1 = slice(u_l0, u_l, buf PASS_REGS); + b_l1 = strlen((const char *)buf1); + bool rc = write_Text(buf1, outv + 1 PASS_REGS); + pop_text_stack(lvl); + if (!rc) { + return false; + } + return rc; } else /* if (outv[1].val.t) */ { - buf1 = Yap_readText(outv + 1, &l1 PASS_REGS); - if (!buf1) { - return false; - } - l0 = l - l1; - if (cmp_Text(skip_utf8((const unsigned char *)buf, l0), buf1, l1) != - 0) { - return false; - } - buf0 = slice(0, l0, buf PASS_REGS); - bool rc = write_Text(buf0, outv, l0 PASS_REGS); - return rc; + buf1 = Yap_readText(outv + 1 PASS_REGS); + if (!buf1) { + pop_text_stack(lvl); + return false; + } + b_l1 = strlen((char *)buf1); + u_l1 = strlen_utf8(buf1); + b_l0 = b_l - b_l1; + u_l0 = u_l - u_l1; + if (memcmp(skip_utf8((const unsigned char *)buf, b_l0), buf1, b_l1) != + 0) { + pop_text_stack(lvl); + return false; + } + buf0 = slice(0, u_l0, buf PASS_REGS); + buf0 = pop_output_text_stack(lvl, buf0); + bool rc = write_Text(buf0, outv PASS_REGS); + return rc; } } } @@ -1047,53 +1158,16 @@ bool Yap_Splice_Text(int n, size_t cuts[], seq_tv_t *inp, if (i > 0 && cuts[i] == 0) break; void *bufi = slice(next, cuts[i], buf PASS_REGS); - if (!write_Text(bufi, outv + i, cuts[i] - next PASS_REGS)) { + bufi = pop_output_text_stack(lvl, bufi); + if (!write_Text(bufi, outv + i PASS_REGS)) { return false; } } + pop_text_stack(lvl); return true; } -/** - * Function to convert a generic text term (string, atom, list of codes, list -of< -atoms) into a buff -er. - * - * @param t the term - * @param buf the buffer, if NULL a buffer is malloced, and the user should -reclai it - * @param len buffer size - * @param enc encoding (UTF-8 is strongly recommended) - * - * @return the buffer, or NULL in case of failure. If so, Yap_Error may be -called. - */ -const char *Yap_TextTermToText(Term t, char *buf, size_t len, encoding_t enc) { - CACHE_REGS - seq_tv_t inp, out; - inp.val.t = t; - if (IsAtomTerm(t) && t != TermNil) { - inp.type = YAP_STRING_ATOM; - inp.enc = ENC_ISO_UTF8; - } else if (IsStringTerm(t)) { - inp.type = YAP_STRING_STRING; - inp.enc = ENC_ISO_UTF8; - } else if (IsPairOrNilTerm(t)) { - inp.type = (YAP_STRING_CODES | YAP_STRING_ATOMS); - } else { - Yap_Error(TYPE_ERROR_TEXT, t, NULL); - return false; - } - out.enc = enc; - out.type = YAP_STRING_CHARS; - out.val.c = buf; - if (!Yap_CVT_Text(&inp, &out PASS_REGS)) - return NULL; - return out.val.c; -} - /** * Convert from a predicate structure to an UTF-8 string of the form * @@ -1107,7 +1181,7 @@ const char *Yap_TextTermToText(Term t, char *buf, size_t len, encoding_t enc) { */ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { CACHE_REGS - Atom at; + Atom at; arity_t arity = 0; Functor f; char *s, *smax, *s0; @@ -1115,8 +1189,8 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { smax = s + 1024; Term tmod = ap->ModuleOfPred; if (tmod) { - Yap_AtomToUTF8Text(AtomOfTerm(tmod), s); - s += strlen(s); + char *sn = Yap_AtomToUTF8Text(AtomOfTerm(tmod)); + stpcpy(s, sn); if (smax - s > 1) { strcat(s, ":"); } else { @@ -1138,8 +1212,8 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { return LOCAL_FileNameBuf; } else if (ap->PredFlags & AtomDBPredFlag) { at = (Atom)(ap->FunctorOfPred); - if (!Yap_AtomToUTF8Text(at, s)) - return NULL; + if (!stpcpy(s, Yap_AtomToUTF8Text(at))) + return NULL; } else { f = ap->FunctorOfPred; at = NameOfFunctor(f); @@ -1153,7 +1227,7 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { at = (Atom)(ap->FunctorOfPred); } } - if (!Yap_AtomToUTF8Text(at, s)) { + if (!stpcpy(s, Yap_AtomToUTF8Text(at))) { return NULL; } s += strlen(s); @@ -1166,18 +1240,18 @@ const char *Yap_PredIndicatorToUTF8String(PredEntry *ap) { * _Tguide_ * ≈* @param s the buffer -≈ * @param tguide the guide + ≈ * @param tguide the guide * -≈ * @return the term - */ -Term Yap_MkTextTerm(const char *s, encoding_t enc, Term tguide) { - CACHE_REGS - if (IsAtomTerm(tguide)) + ≈ * @return the term +*/ +Term Yap_MkTextTerm(const char *s, int guide USES_REGS) { + if (guide == YAP_STRING_ATOM) { return MkAtomTerm(Yap_LookupAtom(s)); - if (IsStringTerm(tguide)) + } else if (guide == YAP_STRING_STRING) { return MkStringTerm(s); - if (IsPairTerm(tguide) && IsAtomTerm(HeadOfTerm(tguide))) { - return Yap_CharsToListOfAtoms(s, enc PASS_REGS); + } else if (guide == YAP_STRING_ATOMS) { + return Yap_CharsToListOfAtoms(s, ENC_ISO_UTF8 PASS_REGS); + } else { + return Yap_CharsToListOfCodes(s, ENC_ISO_UTF8 PASS_REGS); } - return Yap_CharsToListOfCodes(s, enc PASS_REGS); } diff --git a/C/write.c b/C/write.c index 9abc1af3f..b7e33dcb1 100644 --- a/C/write.c +++ b/C/write.c @@ -375,7 +375,6 @@ int Yap_FormatFloat(Float f, char **s, size_t sz) { CACHE_REGS struct write_globs wglb; int sno; - char *so; sno = Yap_open_buf_write_stream(GLOBAL_Stream[LOCAL_c_output_stream].encoding, 0); diff --git a/CXX/yapdb.hh b/CXX/yapdb.hh index e29340df7..d376c7ff8 100644 --- a/CXX/yapdb.hh +++ b/CXX/yapdb.hh @@ -53,6 +53,7 @@ public: YAPModule(YAP_Term t) : YAPAtomTerm(t){}; YAPModule() : YAPAtomTerm(curModule()){}; YAPModule(YAPAtom t) : YAPAtomTerm(t){}; + YAPModule(YAPStringTerm t) : YAPAtomTerm(t.getString()){}; Term term() { return gt(); }; }; diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index 65bbf7cf6..e8ffa6272 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -517,6 +517,7 @@ bool YAPEngine::call(YAPPredicate ap, YAPTerm ts[]) { bool YAPEngine::mgoal(Term t, Term tmod, bool release) { #if YAP_PYTHON + // std::cerr << "mgoal(in) " << YAPTerm(tmod).text() << ":" << YAPTerm(t).text() << "\n"; // PyThreadState *_save; // std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; @@ -529,8 +530,6 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { q.p = P; q.cp = CP; PredEntry *ap = nullptr; - std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; - std::cerr << "mgoal " << YAPTerm(tmod).text() << "\n"; if (IsStringTerm(tmod)) tmod = MkAtomTerm(Yap_LookupAtom(StringOfTerm(tmod))); YAPPredicate *p = new YAPPredicate(t, tmod, ts, "C++"); @@ -554,9 +553,8 @@ bool YAPEngine::mgoal(Term t, Term tmod, bool release) { // don't forget, on success these guys may create slots //__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "exec "); - result = (bool)YAP_EnterGoal(ap, nullptr, &q); - std::cerr << "mgoal " << YAPTerm(t).text() << "\n"; - std::cerr << "mgoal " << YAPTerm(tmod).text() << "\n"; + result = (bool)YAP_EnterGoal(ap, nullptr, &q); + // std::cerr << "mgoal " << YAPTerm(tmod).text() << ":" << YAPTerm(t).text() << "\n"; YAP_LeaveGoal(result && !release, &q); // PyEval_RestoreThread(_save); diff --git a/H/ATOMS b/H/ATOMS index 9c5c63b02..b22adcf6e 100644 --- a/H/ATOMS +++ b/H/ATOMS @@ -269,7 +269,7 @@ A NotLessThanZero N "not_less_than_zero" A NotNewline N "not_newline" A NotZero N "not_zero" A Number N "number" -A Obj N "o__bj__" +A Obj N "__obj__" A Off N "off" A Offline N "offline" A On N "on" diff --git a/H/YapFlags.h b/H/YapFlags.h index ffadb6d5b..d6239561a 100644 --- a/H/YapFlags.h +++ b/H/YapFlags.h @@ -119,6 +119,9 @@ INLINE_ONLY Term aro(Term inp) { // INLINE_ONLY Term booleanFlag( Term inp ); static inline Term booleanFlag(Term inp) { + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (inp == TermTrue || inp == TermOn) return TermTrue; if (inp == TermFalse || inp == TermOff) @@ -139,6 +142,9 @@ static inline Term booleanFlag(Term inp) { } static Term synerr(Term inp) { + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (inp == TermDec10 || inp == TermFail || inp == TermError || inp == TermQuiet) return inp; @@ -172,6 +178,9 @@ static inline Term isatom(Term inp) { "value must be bound"); return TermZERO; } + if (IsStringTerm(inp)) { + inp = MkStringTerm(RepAtom(AtomOfTerm(inp))->StrOfAE); + } if (IsAtomTerm(inp)) return inp; Yap_Error(TYPE_ERROR_ATOM, inp, "set_prolog_flag"); diff --git a/H/YapHeap.h b/H/YapHeap.h index 4ab90268c..5e8551775 100755 --- a/H/YapHeap.h +++ b/H/YapHeap.h @@ -156,10 +156,10 @@ typedef struct various_codes { } all_heap_codes; -#include "hglobals.h" +#include "generated/hglobals.h" -#include "dhstruct.h" -#include "dglobals.h" +#include "generated/dhstruct.h" +#include "generated/dglobals.h" #else typedef struct various_codes { /* memory allocation and management */ @@ -169,15 +169,15 @@ typedef struct various_codes { } all_heap_codes; -#include "tatoms.h" +#include "generated/tatoms.h" -#include "h0struct.h" +#include "generated/h0struct.h" -#include "h0globals.h" +#include "generated/h0globals.h" #endif -#include "hlocals.h" +#include "generated/hlocals.h" #include "dlocals.h" diff --git a/H/generated/iatoms.h b/H/generated/iatoms.h index 976b58afe..0a9574170 100644 --- a/H/generated/iatoms.h +++ b/H/generated/iatoms.h @@ -264,7 +264,7 @@ AtomNotNewline = Yap_LookupAtom("not_newline"); TermNotNewline = MkAtomTerm(AtomNotNewline); AtomNotZero = Yap_LookupAtom("not_zero"); TermNotZero = MkAtomTerm(AtomNotZero); AtomNumber = Yap_LookupAtom("number"); TermNumber = MkAtomTerm(AtomNumber); - AtomObj = Yap_LookupAtom("o__bj__"); TermObj = MkAtomTerm(AtomObj); + AtomObj = Yap_LookupAtom("__obj__"); TermObj = MkAtomTerm(AtomObj); AtomOff = Yap_LookupAtom("off"); TermOff = MkAtomTerm(AtomOff); AtomOffline = Yap_LookupAtom("offline"); TermOffline = MkAtomTerm(AtomOffline); AtomOn = Yap_LookupAtom("on"); TermOn = MkAtomTerm(AtomOn); diff --git a/library/dialect/swi/fli/swi.c b/library/dialect/swi/fli/swi.c index 568ecf6a2..1cdfef195 100755 --- a/library/dialect/swi/fli/swi.c +++ b/library/dialect/swi/fli/swi.c @@ -1326,7 +1326,7 @@ YAP long int unify(YAP_Term* a, Term* b) */ X_API int PL_unify_atom_chars(term_t t, const char *s) { CACHE_REGS Atom at; - while ((at = Yap_CharsToAtom(s, ENC_ISO_LATIN1 PASS_REGS)) == 0L) { + while ((at = Yap_LookupAtom(s)) == 0L) { if (LOCAL_Error_TYPE && !Yap_SWIHandleError("PL_unify_atom_nchars")) return true; } @@ -1451,16 +1451,28 @@ X_API int PL_unify_list(term_t tt, term_t h, term_t tail) { } t = Deref(Yap_GetFromSlot(tt)); if (IsVarTerm(t)) { - Term pairterm = Yap_MkNewPairTerm(); - Yap_unify(t, pairterm); - /* avoid calling deref */ - t = pairterm; + Term ttail =Yap_GetFromSlot(tail), + pairterm = MkPairTerm(Yap_GetFromSlot(h) + , ttail); + if (tt == tail) { + Yap_PutInSlot(tt, pairterm); + return true; + } else { + return Yap_unify(t, pairterm); + } } else if (!IsPairTerm(t)) { return FALSE; } - Yap_PutInSlot(h, HeadOfTerm(t)); - Yap_PutInSlot(tail, TailOfTerm(t)); - return TRUE; + bool rc = Yap_unify(h, HeadOfTerm(t)); + if (rc) { + if (tt == tail) { + Yap_PutInSlot(tail, TailOfTerm(t)); + return true; + } else { + return Yap_unify(Yap_GetFromSlot(tail), TailOfTerm(t)); + } + } + return false; } /* int PL_unify_list(term_t ?t, term_t +h, term_t -t) @@ -1548,7 +1560,7 @@ YAP long int unify(YAP_Term* a, Term* b) */ X_API int PL_unify_string_chars(term_t t, const char *chars) { CACHE_REGS Term chterm; - while ((chterm = Yap_CharsToString(chars, ENC_ISO_LATIN1 PASS_REGS)) == 0L) { + while ((chterm = MkStringTerm(chars)) == 0L) { if (LOCAL_Error_TYPE && !Yap_SWIHandleError("PL_unify_list_ncodes")) return FALSE; } diff --git a/library/expand_macros.yap b/library/expand_macros.yap index e41137724..d1c927e78 100644 --- a/library/expand_macros.yap +++ b/library/expand_macros.yap @@ -86,6 +86,7 @@ aux_args([Arg|Args], [Arg|MVars], [PVar|PArgs], [PVar|PVars], ['_'|ProtoArgs]) : pred_name(Macro, Arity, _ , Name) :- transformation_id(Id), + atomic_concat(['$$$__Auxiliary_predicate__ for',Macro,'/',Arity,' ',Id], Name). transformation_id(Id) :- diff --git a/library/maputils.yap b/library/maputils.yap index ba5cb6bc4..a0106808f 100644 --- a/library/maputils.yap +++ b/library/maputils.yap @@ -85,13 +85,16 @@ pred_name(Macro, Arity, _ , Name) :- transformation_id(Id), atomic_concat(['$$$ for ',Macro,'/',Arity,', line ',Line,' in ',File,' ',Id], Name). pred_name(Macro, Arity, _ , Name) :- - transformation_id(Id), + transformation_id(Id), + stop_low_level_trace, atomic_concat(['$$$__expansion__ for ',Macro,'/',Arity,' ',Id], Name). transformation_id(Id) :- - retract(number_of_expansions(Id)), - Id1 is Id+1, - assert(number_of_expansions(Id1)). + retract(number_of_expansions(Id)), + !, + Id1 is Id+1, + assert(number_of_expansions(Id1)). +transformation_id(0). %% goal_expansion_allowed is semidet. % diff --git a/os/fmem.c b/os/fmem.c index b36970851..e2e586f67 100644 --- a/os/fmem.c +++ b/os/fmem.c @@ -213,18 +213,13 @@ int Yap_open_buf_write_stream(encoding_t enc, memBufSource src) { st->vfs = NULL; st->buf.on = true; st->nbuf = NULL; - st->nsize = 0; st->status |= Seekable_Stream_f; #if HAVE_OPEN_MEMSTREAM st->file = open_memstream(&st->nbuf, &st->nsize); // setbuf(st->file, NULL); - if (!st->nbuf) { - return -1; - } #else st->file = fmemopen((void *)st->nbuf, st->nsize, "w+"); #endif - st->vfs = NULL; Yap_DefaultStreamOps(st); UNLOCK(st->streamlock); return sno; diff --git a/packages/python/CMakeLists.txt b/packages/python/CMakeLists.txt index 1314dca1e..550dc5e78 100644 --- a/packages/python/CMakeLists.txt +++ b/packages/python/CMakeLists.txt @@ -6,7 +6,7 @@ set (PYTHON_HEADERS py4yap.h) set (CMAKE_POSITION_INDEPENDENT_CODE TRUE) include_directories( BEFORE ${PYTHON_INCLUDE_DIRS} ${CMAKE_BINARY_DIR} -${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/os ) +${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/os ${CMAKE_SOURCE_DIR}/H ${CMAKE_SOURCE_DIR}/OPTYap ) #talk to python.pl add_lib(YAPPython pyload.c ${PYTHON_HEADERS} ) diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index 167df5679..a7a331375 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -1,4 +1,5 @@ +#include "Yap.h" #include "py4yap.h" @@ -109,7 +110,7 @@ static bool copy_to_dictionary(PyObject *dict, term_t targ, term_t taux, PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { // o≈ YAP_Term yt = YAP_GetFromSlot(t); - // Yap_DebugPlWriteln(yt); + Yap_DebugPlWriteln(yt); switch (PL_term_type(t)) { case PL_VARIABLE: { if (yt == 0) { @@ -186,31 +187,24 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } default: if (PL_is_pair(t)) { - term_t tail = PL_new_term_ref(); - term_t arg = PL_new_term_ref(); - size_t len, i; - if (PL_skip_list(t, tail, &len) && PL_get_nil(tail)) { + Term t0 = Yap_GetFromHandle(t); + Term *tail; + size_t len,i; + if ((len = Yap_SkipList(&t0, &tail))>=0 && *tail == TermNil) { PyObject *out, *a; out = PyList_New(len); - if (!out) { - PL_reset_term_refs(tail); - YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "list->python"); - } for (i = 0; i < len; i++) { - if (!PL_get_list(t, arg, t)) { - PL_reset_term_refs(tail); - YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "list->python"); - } - a = term_to_python(arg, eval, o, cvt); + Term ai = HeadOfTerm(t0); + a = term_to_python(Yap_InitHandle(ai), eval, o, cvt); if (a) { if (PyList_SetItem(out, i, a) < 0) { YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "list->python"); } } + t0 = TailOfTerm(t0); } - PL_reset_term_refs(tail); return out; } else { PyObject *no = find_obj(o, t, false); @@ -343,7 +337,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { AOK(PL_get_arg(1, t, t), NULL); if (!(dict = PyDict_New())) return NULL; - Py_INCREF(dict); + Py_INCREF(dict); DebugPrintf("Dict %p\n", dict); while (PL_is_functor(t, FUNCTOR_comma2)) { @@ -360,6 +354,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { return dict; } AOK(PL_get_name_arity(t, &name, &arity), NULL); + if (name == ATOM_t) { int i; rc = PyTuple_New(arity); diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index d6606001f..919a5f35a 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -1,5 +1,9 @@ + +#include "Yap.h" + #include "py4yap.h" + #include void YAPPy_ThrowError__(const char *file, const char *function, int lineno, @@ -28,12 +32,9 @@ void YAPPy_ThrowError__(const char *file, const char *function, int lineno, } } -static foreign_t repr_term(PyObject *pVal, term_t t) { - term_t to = PL_new_term_ref(), t1 = PL_new_term_ref(); - PL_put_pointer(t1, pVal); - PL_cons_functor(to, FUNCTOR_pointer1, t1); - Py_INCREF(pVal); - return PL_unify(t, to); +static Term repr_term(PyObject *pVal) { + Term t = MkAddressTerm(pVal); + return Yap_MkApplTerm(FunctorObj, 1, &t); } foreign_t assign_to_symbol(term_t t, PyObject *e); @@ -50,185 +51,157 @@ foreign_t assign_to_symbol(term_t t, PyObject *e) { return PyObject_SetAttrString(dic, s, e) == 0; } -foreign_t python_to_term(PyObject *pVal, term_t t) -{ - bool rc = true; - term_t to = PL_new_term_ref(); - // fputs(" <<*** ",stderr); PyObject_Print(pVal,stderr,0); - // fputs("<<***\n",stderr); +static Term python_to_term__(PyObject *pVal) { if (pVal == Py_None) { // fputs("<<*** ",stderr);Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" // >>***\n",stderr); - rc = true; + return YAP_MkVarTerm(); // fputs("<<*** ",stderr);Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" // >>***\n",stderr); } else if (PyBool_Check(pVal)) { - rc = rc && PL_unify_bool(t, PyObject_IsTrue(pVal)); + if(PyObject_IsTrue(pVal)) return TermTrue; + return TermFalse; } else if (PyLong_Check(pVal)) { - rc = rc && PL_unify_int64(t, PyLong_AsLong(pVal)); + return MkIntegerTerm(PyLong_AsLong(pVal)); #if PY_MAJOR_VERSION < 3 } else if (PyInt_Check(pVal)) { - rc = rc && PL_unify_int64(t, PyInt_AsLong(pVal)); + return MkIntegerTerm(PyInt_AsLong(pVal)); #endif } else if (PyFloat_Check(pVal)) { - rc = rc && PL_unify_float(t, PyFloat_AsDouble(pVal)); + return MkFloatTerm(PyFloat_AsDouble(pVal)); } else if (PyComplex_Check(pVal)) { - term_t t1 = PL_new_term_ref(), t2 = PL_new_term_ref(); - if (!PL_put_float(t1, PyComplex_RealAsDouble(pVal)) || - !PL_put_float(t2, PyComplex_ImagAsDouble(pVal)) || - !PL_cons_functor(to, FUNCTOR_complex2, t1, t2)) { - rc = false; - } else { - rc = rc && PL_unify(t, to); - } - } else if (PyUnicode_Check(pVal)) { + Term t[2]; + t[0] = MkFloatTerm(PyComplex_RealAsDouble(pVal)); + t[1] = MkFloatTerm(PyComplex_ImagAsDouble(pVal)); + return Yap_MkApplTerm(FunctorI, 2, t); + +} +else if (PyUnicode_Check(pVal)) { #if PY_MAJOR_VERSION < 3 - size_t sz = PyUnicode_GetSize(pVal) + 1; - wchar_t *s = malloc(sizeof(wchar_t) * sz); - sz = PyUnicode_AsWideChar((PyUnicodeObject *)pVal, a, sz - 1); - free(ptr); + size_t sz = PyUnicode_GetSize(pVal) + 1; + wchar_t *s = malloc(sizeof(wchar_t) * sz); + sz = PyUnicode_AsWideChar((PyUnicodeObject *)pVal, a, sz - 1); + free(ptr); #else - const char *s = PyUnicode_AsUTF8(pVal); + const char *s = PyUnicode_AsUTF8(pVal); #endif - if (Yap_AtomInUse(s)) +#if 0 + if (false && Yap_AtomInUse(s)) rc = rc && PL_unify_atom_chars(t, s); else - rc = rc && PL_unify_string_chars(t, s); - } else if (PyByteArray_Check(pVal)) { - rc = rc && PL_unify_string_chars(t, PyByteArray_AsString(pVal)); -#if PY_MAJOR_VERSION < 3 - } else if (PyString_Check(pVal)) { - rc = rc && PL_unify_string_chars(t, PyString_AsString(pVal)); #endif - } else if (PyTuple_Check(pVal)) { - Py_ssize_t i, sz = PyTuple_Size(pVal); - functor_t f; - const char *s; - if (sz == 0) { - rc = rc && PL_unify_atom(t, ATOM_brackets); - } else { - if ((s = (Py_TYPE(pVal)->tp_name))) { - if (!strcmp(s, "v")) { - pVal = PyTuple_GetItem(pVal, 0); - if (pVal == NULL) { - pVal = Py_None; - PyErr_Clear(); - } - term_t v = YAP_InitSlot(PyLong_AsLong(pVal)); - return PL_unify(v, t); - } - if (s[0] == '$') { - char *ns = malloc(strlen(s) + 5); - strcpy(ns, "__"); - strcat(ns, s + 1); - strcat(ns, "__"); - f = PL_new_functor(PL_new_atom(ns), sz); - } else { - f = PL_new_functor(PL_new_atom(s), sz); - } - } else { - f = PL_new_functor(ATOM_t, sz); - } - if (PL_unify_functor(t, f)) { - for (i = 0; i < sz; i++) { - term_t to = PL_new_term_ref(); - if (!PL_get_arg(i + 1, t, to)) - rc = false; - PyObject *p = PyTuple_GetItem(pVal, i); - if (p == NULL) { - PyErr_Clear(); - p = Py_None; - } else { - rc = rc && python_to_term(p, to); - } - PL_reset_term_refs(to); - } - } else { - rc = false; - } - // fputs(" ||*** ",stderr); Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" - // ||***\n",stderr); + return MkStringTerm(s); +} +else if (PyByteArray_Check(pVal)) { + return MkStringTerm(PyByteArray_AsString(pVal)); +#if PY_MAJOR_VERSION < 3 +} +else if (PyString_Check(pVal)) { + return MkStringTerm(PyString_AsString(pVal)); +#endif +} +else if (PyTuple_Check(pVal)) { + Py_ssize_t sz = PyTuple_Size(pVal); + const char *s; + s = Py_TYPE(pVal)->tp_name; + if (s == NULL) + s = "t"; + if (sz == 0) { + return MkAtomTerm(YAP_LookupAtom(Py_TYPE(pVal)->tp_name)); +} +else { + Functor f = Yap_MkFunctor(Yap_LookupAtom(s), sz); + Term t = Yap_MkNewApplTerm(f, sz); + long i; + CELL *ptr = RepAppl(t) + 1; + for (i = 0; i < sz; i++) { + PyObject *p = PyTuple_GetItem(pVal, i); + if (p == NULL) { + PyErr_Clear(); + return false; } - } else if (PyList_Check(pVal)) { - Py_ssize_t i, sz = PyList_GET_SIZE(pVal); - - for (i = 0; i < sz; i++) { - PyObject *obj; - term_t to = PL_new_term_ref(); - rc = rc && PL_unify_list(t, to, t); - if ((obj = PyList_GetItem(pVal, i)) == NULL) { - obj = Py_None; - } - rc = rc && python_to_term(obj, to); - PL_reset_term_refs(to); - if (!rc) - return false; - } - return rc && PL_unify_nil(t); - // fputs("[***] ", stderr); - // Yap_DebugPlWrite(yt); fputs("[***]\n", stderr); - } else if (PyDict_Check(pVal)) { - Py_ssize_t pos = 0; - int left = PyDict_Size(pVal); - PyObject *key, *value; - - if (left == 0) { - rc = rc && PL_unify_atom(t, ATOM_curly_brackets); - } else { - while (PyDict_Next(pVal, &pos, &key, &value)) { - term_t tkey = PL_new_term_ref(), tval = PL_new_term_ref(), tint, - tnew = PL_new_term_ref(); - term_t to = PL_new_term_ref(); - /* do something interesting with the values... */ - if (!python_to_term(key, tkey)) { - continue; - } - if (!python_to_term(value, tval)) { - continue; - } - /* reuse */ - tint = tkey; - if (!PL_cons_functor(tint, FUNCTOR_colon2, tkey, tval)) { - rc = false; - continue; - } - if (--left) { - if (!PL_cons_functor(tint, FUNCTOR_comma2, tint, tnew)) - PL_reset_term_refs(tkey); - rc = false; - } - if (!PL_unify(to, tint)) { - rc = false; - } - } - rc = rc && PL_unify(t, to); - } - } else { - rc = rc && repr_term(pVal, t); + *ptr++ = python_to_term__(p); } + return t; +} +// PL_reset_term_refs(to); +// fputs(" ||*** ",stderr); Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" +// ||***\n",stderr); +} +else if (PyList_Check(pVal)) { + Py_ssize_t i, sz = PyList_GET_SIZE(pVal); + if (sz == 0) + return TermNil; + Term t = TermNil; + for (i = sz; i > 0; --i) { + PyObject *p = PyTuple_GetItem(pVal, i); + if (p == NULL) { + PyErr_Clear(); + return false; + } + if (!python_to_term__(p)) + return false; + t = MkPairTerm(python_to_term__(p), t); + } + return t; +} +else if (PyDict_Check(pVal)) { + Py_ssize_t pos = 0; + int left = PyDict_Size(pVal); + PyObject *key, *value; + Term f, *opt = &f, t; + if (left == 0) { + return ATOM_curly_brackets; + } else { + while (PyDict_Next(pVal, &pos, &key, &value)) { + Term t0[2], to; + t0[0] = python_to_term__(key); + t0[1] = python_to_term__(value); + to = Yap_MkApplTerm(FunctorEq, 2, t0); + if (left--) { + t = Yap_MkNewApplTerm(FunctorOr, 2); + *opt = t; + CELL *pt = RepAppl(t) + 1; + pt[0] = to; + opt = pt + 1; + } else { + *opt = t = to; + } + } + return Yap_MkApplTerm(FunctorBraces, 1, &t); + } + }else { + return repr_term(pVal); + } +} + +foreign_t python_to_term(PyObject *pVal, term_t t) { + term_t t0 = PL_new_term_ref(); + bool rc = python_to_term__(pVal); + PL_reset_term_refs(t0); return rc; } - - +// extern bool Yap_do_low_level_trace; X_API YAP_Term pythonToYAP(PyObject *pVal) { - - term_t t = PL_new_term_ref(); - if (pVal == NULL || !python_to_term(pVal, t)) { - PL_reset_term_refs(t); - return 0; - } - YAP_Term tt = YAP_GetFromSlot(t); - PL_reset_term_refs(t); + // Yap_do_low_level_trace=1; + /* fputs(" *** ", stderr); */ + /* PyObject_Print(pVal, stderr, 0); */ + /* fputs("***>>\n", stderr); */ + if (pVal == NULL) + Yap_ThrowError(SYSTEM_ERROR_INTERNAL, 0, NULL); + Term t = python_to_term__(pVal); + /* fputs("<< *** ", stderr); */ + /* Yap_DebugPlWrite(t); */ + /* fputs(" ***\n", stderr); */ // Py_DECREF(pVal); - return tt; + return t; } PyObject *py_Local, *py_Global; - /** * assigns the Python RHS to a Prolog term LHS, ie LHS = RHS * diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 835835f64..758458796 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -23,6 +23,11 @@ static foreign_t python_len(term_t tobj, term_t tf) { len = PyObject_Length(o); pyErrorAndReturn(PL_unify_int64(tf, len)); } +static foreign_t python_clear_errors(void) { + PyErr_Clear(); + return true; +} + static foreign_t python_dir(term_t tobj, term_t tf) { PyObject *dir; @@ -701,6 +706,7 @@ install_t install_pypreds(void) { PL_register_foreign("python_import", 2, python_import, 0); PL_register_foreign("python_access", 3, python_access, 0); PL_register_foreign("python_threaded", 0, p_python_threaded, 0); + PL_register_foreign("python_clear_errors", 0, python_clear_errors, 0); init_python_vfs(); } diff --git a/packages/python/python.pl b/packages/python/python.pl index 7b7107369..79663a7c6 100644 --- a/packages/python/python.pl +++ b/packages/python/python.pl @@ -32,6 +32,7 @@ release_GIL/0, python_threaded/0, prolog_list_to_python_list/3, + python_clear_errors/0, op(100,fy,$), op(950,fy,:=), op(950,yfx,:=), diff --git a/packages/python/swig/prolog/yapi.yap b/packages/python/swig/prolog/yapi.yap index c54ddba49..e5e0322ef 100644 --- a/packages/python/swig/prolog/yapi.yap +++ b/packages/python/swig/prolog/yapi.yap @@ -3,20 +3,20 @@ %% @brief support yap shell %% %:- start_low_level_trace. - :- module(yapi, [ - python_ouput/0, - show_answer/2, - show_answer/3, - yap_query/4, - python_query/2, - python_query/3, - python_import/1, - yapi_query/2 - ]). + %% :- module(yapi, [ + %% python_ouput/0, + %% show_answer/2, + %% show_answer/3, + %% yap_query/4, + %% python_query/2, + %% python_query/3, + %% python_import/1, + %% yapi_query/2 + %% ]). :- yap_flag(verbose, silent). -:- use_module(library(python)). + :- use_module(library(python)). :- use_module( library(lists) ). :- use_module( library(maplist) ). @@ -88,3 +88,4 @@ in_dict(Dict, nonvar([V0|Vs],G)) :- !, in_dict( Dict, nonvar(Vs, G) ). in_dict(_Dict, nonvar([],_G)) :- !. in_dict(_, _) + diff --git a/packages/python/swig/yap4py/yapi.py b/packages/python/swig/yap4py/yapi.py index f10d491fc..b54db5390 100644 --- a/packages/python/swig/yap4py/yapi.py +++ b/packages/python/swig/yap4py/yapi.py @@ -6,16 +6,17 @@ import sys yap_lib_path = dirname(__file__) -compile = namedtuple('compile', 'file') bindvars = namedtuple('bindvars', 'list') -library = namedtuple('library', 'list') +compile = namedtuple('compile', 'file') +jupyter_query = namedtuple('jupyter_query', 'vars dict') +library = namedtuple('library', 'listfiles') +prolog_library = namedtuple('prolog_library', 'listfiles') +python_query = namedtuple('python_query', 'vars dict') +set_prolog_flag = namedtuple('set_prolog_flag', 'flag new_value') +show_answer = namedtuple('show_answer', 'vars dict') v0 = namedtuple('v', 'slot') yap_query = namedtuple('yap_query', 'query owner') -jupyter_query = namedtuple('jupyter_query', 'vars dict') -python_query = namedtuple('python_query', 'vars dict') yapi_query = namedtuple('yapi_query', 'vars dict') -show_answer = namedtuple('show_answer', 'vars dict') -set_prolog_flag = namedtuple('set_prolog_flag', 'flag new_value') class Engine( YAPEngine ): @@ -30,17 +31,18 @@ class Engine( YAPEngine ): args.setYapPLDIR(yap_lib_path) args.setSavedState(join(yap_lib_path, "startup.yss")) YAPEngine.__init__(self, args) - self.goal(set_prolog_flag('verbose', 'silent'),True) - self.goal(compile(library('yapi')), True) - self.goal(set_prolog_flag('verbose', 'normal'), True) + self.run(compile(library('yapi')),m="user",release=True) def run(self, g, m=None, release=False): if m: self.mgoal(g, m, release) else: - self.goal(release) - + self.goal(g, release) + def prolog_library(self, file): + g = prolog_library(file) + self.run(g) + class JupyterEngine( Engine ): def __init__(self, args=None,self_contained=False,**kwargs): @@ -50,11 +52,9 @@ class JupyterEngine( Engine ): args.jupyter = True Engine.__init__(self, args) self.errors = None - self.goal(set_prolog_flag('verbose', 'silent'),True) - self.goal(compile(library('verify')), True) - self.goal(compile(library('complete')), True) - self.goal(compile(library('jupyter')), True) - self.goal(set_prolog_flag('verbose', 'normal'), True) + self.run(compile(library('jupyter')),"user") + self.run(compile(library('complete')),"user") + self.run(compile(library('verify')),"user") class EngineArgs( YAPEngineArgs ): """ Interface to Engine Options class""" diff --git a/packages/python/yap_kernel/yap_ipython/prolog/complete.yap b/packages/python/yap_kernel/yap_ipython/prolog/complete.yap index c17a1201e..4de1ea40c 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/complete.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/complete.yap @@ -4,12 +4,12 @@ * @brief Prolog completer. */ -:- module( completer, - [completions/2 ]). +%% %% :- module( completer, +%% %% [completions/2 ]). :- use_module(library(lists)). :- use_module(library(maplist)). -:- use_module(library(python)). + :- use_module(library(python)). %% completions( +Text, +PythonCell ) % diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index 02e428134..4bcca17f4 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -6,36 +6,38 @@ */ :- yap_flag(gc_trace,verbose). - +/* :- module( jupyter, [jupyter_query/3, - blank/1 + blank/1, + streams/1 ] ). +*/ :- use_module(library(hacks)). :- use_module(library(lists)). :- use_module(library(maplist)). -:- reexport(library(python)). -:- reexport(library(yapi)). -:- reexport(library(complete)). -:- reexport(library(verify)). +%% :- reexport(library(python)). +%% :- reexport(library(yapi)). +%% :- reexport(library(complete)). +%% :- reexport(library(verify)). + :- python_import(sys). jupyter_query(Caller, Cell, Line ) :- - jupyter_cell(Caller, Cell, Line). + jupyter_cell(Caller, Cell, Line). jupyter_cell(_Caller, Cell, _Line) :- jupyter_consult(Cell), %stack_dump, fail. -jupyter_cell( _Caller, _, '' ) :- !. +jupyter_cell( _Caller, _, `` ) :- !. jupyter_cell( _Caller, _, Line ) :- blank( Line ), !. -jupyter_cell( Caller, _, Line ) :- - Self := Caller.query, +jupyter_cell(Self, _, Line ) :- catch( python_query(Self,Line), E=error(A,B), @@ -83,7 +85,8 @@ blank(Text) :- string_codes(Text, L), maplist( code_type(space), L). -streams(false) :- + + streams(false) :- close(user_input), close(user_output), close(user_error). @@ -109,4 +112,4 @@ plot_inline :- :- endif. -%:- ( start_low_level_trace ). +%y:- ( start_low_level_trace ). diff --git a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap index 04a9b641c..44e806174 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap @@ -5,19 +5,22 @@ */ - :- module( verify, - [errors/2,q - ready/2] - ). + %% :- module( verify, +%% [errors/2, +%% ready/2] +%% ). :- use_module(library(hacks)). -:- use_module(library(jupyter)). +%% :- use_module(library(jupyter)). + :- use_module(library(lists)). :- use_module(library(maplist)). -:- use_module(library(python)). -:- use_module(library(yapi)). + :- use_module(library(python)). +%% :- use_module(library(yapi)). +:- dynamic jupyter/1. +jupyter( []). ready( Engine, Query) :- errors( Engine , Cell ), @@ -27,10 +30,10 @@ ready( Engine, Query) :- errors( _Engine , Text ) :- - blank(Text). + blank(Text), !. errors( Engine , Text ) :- - jupyter..shell := Engine, +%start_low_level_trace, setup_call_cleanup( open_esh( Engine , Text, Stream, Name ), esh(Engine , Name, Stream), @@ -40,50 +43,55 @@ errors( Engine , Text ) :- errors( _Engine , _Text ). open_esh(Engine , Text, Stream, Name) :- - Engine.errors := [], + Engine.errors := [], + retractall(jupyter(_)), + assertz(jupyter(Engine)), b_setval( jupyter, Engine), Name := Engine.stream_name, open_mem_read_stream( Text, Stream ). esh(Engine , Name, Stream) :- -b_setval(code,python), repeat, catch( - ( read_clause(Stream, Cl, [ syntax_errors(fail)]), - writeln(cl:Cl), + read_clause(Stream, Cl, [ syntax_errors(dec10)]), error(C,E), - p_message(C,E) - + p3_message(C,Engine,E) + ), Cl == end_of_file, !. -user:print_message() :- p_message + +:- multifile user:portray_message/2. + +user:portray_message(S,E) :- +jupyter(En), + En \= [], + python_clear_errors, + p3_message(S,En,E). close_esh( _Engine , Stream ) :- - b_delete + retractall(jupyter(_)), + assertz(jupyter([])), close(Stream). - p_message(Severity, Error) :- - writeln((Severity->Error)), - p_message(Severity, Engine, Error). -p_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- - %% nb_getval(jupyter_cell, on), - %% assert( syntax_error(Cause,LN,CharPos,Details) ). - %% user:portray_message(_Severity, error(style_check(_),_) ) :- - %% nb_getval(jupyter_cell, on). - Engine.errors := [t(Cause,LN,CharPos,Details)] + Engine.errors, - !. - p_message(error, Engine, E) :- - writeln(E), - !. - p_message(warning, Engine, E) :- +p3_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- + python_clear_errors, + !, writeln(E), + NE := [t(Cause,LN,CharPos,Details)]+Engine.errors, + writeln(E), + writeln(NE), + Engine.errors := NE. +p3_message(error, Engine, E) :- + python_clear_errors, + !. + p3_message(warning, Engine, E) :- !. - p_message(error, Engine, E) :- + p3_message(error, Engine, E) :- Engine.errors := [E] + Engine.errors. - p_message(warning, Engine, E) :- + p3_message(warning, Engine, E) :- Engine.errors := [E] + Engine.errors. %% ready(_Self, Line ) :- %% blank( Line ), @@ -173,3 +181,4 @@ p_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _ %% Self.errors := [t(C,L,N,A)] + Self.errors, %% fail. %% close_events( _ ). + diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 64db56aa5..562f2bd34 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -113,424 +113,9 @@ class YAPInputSplitter(InputSplitter): return True if not line: line = text.rstrip() - engine.errors = [] - engine.goal(errors(engine, text),True) - print(engine.errors) - return engine.errors != [] - - - def reset(self): - """Reset the input buffer and associated state.""" - #super(YAPInputSplitter, self).reset() - self._buffer_raw[:] = [] - self.source_raw = '' - self.transformer_accumulating = False - - for t in self.transforms: - try: - t.reset() - except SyntaxError: - # Nothing that calls reset() expects to handle transformer - # errors - pass - - def flush_transformers(self): - def _flush(transform, outs): - """yield transformed lines - - always strings, never None - - transform: the current transform - outs: an iterable of previously transformed inputs. - Each may be multiline, which will be passed - one line at a time to transform. - """ - for out in outs: - for line in out.splitlines(): - # push one line at a time - tmp = transform.push(line) - if tmp is not None: - yield tmp - - # reset the transform - tmp = transform.reset() - if tmp is not None: - yield tmp - - out = [] - - for t in self.transforms: - out = _flush(t, out) - - out = list(out) - if out: - self._store('\n'.join(out)) - - def raw_reset(self): - """Return raw input only and perform a full reset. - """ - out = self.source_raw - self.reset() - return out - - def source_reset(self): - try: - self.flush_transformers() - return self.source - finally: - self.reset() - - def push_accepts_more(self): - if self.transformer_accumulating: - return True - else: - return self.validQuery(self.source, engine, self.shell) - - def transform_cell(self, cell): - """Process and translate a cell of input. - """ - self.reset() - try: - self.push(cell) - self.flush_transformers() - return self.source - finally: - self.reset() - - def push(self, lines): - """Push one or more lines of yap_ipython input. - - This stores the given lines and returns a status code indicating - whether the code forms a complete Python block or not, after processing - all input lines for special yap_ipython syntax. - - Any exceptions generated in compilation are swallowed, but if an - exception was produced, the method returns True. - - Parameters - ---------- - lines : string - One or more lines of Python input. - - Returns - ------- - is_complete : boolean - True if the current input source (the result of the current input - plus prior inputs) forms a complete Python execution block. Note that - this value is also stored as a private attribute (_is_complete), so it - can be queried at any time. - """ - - # We must ensure all input is pure unicode - lines = cast_unicode(lines, self.encoding) - # ''.splitlines() --> [], but we need to push the empty line to transformers - lines_list = lines.splitlines() - if not lines_list: - lines_list = [''] - - # Store raw source before applying any transformations to it. Note - # that this must be done *after* the reset() call that would otherwise - # flush the buffer. - self._store(lines, self._buffer_raw, 'source_raw') - - transformed_lines_list = [] - for line in lines_list: - transformed = self._transform_line(line) - if transformed is not None: - transformed_lines_list.append(transformed) - if transformed_lines_list: - transformed_lines = '\n'.join(transformed_lines_list) - else: - # Got nothing back from transformers - they must be waiting for - # more input. - return False - - def _transform_line(self, line): - """Push a line of input code through the various transformers. - - Returns any output from the transformers, or None if a transformer - is accumulating lines. - - Sets self.transformer_accumulating as a side effect. - """ - def _accumulating(dbg): - #print(dbg) - self.transformer_accumulating = True - return None - - for transformer in self.physical_line_transforms: - line = transformer.push(line) - if line is None: - return _accumulating(transformer) - - for transformer in self.logical_line_transforms: - line = transformer.push(line) - if line is None: - return _accumulating(transformer) - - - #print("transformers clear") #debug - self.transformer_accumulating = False - return line - - -class YAPCompleter(Completer): - - greedy = Bool(False, - help="""Activate greedy completion - PENDING DEPRECTION. this is now mostly taken care of with Jedi. - - This will enable completion on elements of lists, self.results of function calls, etc., - but can be unsafe because the code is actually evaluated on TAB. - """ - ).tag(config=True) - - debug = Bool(default_value=False, - help='Enable debug for the Completer. Mostly print extra ' - 'information for experimental jedi integration.') \ - .tag(config=True) - - backslash_combining_completions = Bool(True, - help="Enable unicode completions, e.g. \\alpha . " - "Includes completion of latex commands, unicode names, and expanding " - "unicode characters back to latex commands.").tag(config=True) - - - - def __init__(self, namespace=None, global_namespace=None, shell=None, **kwargs): - """Create a new completer for the command line. - - Completer(namespace=ns, global_namespace=ns2) -> completer instance. - - """ - - self.shell = shell - self.magic_escape = ESC_MAGIC - super(Completer, self).__init__(**kwargs) - - def complete(self, text, line=None, cursor_pos=None): - """Return the completed text and a list of completions. - - Parameters - ---------- - - text : string - A string of text to be completed on. It can be given as empty and - instead a line/position pair are given. In this case, the - completer itself will split the line like readline does. - - This is called successively with state == 0, 1, 2, ... until it - returns None. The completion should begin with 'text'. - - line : string, optional - The complete line that text is part of. - - cursor_pos : int, optional - The position of the cursor on the input line. - - Returns - ------- - text : string - The actual text that was completed. - - matches : list - A sorted list with all possible completions. - - The optional arguments allow the completion to take more context into - account, and are part of the low-level completion API. - - This is a wrapper around the completion mechanism, similar to what - readline does at the command line when the TAB key is hit. By - exposing it as a method, it can be used by other non-readline - environments (such as GUIs) for text completion. - - Simple usage example: - - In [1]: x = 'hello' - - In [2]: _ip.complete('x.l') - Out[2]: ('x.l', ['x.ljust', 'x.lower', 'x.lstrip']) - """ - if not text: - text = line[:cursor_pos] - return self.completions(text, cursor_pos) - - - def magic_matches(self, text): - """Match magics""" - # Get all shell magics now rather than statically, so magics loaded at - # runtime show up too. - lsm = self.shell.magics_manager.lsmagic() - line_magics = lsm['line'] - cell_magics = lsm['cell'] - pre = self.magic_escape - pre2 = pre+pre - - explicit_magic = text.startswith(pre) - - # Completion logic: - # - user gives %%: only do cell magics - # - user gives %: do both line and cell magics - # - no prefix: do both - # In other words, line magics are skipped if the user gives %% explicitly - # - # We also exclude magics that match any currently visible names: - # https://github.com/ipython/ipython/issues/4877, unless the user has - # typed a %: - # https://github.com/ipython/ipython/issues/10754 - bare_text = text.lstrip(pre) - global_matches = [] - if not explicit_magic: - def matches(magic): - """ - Filter magics, in particular remove magics that match - a name present in global namespace. - """ - return ( magic.startswith(bare_text) and - magic not in global_matches ) - else: - def matches(magic): - return magic.startswith(bare_text) - - comp = [ pre2+m for m in cell_magics if matches(m)] - if not text.startswith(pre2): - comp += [ pre+m for m in line_magics if matches(m)] - - return comp - - def magic_config_matches(self, text): #:str) -> List[str]: - """ Match class names and attributes for %config magic """ - texts = text.strip().split() - - if len(texts) > 0 and (texts[0] == 'config' or texts[0] == '%config'): - # get all configuration classes - classes = sorted(set([ c for c in self.shell.configurables - if c.__class__.class_traits(config=True) - ]), key=lambda x: x.__class__.__name__) - classnames = [ c.__class__.__name__ for c in classes ] - - # return all classnames if config or %config is given - if len(texts) == 1: - return classnames - - # match classname - classname_texts = texts[1].split('.') - classname = classname_texts[0] - classname_matches = [ c for c in classnames - if c.startswith(classname) ] - - # return matched classes or the matched class with attributes - if texts[1].find('.') < 0: - return classname_matches - elif len(classname_matches) == 1 and \ - classname_matches[0] == classname: - cls = classes[classnames.index(classname)].__class__ - help = cls.class_get_help() - # strip leading '--' from cl-args: - help = re.sub(re.compile(r'^--', re.MULTILINE), '', help) - return [ attr.split('=')[0] - for attr in help.strip().splitlines() - if attr.startswith(texts[1]) ] - return [] - - - def magic_color_matches(self, text): #:str) -> List[str] : - """ Match color schemes for %colors magic""" - texts = text.split() - if text.endswith(' '): - # .split() strips off the trailing whitespace. Add '' back - # so that: '%colors ' -> ['%colors', ''] - texts.append('') - - if len(texts) == 2 and (texts[0] == 'colors' or texts[0] == '%colors'): - prefix = texts[1] - return [ color for color in InspectColors.keys() - if color.startswith(prefix) ] - return [] - - - - - def completions(self, text, offset): - """ - Returns an iterator over the possible completions - - .. warning:: Unstable - - This function is unstable, API may change without warning. - It will also raise unless use in proper context manager. - - Parameters - ---------- - - text:str - Full text of the current input, multi line string. - offset:int - Integer representing the position of the cursor in ``text``. Offset - is 0-based indexed. - - Yields - ------ - :any:`Completion` object - - - The cursor on a text can either be seen as being "in between" - characters or "On" a character depending on the interface visible to - the user. For consistency the cursor being on "in between" characters X - and Y is equivalent to the cursor being "on" character Y, that is to say - the character the cursor is on is considered as being after the cursor. - - Combining characters may span more that one position in the - text. - - - .. note:: - - If ``IPCompleter.debug`` is :any:`True` will yield a ``--jedi/ipython--`` - fake Completion token to distinguish completion returned by Jedi - and usual yap_ipython completion. - - .. note:: - - Completions are not completely deduplicated yet. If identical - completions are coming from different sources this function does not - ensure that each completion object will only be present once. - """ - self.matches = [] - prolog_res = self.shell.yapeng.goal(completions(text, self),True) - if self.matches: - return text, self.matches - magic_res = self.magic_matches(text) - return text, magic_res - - - - -class YAPRun: - """An enhanced, interactive shell for YAP.""" - - def __init__(self, shell): - self.shell = shell - self.yapeng = JupyterEngine() - global engine - engine = self.yapeng - self.query = None - self.os = None - self.it = None - self.shell.yapeng = self.yapeng - self._get_exc_info = shell._get_exc_info - - def syntaxErrors(self, text): - """Return whether a legal query - """ - if not text: - return [] - if text == self.os: - return self.yapeng.errors - (text,_,_,_) = self.clean_end(text) - self.yapeng.goal(errors(self.yapeng,text),True) - print( self.yapeng.errors ) - return self.yapeng.errors != [] + self.errors = [] + engine.mgoal(errors(self, line),"user",True) + return self.errors != [] def reset(self): @@ -911,7 +496,7 @@ class YAPCompleter(Completer): ensure that each completion object will only be present once. """ self.matches = [] - prolog_res = self.shell.yapeng.goal(completions(text, self),True) + prolog_res = self.shell.yapeng.mgoal(completions(text, self), "user",True) if self.matches: return text, self.matches magic_res = self.magic_matches(text) @@ -940,11 +525,11 @@ class YAPRun: if not text: return [] if text == self.os: - return self.yapeng.errors + return self.errors + self.errors=[] (text,_,_,_) = self.clean_end(text) - self.yapeng.goal(errors(self.yapeng,text),True) - print( self.yapeng.errors ) - return self.yapeng.errors + self.yapeng.mgoal(errors(self,text),"user",True) + return self.errors def jupyter_query(self, s): # @@ -1027,6 +612,7 @@ class YAPRun: # you can print it out, the left-side is the variable name, # the right side wraps a handle to a variable #import pdb; pdb.set_trace() + # #pdb.set_trace() # atom match either symbols, or if no symbol exists, strings, In this case # variable names should match strings # ask = True @@ -1067,9 +653,7 @@ class YAPRun: # except SyntaxError: # preprocessing_exc_tuple = self.shell.syntax_error() # sys.exc_info() cell = raw_cell # cell has to exist so it can be stored/logged - self.yapeng.goal(streams(True), True) - errors = self.syntaxErrors(raw_cell) - for i in errors: + for i in self.syntaxErrors(raw_cell): try: (what,lin,_,text) = i e = SyntaxError(what, ("", lin, 1, text)) @@ -1095,7 +679,6 @@ class YAPRun: # compiler # compiler = self.shell.compile if shell_futures else CachingCompiler() cell_name = str( self.shell.execution_count) - engine.stream_name = cell_name if cell[0] == '%': if cell[1] == '%': linec = False @@ -1124,6 +707,7 @@ class YAPRun: self.shell.displayhook.exec_result = self.result has_raised = False try: + self.yapeng.mgoal(streams(True),"user", True) self.bindings = dicts = [] if cell.strip('\n \t'): #create a Trace object, telling it what to ignore, and whether to @@ -1148,9 +732,9 @@ class YAPRun: except Exception as e: has_raised = True self.result.result = False - self.yapeng.goal(streams(False), True) + self.yapeng.mgoal(streams(False),"user", True) - self.yapeng.goal(ODstreams(False), True) + self.yapeng.mgoal(streams(False),"user", True) self.shell.last_execution_succeeded = not has_raised # Reset this so later displayed values do not modify the diff --git a/pl/consult.yap b/pl/consult.yap index ce366ed89..9de156521 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -308,7 +308,6 @@ load_files(Files0,Opts) :- '$load_files__'(Files, M, Opts, Call) :- '$lf_option'(last_opt, LastOpt), '$show_consult_level'(LC), - writeln(user_error,innbbbbbb), ( LC > 0 -> '__NB_getval__'('$lf_status', OldTOpts, fail), @@ -1672,6 +1671,11 @@ End of conditional compilation. consult_depth(LV) :- '$show_consult_level'(LV). +prolog_library(File) :- + yap_flag(verbose,Old,silent), + ensure_loaded(library(File)), + yap_flag(verbose,_,Old). + :- '$add_multifile'(dot_qualified_goal,2,user). /** From 0c950ce5b3e76501516e4f0bfaf360d9d91415ac Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sat, 21 Jul 2018 12:08:09 +0100 Subject: [PATCH 12/57] jup --- CXX/yapt.hh | 101 +-- os/readterm.c | 821 +++++++++--------- os/writeterm.c | 14 +- packages/python/pl2py.c | 42 +- packages/python/pybips.c | 12 +- packages/python/pyio.c | 27 +- .../yap_kernel/yap_ipython/prolog/verify.yap | 7 +- pl/ypp.yap | 2 +- 8 files changed, 514 insertions(+), 512 deletions(-) diff --git a/CXX/yapt.hh b/CXX/yapt.hh index f07505234..c34ebb18b 100644 --- a/CXX/yapt.hh +++ b/CXX/yapt.hh @@ -29,9 +29,7 @@ class YAPError; extern "C" { -X_API extern Term YAP_MkCharPTerm( char *n); - - +X_API extern Term YAP_MkCharPTerm(char *n); } /** @@ -46,7 +44,7 @@ class X_API YAPTerm { friend class YAPApplTerm; friend class YAPListTerm; - protected: +protected: yhandle_t t; /// handle to term, equivalent to term_t public: @@ -93,7 +91,7 @@ public: // fprintf(stderr,"-%d,%lx,%p ",t,LOCAL_HandleBase[t] ,HR); /* if (!t) return; - Yap_DebugPlWriteln(LOCAL_HandleBase[t]); + // Yap_DebugPlWriteln(LOCAL_HandleBase[t]); LOCAL_HandleBase[t] = TermFreeTerm; while (LOCAL_HandleBase[LOCAL_CurSlot - 1] == TermFreeTerm) { LOCAL_CurSlot--; @@ -119,18 +117,18 @@ public: inline Term term() { return Deref(gt()); } /// from YAPTerm to Term (internal YAP representation) - YAPTerm arg(int i) { - BACKUP_MACHINE_REGS(); - Term t0 = gt(); - YAPTerm tf; - if (!IsApplTerm(t0) && !IsPairTerm(t)) - return (Term)0; - tf = YAPTerm(ArgOfTerm(i, t0) ); - RECOVER_MACHINE_REGS(); - return tf; - }; + YAPTerm arg(int i) { + BACKUP_MACHINE_REGS(); + Term t0 = gt(); + YAPTerm tf; + if (!IsApplTerm(t0) && !IsPairTerm(t)) + return (Term)0; + tf = YAPTerm(ArgOfTerm(i, t0)); + RECOVER_MACHINE_REGS(); + return tf; + }; - inline void bind(Term b) { LOCAL_HandleBase[t] = b; } + inline void bind(Term b) { LOCAL_HandleBase[t] = b; } inline void bind(YAPTerm *b) { LOCAL_HandleBase[t] = b->term(); } /// from YAPTerm to Term (internal YAP representation) /// fetch a sub-term @@ -201,9 +199,10 @@ public: virtual bool isGround() { return Yap_IsGroundTerm(gt()); } /// term is ground virtual bool isList() { return Yap_IsListTerm(gt()); } /// term is a list - /// extract the argument i of the term, where i in 1...arityvoid *Yap_RepStreamFromId(int sno) + /// extract the argument i of the term, where i in 1...arityvoid + /// *Yap_RepStreamFromId(int sno) virtual Term getArg(arity_t i); - + /// extract the arity of the term /// variables have arity 0 virtual inline arity_t arity() { @@ -226,7 +225,7 @@ public: char *os; BACKUP_MACHINE_REGS(); - if (!(os = Yap_TermToBuffer(Yap_GetFromSlot(t), Handle_vars_f))) { + if (!(os = Yap_TermToBuffer(Yap_GetFromSlot(t), Handle_vars_f))) { RECOVER_MACHINE_REGS(); return 0; } @@ -292,7 +291,7 @@ public: /** * @brief Compound Term */ - class X_API YAPApplTerm : public YAPTerm { +class X_API YAPApplTerm : public YAPTerm { friend class YAPTerm; public: @@ -304,33 +303,36 @@ public: RECOVER_MACHINE_REGS(); }; YAPApplTerm(YAPFunctor f, YAPTerm ts[]); - YAPApplTerm(const std::string s, unsigned int arity) { mk(Yap_MkNewApplTerm(Yap_MkFunctor(Yap_LookupAtom(s.c_str()), arity), arity)); }; - YAPApplTerm(const std::string s, std::vector ts); + YAPApplTerm(const std::string s, unsigned int arity) { + mk(Yap_MkNewApplTerm(Yap_MkFunctor(Yap_LookupAtom(s.c_str()), arity), + arity)); + }; + YAPApplTerm(const std::string s, std::vector ts); YAPApplTerm(YAPFunctor f); inline Functor functor() { return FunctorOfTerm(gt()); } inline YAPFunctor getFunctor() { return YAPFunctor(FunctorOfTerm(gt())); } - Term getArg(arity_t i) { - BACKUP_MACHINE_REGS(); - Term t0 = gt(); - Term tf; - tf = ArgOfTerm(i, t0); - RECOVER_MACHINE_REGS(); - return tf; - }; - void putArg(int i, Term targ) { - //BACKUP_MACHINE_REGS(); - Term t0 = gt(); - RepAppl(t0)[i] = Deref(targ); - //RECOVER_MACHINE_REGS(); - }; - void putArg(int i, YAPTerm t) { - //BACKUP_MACHINE_REGS(); - Term t0 = gt(); - RepAppl(t0)[i] = t.term(); - //RECOVER_MACHINE_REGS(); - }; - virtual bool isVar() { return false; } /// type check for unbound + Term getArg(arity_t i) { + BACKUP_MACHINE_REGS(); + Term t0 = gt(); + Term tf; + tf = ArgOfTerm(i, t0); + RECOVER_MACHINE_REGS(); + return tf; + }; + void putArg(int i, Term targ) { + // BACKUP_MACHINE_REGS(); + Term t0 = gt(); + RepAppl(t0)[i] = Deref(targ); + // RECOVER_MACHINE_REGS(); + }; + void putArg(int i, YAPTerm t) { + // BACKUP_MACHINE_REGS(); + Term t0 = gt(); + RepAppl(t0)[i] = t.term(); + // RECOVER_MACHINE_REGS(); + }; + virtual bool isVar() { return false; } /// type check for unbound virtual bool isAtom() { return false; } /// type check for atom virtual bool isInteger() { return false; } /// type check for integer virtual bool isFloat() { return false; } /// type check for floating-point @@ -465,7 +467,7 @@ public: * Term Representation of an Atom */ class X_API YAPAtomTerm : public YAPTerm { - friend class YAPModule; + friend class YAPModule; // Constructor: receives a C-atom; YAPAtomTerm(Term t) : YAPTerm(t) { IsAtomTerm(t); } @@ -479,11 +481,12 @@ public: YAPAtomTerm(char *s, size_t len); // Constructor: receives a sequence of wchar_ts, whatever they may be; YAPAtomTerm(wchar_t *s); - // Constructor: receives a sequence of n wchar_ts, whatever they may be; - YAPAtomTerm(wchar_t *s, size_t len); -// Constructor: receives a std::string; - // YAPAtomTerm(std::string s) { mk(MkAtomTerm(Yap_LookupAtom(s.c_str()))); }; - bool isVar() { return false; } /// type check for unbound + // Constructor: receives a sequence of n wchar_ts, whatever they may be; + YAPAtomTerm(wchar_t *s, size_t len); + // Constructor: receives a std::string; + // YAPAtomTerm(std::string s) { mk(MkAtomTerm(Yap_LookupAtom(s.c_str()))); + // }; + bool isVar() { return false; } /// type check for unbound bool isAtom() { return true; } /// type check for atom bool isInteger() { return false; } /// type check for integer bool isFloat() { return false; } /// type check for floating-point diff --git a/os/readterm.c b/os/readterm.c index 83ff7b055..4eac3b162 100644 --- a/os/readterm.c +++ b/os/readterm.c @@ -120,9 +120,9 @@ static void clean_vars(VarEntry *p) { static Int qq_open(USES_REGS1) { PRED_LD - Term t = Deref(ARG1); + Term t = Deref(ARG1); if (!IsVarTerm(t) && IsApplTerm(t) && FunctorOfTerm(t) = - FunctorDQuasiQuotation) { + FunctorDQuasiQuotation) { void *ptr; char *start; size_t l int s; @@ -173,27 +173,27 @@ static int parse_quasi_quotations(ReadData _PL_rd ARG_LD) { } else return TRUE; } else if (_PL_rd->quasi_quotations) /* user option, but no quotes */ - { - return PL_unify_nil(_PL_rd->quasi_quotations); - } else + { + return PL_unify_nil(_PL_rd->quasi_quotations); + } else return TRUE; } #endif /*O_QUASIQUOTATIONS*/ -#define READ_DEFS() \ - PAR("comments", list_filler, READ_COMMENTS) \ - , PAR("module", isatom, READ_MODULE), PAR("priority", nat, READ_PRIORITY), \ - PAR("output", filler, READ_OUTPUT), \ - PAR("quasi_quotations", filler, READ_QUASI_QUOTATIONS), \ - PAR("term_position", filler, READ_TERM_POSITION), \ - PAR("syntax_errors", isatom, READ_SYNTAX_ERRORS), \ - PAR("singletons", filler, READ_SINGLETONS), \ - PAR("variables", filler, READ_VARIABLES), \ - PAR("variable_names", filler, READ_VARIABLE_NAMES), \ - PAR("character_escapes", booleanFlag, READ_CHARACTER_ESCAPES), \ - PAR("backquoted_string", isatom, READ_BACKQUOTED_STRING), \ - PAR("cycles", ok, READ_CYCLES), PAR(NULL, ok, READ_END) +#define READ_DEFS() \ + PAR("comments", list_filler, READ_COMMENTS) \ + , PAR("module", isatom, READ_MODULE), PAR("priority", nat, READ_PRIORITY), \ + PAR("output", filler, READ_OUTPUT), \ + PAR("quasi_quotations", filler, READ_QUASI_QUOTATIONS), \ + PAR("term_position", filler, READ_TERM_POSITION), \ + PAR("syntax_errors", isatom, READ_SYNTAX_ERRORS), \ + PAR("singletons", filler, READ_SINGLETONS), \ + PAR("variables", filler, READ_VARIABLES), \ + PAR("variable_names", filler, READ_VARIABLE_NAMES), \ + PAR("character_escapes", booleanFlag, READ_CHARACTER_ESCAPES), \ + PAR("backquoted_string", isatom, READ_BACKQUOTED_STRING), \ + PAR("cycles", ok, READ_CYCLES), PAR(NULL, ok, READ_END) #define PAR(x, y, z) z @@ -201,7 +201,7 @@ typedef enum open_enum_choices { READ_DEFS() } read_choices_t; #undef PAR -#define PAR(x, y, z) \ +#define PAR(x, y, z) \ { x, y, z } static const param_t read_defs[] = {READ_DEFS()}; @@ -278,15 +278,13 @@ static Term scanToList(TokEntry *tok, TokEntry *errtok) { } tok = tok->TokNext; } - if (ts[0]) - Yap_DebugPlWriteln(ts[0]); return ts[0]; } /** @pred scan_to_list( +Stream, -Tokens ) - Generate a list of tokens from a scan of the (input) stream, Tokens are of the - form: + Generate a list of tokens from a scan of the (input) stream, Tokens are of + the form: + `atom`(Atom) + ``(Text) @@ -307,7 +305,7 @@ static Int scan_to_list(USES_REGS1) { return false; } TokEntry *tok = LOCAL_tokptr = LOCAL_toktide = - Yap_tokenizer(GLOBAL_Stream + inp_stream, false, &tpos); + Yap_tokenizer(GLOBAL_Stream + inp_stream, false, &tpos); UNLOCK(GLOBAL_Stream[inp_stream].streamlock); tout = scanToList(tok, NULL); if (tout == 0) @@ -328,7 +326,7 @@ static Int scan_to_list(USES_REGS1) { */ static Term syntax_error(TokEntry *errtok, int sno, Term cmod, Int newpos) { CACHE_REGS - Term startline, errline, endline; + Term startline, errline, endline; Term tf[4]; Term tm; Term *tailp = tf + 3; @@ -436,7 +434,7 @@ static Term syntax_error(TokEntry *errtok, int sno, Term cmod, Int newpos) { if (Yap_ExecutionMode == YAP_BOOT_MODE) { fprintf(stderr, "SYNTAX ERROR while booting: "); fe - } + } #endif return terr; } @@ -476,11 +474,11 @@ static xarg *setClauseReadEnv(Term opts, FEnv *fe, struct renv *re, int inp_stream); static xarg *setReadEnv(Term opts, FEnv *fe, struct renv *re, int inp_stream) { CACHE_REGS - LOCAL_VarTable = NULL; + LOCAL_VarTable = NULL; LOCAL_AnonVarTable = NULL; fe->enc = GLOBAL_Stream[inp_stream].encoding; xarg *args = - Yap_ArgListToVector(opts, read_defs, READ_END, DOMAIN_ERROR_READ_OPTION); + Yap_ArgListToVector(opts, read_defs, READ_END, DOMAIN_ERROR_READ_OPTION); if (args == NULL) { return NULL; } @@ -561,18 +559,18 @@ static xarg *setReadEnv(Term opts, FEnv *fe, struct renv *re, int inp_stream) { } typedef enum { - YAP_START_PARSING, /// initialization - YAP_SCANNING, /// input to list of tokens - YAP_SCANNING_ERROR, /// serious error (eg oom); trying error handling, followd - /// by either restart or failure - YAP_PARSING, /// list of tokens to term - YAP_PARSING_ERROR, /// oom or syntax error - YAP_PARSING_FINISHED /// exit parser + YAP_START_PARSING, /// initialization + YAP_SCANNING, /// input to list of tokens + YAP_SCANNING_ERROR, /// serious error (eg oom); trying error handling, followd + /// by either restart or failure + YAP_PARSING, /// list of tokens to term + YAP_PARSING_ERROR, /// oom or syntax error + YAP_PARSING_FINISHED /// exit parser } parser_state_t; Int Yap_FirstLineInParse(void) { CACHE_REGS - return LOCAL_StartLineCount; + return LOCAL_StartLineCount; } #define PUSHFET(X) *HR++ = fe->X @@ -581,7 +579,7 @@ Int Yap_FirstLineInParse(void) { static void reset_regs(TokEntry *tokstart, FEnv *fe) { CACHE_REGS - restore_machine_regs(); + restore_machine_regs(); /* restart global */ PUSHFET(qq); @@ -608,7 +606,7 @@ static void reset_regs(TokEntry *tokstart, FEnv *fe) { static Term get_variables(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v; + Term v; if (fe->vp) { while (true) { @@ -628,7 +626,7 @@ static Term get_variables(FEnv *fe, TokEntry *tokstart) { static Term get_varnames(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v; + Term v; if (fe->np) { while (true) { fe->old_H = HR; @@ -648,7 +646,7 @@ static Term get_varnames(FEnv *fe, TokEntry *tokstart) { static Term get_singletons(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v; + Term v; if (fe->sp) { while (TRUE) { fe->old_H = HR; @@ -667,7 +665,7 @@ static Term get_singletons(FEnv *fe, TokEntry *tokstart) { static void warn_singletons(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v; + Term v; fe->sp = TermNil; v = get_singletons(fe, tokstart); if (v && v != TermNil) { @@ -686,7 +684,7 @@ static void warn_singletons(FEnv *fe, TokEntry *tokstart) { static Term get_stream_position(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v; + Term v; if (fe->tp) { while (true) { fe->old_H = HR; @@ -705,7 +703,7 @@ static Term get_stream_position(FEnv *fe, TokEntry *tokstart) { static bool complete_processing(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v1, v2, v3, vc, tp; + Term v1, v2, v3, vc, tp; if (fe->t0 && fe->t && !(Yap_unify(fe->t, fe->t0))) return false; @@ -736,15 +734,15 @@ static bool complete_processing(FEnv *fe, TokEntry *tokstart) { // trail must be ok by now.] if (fe->t) { return (!v1 || Yap_unify(v1, fe->vp)) && (!v2 || Yap_unify(v2, fe->np)) && - (!v3 || Yap_unify(v3, fe->sp)) && (!tp || Yap_unify(tp, fe->tp)) && - (!vc || Yap_unify(vc, fe->tcomms)); + (!v3 || Yap_unify(v3, fe->sp)) && (!tp || Yap_unify(tp, fe->tp)) && + (!vc || Yap_unify(vc, fe->tcomms)); } return true; } static bool complete_clause_processing(FEnv *fe, TokEntry *tokstart) { CACHE_REGS - Term v_vp, v_vnames, v_comments, v_pos; + Term v_vp, v_vnames, v_comments, v_pos; if (fe->t0 && fe->t && !Yap_unify(fe->t, fe->t0)) return false; @@ -772,9 +770,9 @@ static bool complete_clause_processing(FEnv *fe, TokEntry *tokstart) { // trail must be ok by now.] if (fe->t) { return (!v_vp || Yap_unify(v_vp, fe->vp)) && - (!v_vnames || Yap_unify(v_vnames, fe->np)) && - (!v_pos || Yap_unify(v_pos, fe->tp)) && - (!v_comments || Yap_unify(v_comments, fe->tcomms)); + (!v_vnames || Yap_unify(v_vnames, fe->np)) && + (!v_pos || Yap_unify(v_pos, fe->tp)) && + (!v_comments || Yap_unify(v_comments, fe->tcomms)); } return true; } @@ -792,8 +790,8 @@ static parser_state_t scan(REnv *re, FEnv *fe, int inp_stream); static parser_state_t scanEOF(FEnv *fe, int inp_stream) { CACHE_REGS - // bool store_comments = false; - TokEntry *tokstart = LOCAL_tokptr; + // bool store_comments = false; + TokEntry *tokstart = LOCAL_tokptr; // check for an user abort if (tokstart != NULL && tokstart->Tok != Ord(eot_tok)) { /* we got the end of file from an abort */ @@ -838,7 +836,10 @@ static parser_state_t initParser(Term opts, FEnv *fe, REnv *re, int inp_stream, fe->old_TR = TR; LOCAL_Error_TYPE = YAP_NO_ERROR; __android_log_print(ANDROID_LOG_INFO, "YAPDroid ", " open %s, %d", - CurrentModule == 0? "prolog": RepAtom(AtomOfTerm(CurrentModule))->StrOfAE, inp_stream); + CurrentModule == 0 + ? "prolog" + : RepAtom(AtomOfTerm(CurrentModule))->StrOfAE, + inp_stream); LOCAL_SourceFileName = GLOBAL_Stream[inp_stream].name; LOCAL_eot_before_eof = false; fe->tpos = StreamPosition(inp_stream); @@ -871,11 +872,11 @@ static parser_state_t initParser(Term opts, FEnv *fe, REnv *re, int inp_stream, static parser_state_t scan(REnv *re, FEnv *fe, int sno) { CACHE_REGS - /* preserve value of H after scanning: otherwise we may lose strings - and floats */ - LOCAL_tokptr = LOCAL_toktide = + /* preserve value of H after scanning: otherwise we may lose strings + and floats */ + LOCAL_tokptr = LOCAL_toktide = - Yap_tokenizer(GLOBAL_Stream + sno, false, &fe->tpos); + Yap_tokenizer(GLOBAL_Stream + sno, false, &fe->tpos); #if DEBUG if (GLOBAL_Option[2]) { TokEntry *t = LOCAL_tokptr; @@ -902,7 +903,7 @@ static parser_state_t scan(REnv *re, FEnv *fe, int sno) { static parser_state_t scanError(REnv *re, FEnv *fe, int inp_stream) { CACHE_REGS - fe->t = 0; + fe->t = 0; // running out of memory if (LOCAL_Error_TYPE == RESOURCE_ERROR_TRAIL) { LOCAL_Error_TYPE = YAP_NO_ERROR; @@ -945,7 +946,7 @@ static parser_state_t scanError(REnv *re, FEnv *fe, int inp_stream) { static parser_state_t parseError(REnv *re, FEnv *fe, int inp_stream) { CACHE_REGS - fe->t = 0; + fe->t = 0; if (LOCAL_Error_TYPE != SYNTAX_ERROR && LOCAL_Error_TYPE != YAP_NO_ERROR) { return YAP_SCANNING_ERROR; } @@ -974,7 +975,7 @@ static parser_state_t parseError(REnv *re, FEnv *fe, int inp_stream) { static parser_state_t parse(REnv *re, FEnv *fe, int inp_stream) { CACHE_REGS - TokEntry *tokstart = LOCAL_tokptr; + TokEntry *tokstart = LOCAL_tokptr; fe->t = Yap_Parse(re->prio, fe->enc, fe->cmod); fe->toklast = LOCAL_tokptr; LOCAL_tokptr = tokstart; @@ -1010,7 +1011,7 @@ Term Yap_read_term(int sno, Term opts, bool clause) { #endif yap_error_descriptor_t *new = malloc(sizeof *new); - bool err = Yap_pushErrorContext(true, new); + bool err = Yap_pushErrorContext(true, new); int lvl = push_text_stack(); parser_state_t state = YAP_START_PARSING; while (true) { @@ -1037,7 +1038,7 @@ Term Yap_read_term(int sno, Term opts, bool clause) { break; case YAP_PARSING_FINISHED: { CACHE_REGS - bool done; + bool done; if (fe.reading_clause) done = complete_clause_processing(&fe, LOCAL_tokptr); else @@ -1062,13 +1063,13 @@ Term Yap_read_term(int sno, Term opts, bool clause) { } static Int -read_term2(USES_REGS1) { /* '$read'(+Flag,?Term,?Module,?Vars,-Pos,-Err) */ + read_term2(USES_REGS1) { /* '$read'(+Flag,?Term,?Module,?Vars,-Pos,-Err) */ return Yap_read_term(LOCAL_c_input_stream, add_output(ARG1, ARG2), false) != - 0; + 0; } static Int read_term( - USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ + USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ int sno; Term out; @@ -1083,25 +1084,25 @@ static Int read_term( return out != 0L; } -#define READ_CLAUSE_DEFS() \ - PAR("comments", list_filler, READ_CLAUSE_COMMENTS) \ - , PAR("module", isatom, READ_CLAUSE_MODULE), \ - PAR("variable_names", filler, READ_CLAUSE_VARIABLE_NAMES), \ - PAR("variables", filler, READ_CLAUSE_VARIABLES), \ - PAR("term_position", filler, READ_CLAUSE_TERM_POSITION), \ - PAR("syntax_errors", isatom, READ_CLAUSE_SYNTAX_ERRORS), \ - PAR("output", isatom, READ_CLAUSE_OUTPUT), \ - PAR(NULL, ok, READ_CLAUSE_END) +#define READ_CLAUSE_DEFS() \ + PAR("comments", list_filler, READ_CLAUSE_COMMENTS) \ + , PAR("module", isatom, READ_CLAUSE_MODULE), \ + PAR("variable_names", filler, READ_CLAUSE_VARIABLE_NAMES), \ + PAR("variables", filler, READ_CLAUSE_VARIABLES), \ + PAR("term_position", filler, READ_CLAUSE_TERM_POSITION), \ + PAR("syntax_errors", isatom, READ_CLAUSE_SYNTAX_ERRORS), \ + PAR("output", isatom, READ_CLAUSE_OUTPUT), \ + PAR(NULL, ok, READ_CLAUSE_END) #define PAR(x, y, z) z typedef enum read_clause_enum_choices { - READ_CLAUSE_DEFS() + READ_CLAUSE_DEFS() } read_clause_choices_t; #undef PAR -#define PAR(x, y, z) \ +#define PAR(x, y, z) \ { x, y, z } static const param_t read_clause_defs[] = {READ_CLAUSE_DEFS()}; @@ -1110,8 +1111,8 @@ static const param_t read_clause_defs[] = {READ_CLAUSE_DEFS()}; static xarg *setClauseReadEnv(Term opts, FEnv *fe, struct renv *re, int sno) { CACHE_REGS - xarg *args = Yap_ArgListToVector(opts, read_clause_defs, READ_CLAUSE_END, - DOMAIN_ERROR_READ_OPTION); + xarg *args = Yap_ArgListToVector(opts, read_clause_defs, READ_CLAUSE_END, + DOMAIN_ERROR_READ_OPTION); if (args == NULL) { return NULL; } @@ -1207,7 +1208,7 @@ static Int read_clause2(USES_REGS1) { * + The `singletons` option is set from the single var flag */ static Int read_clause( - USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ + USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ int sno; Term out; @@ -1261,345 +1262,349 @@ static Int start_mega(USES_REGS1) { ] } #endif - /** - * @pred source_location( - _File_ , _Line_ ) - * - * unify _File_ and _Line_ wuth the position of the last term read, if the - *term - * comes from a stream created by opening a file-system path with open/3 and - *friends.>position - * It ignores user_input or - * sockets. - * - * @param - _File_ - * @param - _Line_ - * - * - * - * @note SWI-Prolog built-in. - */ - static Int source_location(USES_REGS1) { - return Yap_unify(ARG1, MkAtomTerm(LOCAL_SourceFileName)) && - Yap_unify(ARG2, MkIntegerTerm(LOCAL_SourceFileLineno)); +/** + * @pred source_location( - _File_ , _Line_ ) + * + * unify _File_ and _Line_ wuth the position of the last term read, if the + *term + * comes from a stream created by opening a file-system path with open/3 and + *friends.>position + * It ignores user_input or + * sockets. + * + * @param - _File_ + * @param - _Line_ + * + * + * + * @note SWI-Prolog built-in. + */ +static Int source_location(USES_REGS1) { + return Yap_unify(ARG1, MkAtomTerm(LOCAL_SourceFileName)) && + Yap_unify(ARG2, MkIntegerTerm(LOCAL_SourceFileLineno)); +} + +/** + * @pred read(+ Stream, -Term ) is iso + * + * Reads term _T_ from the stream _S_ instead of from the current input + * stream. + * + * @param - _Stream_ + * @param - _Term_ + * + */ +static Int read2( + USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ + int sno; + Int out; + + /* needs to change LOCAL_output_stream for write */ + sno = Yap_CheckTextStream(ARG1, Input_Stream_f, "read/3"); + if (sno == -1) { + return (FALSE); + } + out = Yap_read_term(sno, add_output(ARG2, TermNil), false); + UNLOCK(GLOBAL_Stream[sno].streamlock); + return out; +} + +/** @pred read(- T) is iso + + Reads the next term from the current input stream, and unifies it with + _T_. The term must be followed by a dot (`.`) and any blank-character + as previously defined. The syntax of the term must match the current + declarations for operators (see op). If the end-of-stream is reached, + _T_ is unified with the atom `end_of_file`. Further reads from of + the same stream may cause an error failure (see open/3). + +*/ +static Int read1( + USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ + Term out = Yap_read_term(LOCAL_c_input_stream, add_output(ARG1, TermNil), 1); + return out; +} + +/** @pred fileerrors + + Switches on the file_errors flag so that in certain error conditions + Input/Output predicates will produce an appropriated message and abort. + +*/ +static Int fileerrors(USES_REGS1) { + return setYapFlag(TermFileErrors, TermTrue); +} + +/** + @pred nofileerrors + + Switches off the `file_errors` flag, so that the predicates see/1, + tell/1, open/3 and close/1 just fail, instead of producing + an error message and aborting whenever the specified file cannot be + opened or closed. + +*/ +static Int nofileerrors( + USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ + return setYapFlag(TermFileerrors, TermFalse); +} + +static Int style_checker(USES_REGS1) { + Term t = Deref(ARG1); + + if (IsVarTerm(t)) { + Term t = TermNil; + if (getYapFlag(MkAtomTerm(AtomSingleVarWarnings)) == TermTrue) { + t = MkPairTerm(MkAtomTerm(AtomSingleVarWarnings), t); } - - /** - * @pred read(+ Stream, -Term ) is iso - * - * Reads term _T_ from the stream _S_ instead of from the current input - * stream. - * - * @param - _Stream_ - * @param - _Term_ - * - */ - static Int read2( - USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ - int sno; - Int out; - - /* needs to change LOCAL_output_stream for write */ - sno = Yap_CheckTextStream(ARG1, Input_Stream_f, "read/3"); - if (sno == -1) { - return (FALSE); - } - out = Yap_read_term(sno, add_output(ARG2, TermNil), false); - UNLOCK(GLOBAL_Stream[sno].streamlock); - return out; + if (getYapFlag(MkAtomTerm(AtomDiscontiguousWarnings)) == TermTrue) { + t = MkPairTerm(MkAtomTerm(AtomDiscontiguousWarnings), t); } - - /** @pred read(- T) is iso - - Reads the next term from the current input stream, and unifies it with - _T_. The term must be followed by a dot (`.`) and any blank-character - as previously defined. The syntax of the term must match the current - declarations for operators (see op). If the end-of-stream is reached, - _T_ is unified with the atom `end_of_file`. Further reads from of - the same stream may cause an error failure (see open/3). - - */ - static Int read1( - USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ - Term out = Yap_read_term(LOCAL_c_input_stream, add_output(ARG1, TermNil), 1); - return out; + if (getYapFlag(MkAtomTerm(AtomRedefineWarnings)) == TermTrue) { + t = MkPairTerm(MkAtomTerm(AtomRedefineWarnings), t); } + } else { + while (IsPairTerm(t)) { + Term h = HeadOfTerm(t); + t = TailOfTerm(t); - /** @pred fileerrors - - Switches on the file_errors flag so that in certain error conditions - Input/Output predicates will produce an appropriated message and abort. - - */ - static Int fileerrors(USES_REGS1) { - return setYapFlag(TermFileErrors, TermTrue); - } - - /** - @pred nofileerrors - - Switches off the `file_errors` flag, so that the predicates see/1, - tell/1, open/3 and close/1 just fail, instead of producing - an error message and aborting whenever the specified file cannot be - opened or closed. - - */ - static Int nofileerrors( - USES_REGS1) { /* '$read2'(+Flag,?Term,?Module,?Vars,-Pos,-Err,+Stream) */ - return setYapFlag(TermFileerrors, TermFalse); - } - - static Int style_checker(USES_REGS1) { - Term t = Deref(ARG1); - - if (IsVarTerm(t)) { - Term t = TermNil; - if (getYapFlag(MkAtomTerm(AtomSingleVarWarnings)) == TermTrue) { - t = MkPairTerm(MkAtomTerm(AtomSingleVarWarnings), t); - } - if (getYapFlag(MkAtomTerm(AtomDiscontiguousWarnings)) == TermTrue) { - t = MkPairTerm(MkAtomTerm(AtomDiscontiguousWarnings), t); - } - if (getYapFlag(MkAtomTerm(AtomRedefineWarnings)) == TermTrue) { - t = MkPairTerm(MkAtomTerm(AtomRedefineWarnings), t); - } + if (IsVarTerm(h)) { + Yap_Error(INSTANTIATION_ERROR, t, "style_check/1"); + return (FALSE); + } else if (IsAtomTerm(h)) { + Atom at = AtomOfTerm(h); + if (at == AtomSingleVarWarnings) + setYapFlag(MkAtomTerm(AtomSingleVarWarnings), TermTrue); + else if (at == AtomDiscontiguousWarnings) + setYapFlag(MkAtomTerm(AtomDiscontiguousWarnings), TermTrue); + else if (at == AtomRedefineWarnings) + setYapFlag(MkAtomTerm(AtomRedefineWarnings), TermTrue); } else { - while (IsPairTerm(t)) { - Term h = HeadOfTerm(t); - t = TailOfTerm(t); - - if (IsVarTerm(h)) { - Yap_Error(INSTANTIATION_ERROR, t, "style_check/1"); - return (FALSE); - } else if (IsAtomTerm(h)) { - Atom at = AtomOfTerm(h); - if (at == AtomSingleVarWarnings) - setYapFlag(MkAtomTerm(AtomSingleVarWarnings), TermTrue); - else if (at == AtomDiscontiguousWarnings) - setYapFlag(MkAtomTerm(AtomDiscontiguousWarnings), TermTrue); - else if (at == AtomRedefineWarnings) - setYapFlag(MkAtomTerm(AtomRedefineWarnings), TermTrue); - } else { - Atom at = AtomOfTerm(ArgOfTerm(1, h)); - if (at == AtomSingleVarWarnings) - setYapFlag(MkAtomTerm(AtomSingleVarWarnings), TermFalse); - else if (at == AtomDiscontiguousWarnings) - setYapFlag(MkAtomTerm(AtomDiscontiguousWarnings), TermFalse); - else if (at == AtomRedefineWarnings) - setYapFlag(MkAtomTerm(AtomRedefineWarnings), TermFalse); - } - } - } - return TRUE; - } - - Term Yap_BufferToTerm(const char *s, Term opts) { - Term rval; - int sno; - encoding_t l = ENC_ISO_UTF8; - sno = Yap_open_buf_read_stream((char *)s, strlen(s)+1, &l, - MEM_BUF_USER, Yap_LookupAtom(Yap_StrPrefix(s,16)), TermNone ); - - GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; - rval = Yap_read_term(sno, opts, false); - Yap_CloseStream(sno); - return rval; - } - - Term Yap_UBufferToTerm(const unsigned char *s, Term opts) { - Term rval; - int sno; - encoding_t l = ENC_ISO_UTF8; - sno = Yap_open_buf_read_stream((char *)s, strlen((const char *)s), &l, - MEM_BUF_USER, Yap_LookupAtom(Yap_StrPrefix((char *)s,16)), TermNone); - GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; - rval = Yap_read_term(sno, opts, false); - Yap_CloseStream(sno); - return rval; - } - - X_API Term Yap_BufferToTermWithPrioBindings(const char *s, Term opts, - Term bindings, size_t len, - int prio) { - CACHE_REGS - Term ctl; - - ctl = opts; - if (bindings) { - ctl = add_names(bindings, TermNil); - } - if (prio != 1200) { - ctl = add_priority(bindings, ctl); - } - return Yap_BufferToTerm(s, ctl); - } - - /** - * @pred read_term_from_atom( +Atom , -T , +Options ) - * - * read a term _T_ stored in constant _Atom_ according to _Options_ - * - * @param _Atom_ the source _Atom_ - * @param _T_ the output term _T_, may be any term - * @param _Options_ read_term/3 options. - * - * @note Originally from SWI-Prolog, in YAP only works with internalised - *atoms - * Check read_term_from_atomic/3 for the general version. Also, the built-in - *is - *supposed to - * use YAP's internal encoding, so please avoid the encoding/1 option. - */ - static Int read_term_from_atom(USES_REGS1) { - Term t1 = Deref(ARG1); - Atom at; - const unsigned char *s; - - if (IsVarTerm(t1)) { - Yap_Error(INSTANTIATION_ERROR, t1, "style_check/1"); - return false; - } else if (!IsAtomTerm(t1)) { - Yap_Error(TYPE_ERROR_ATOM, t1, "style_check/1"); - return false; - } else { - at = AtomOfTerm(t1); - s = at->UStrOfAE; - } - Term ctl = add_output(ARG2, ARG3); - - return Yap_UBufferToTerm(s, ctl); - } - - /** - * @pred read_term_from_atomic( +Atomic , - T , +Options ) - * - * read a term _T_ stored in text _Atomic_ according to _Options_ - * - * @param _Atomic_ the source may be an atom, string, list of codes, or list - *of - *chars. - * @param _T_ the output term _T_, may be any term - * @param _Options_ read_term/3 options. - * - * @notes Idea originally from SWI-Prolog, but in YAP we separate atomic and - *atom. - * Encoding is fixed in atoms and strings. - */ - static Int read_term_from_atomic(USES_REGS1) { - Term t1 = Deref(ARG1); - const unsigned char *s; - - if (IsVarTerm(t1)) { - Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_atomic/3"); - return (FALSE); - } else if (!IsAtomicTerm(t1)) { - Yap_Error(TYPE_ERROR_ATOMIC, t1, "read_term_from_atomic/3"); - return (FALSE); - } else { - Term t = Yap_AtomicToString(t1 PASS_REGS); - s = UStringOfTerm(t); - } - Term ctl = add_output(ARG2, ARG3); - - return Yap_UBufferToTerm(s, ctl); - } - - /** - * @pred read_term_from_string( +String , - T , + Options ) - * - * read a term _T_ stored in constant _String_ according to _Options_ - * - * @param _String_ the source _String_ - * @param _T_ the output term _T_, may be any term - * @param _Options_ read_term/3 options. - * - * Idea from SWI-Prolog, in YAP only works with strings - * Check read_term_from_atomic/3 for the general version. - */ - static Int read_term_from_string(USES_REGS1) { - Term t1 = Deref(ARG1), rc; - const unsigned char *s; - size_t len; - BACKUP_H() - if (IsVarTerm(t1)) { - Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); - return (FALSE); - } else if (!IsStringTerm(t1)) { - Yap_Error(TYPE_ERROR_STRING, t1, "read_term_from_string/3"); - return (FALSE); - } else { - s = UStringOfTerm(t1); - len = strlen_utf8(s); - } - char *ss = (char *)s; - encoding_t enc = ENC_ISO_UTF8; - int sno = Yap_open_buf_read_stream(ss, len, &enc, MEM_BUF_USER, Yap_LookupAtom(Yap_StrPrefix(ss,16)), TermString); - GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; - rc = Yap_read_term(sno, Deref(ARG3), 3); - Yap_CloseStream(sno); - RECOVER_H(); - if (!rc) - return false; - return Yap_unify(rc, ARG2); - } - - static Int atomic_to_term(USES_REGS1) { - Term t1 = Deref(ARG1); - int l = push_text_stack(); - const unsigned char *s = Yap_TextToUTF8Buffer(t1 PASS_REGS); - Int rc = Yap_UBufferToTerm(s, add_output(ARG2, add_names(ARG3, TermNil))); - pop_text_stack(l); - return rc; - } - - static Int atom_to_term(USES_REGS1) { - Term t1 = Deref(ARG1); - if (IsVarTerm(t1)) { - Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); - return (FALSE); - } else if (!IsAtomTerm(t1)) { - Yap_Error(TYPE_ERROR_ATOM, t1, "read_term_from_atomic/3"); - return (FALSE); - } else { - Term t = Yap_AtomicToString(t1 PASS_REGS); - const unsigned char *us = UStringOfTerm(t); - return Yap_UBufferToTerm(us, add_output(ARG2, add_names(ARG3, TermNil))); + Atom at = AtomOfTerm(ArgOfTerm(1, h)); + if (at == AtomSingleVarWarnings) + setYapFlag(MkAtomTerm(AtomSingleVarWarnings), TermFalse); + else if (at == AtomDiscontiguousWarnings) + setYapFlag(MkAtomTerm(AtomDiscontiguousWarnings), TermFalse); + else if (at == AtomRedefineWarnings) + setYapFlag(MkAtomTerm(AtomRedefineWarnings), TermFalse); } } + } + return TRUE; +} - static Int string_to_term(USES_REGS1) { - Term t1 = Deref(ARG1); +Term Yap_BufferToTerm(const char *s, Term opts) { + Term rval; + int sno; + encoding_t l = ENC_ISO_UTF8; + sno = + Yap_open_buf_read_stream((char *)s, strlen(s) + 1, &l, MEM_BUF_USER, + Yap_LookupAtom(Yap_StrPrefix(s, 16)), TermNone); - if (IsVarTerm(t1)) { - Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); - return (FALSE); - } else if (!IsStringTerm(t1)) { - Yap_Error(TYPE_ERROR_STRING, t1, "read_term_from_string/3"); - return (FALSE); - } else { - const unsigned char *us = UStringOfTerm(t1); - return Yap_UBufferToTerm(us, add_output(ARG2, add_names(ARG3, TermNil))); - } - } + GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; + rval = Yap_read_term(sno, opts, false); + Yap_CloseStream(sno); + return rval; +} - void Yap_InitReadTPreds(void) { - Yap_InitCPred("read_term", 2, read_term2, SyncPredFlag); - Yap_InitCPred("read_term", 3, read_term, SyncPredFlag); +Term Yap_UBufferToTerm(const unsigned char *s, Term opts) { + Term rval; + int sno; + encoding_t l = ENC_ISO_UTF8; + sno = Yap_open_buf_read_stream( + (char *)s, strlen((const char *)s), &l, MEM_BUF_USER, + Yap_LookupAtom(Yap_StrPrefix((char *)s, 16)), TermNone); + GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; + rval = Yap_read_term(sno, opts, false); + Yap_CloseStream(sno); + return rval; +} - Yap_InitCPred("scan_to_list", 2, scan_to_list, SyncPredFlag); - Yap_InitCPred("read", 1, read1, SyncPredFlag); - Yap_InitCPred("read", 2, read2, SyncPredFlag); - Yap_InitCPred("read_clause", 2, read_clause2, SyncPredFlag); - Yap_InitCPred("read_clause", 3, read_clause, 0); - Yap_InitCPred("read_term_from_atom", 3, read_term_from_atom, 0); - Yap_InitCPred("read_term_from_atomic", 3, read_term_from_atomic, 0); - Yap_InitCPred("read_term_from_string", 3, read_term_from_string, 0); - Yap_InitCPred("atom_to_term", 3, atom_to_term, 0); - Yap_InitCPred("atomic_to_term", 3, atomic_to_term, 0); - Yap_InitCPred("string_to_term", 3, string_to_term, 0); +X_API Term Yap_BufferToTermWithPrioBindings(const char *s, Term opts, + Term bindings, size_t len, + int prio) { + CACHE_REGS + Term ctl; - Yap_InitCPred("fileerrors", 0, fileerrors, SyncPredFlag); - Yap_InitCPred("nofileeleerrors", 0, nofileerrors, SyncPredFlag); - Yap_InitCPred("source_location", 2, source_location, SyncPredFlag); - Yap_InitCPred("$style_checker", 1, style_checker, - SyncPredFlag | HiddenPredFlag); - } + ctl = opts; + if (bindings) { + ctl = add_names(bindings, TermNil); + } + if (prio != 1200) { + ctl = add_priority(bindings, ctl); + } + return Yap_BufferToTerm(s, ctl); +} + +/** + * @pred read_term_from_atom( +Atom , -T , +Options ) + * + * read a term _T_ stored in constant _Atom_ according to _Options_ + * + * @param _Atom_ the source _Atom_ + * @param _T_ the output term _T_, may be any term + * @param _Options_ read_term/3 options. + * + * @note Originally from SWI-Prolog, in YAP only works with internalised + *atoms + * Check read_term_from_atomic/3 for the general version. Also, the built-in + *is + *supposed to + * use YAP's internal encoding, so please avoid the encoding/1 option. + */ +static Int read_term_from_atom(USES_REGS1) { + Term t1 = Deref(ARG1); + Atom at; + const unsigned char *s; + + if (IsVarTerm(t1)) { + Yap_Error(INSTANTIATION_ERROR, t1, "style_check/1"); + return false; + } else if (!IsAtomTerm(t1)) { + Yap_Error(TYPE_ERROR_ATOM, t1, "style_check/1"); + return false; + } else { + at = AtomOfTerm(t1); + s = at->UStrOfAE; + } + Term ctl = add_output(ARG2, ARG3); + + return Yap_UBufferToTerm(s, ctl); +} + +/** + * @pred read_term_from_atomic( +Atomic , - T , +Options ) + * + * read a term _T_ stored in text _Atomic_ according to _Options_ + * + * @param _Atomic_ the source may be an atom, string, list of codes, or list + *of + *chars. + * @param _T_ the output term _T_, may be any term + * @param _Options_ read_term/3 options. + * + * @notes Idea originally from SWI-Prolog, but in YAP we separate atomic and + *atom. + * Encoding is fixed in atoms and strings. + */ +static Int read_term_from_atomic(USES_REGS1) { + Term t1 = Deref(ARG1); + const unsigned char *s; + + if (IsVarTerm(t1)) { + Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_atomic/3"); + return (FALSE); + } else if (!IsAtomicTerm(t1)) { + Yap_Error(TYPE_ERROR_ATOMIC, t1, "read_term_from_atomic/3"); + return (FALSE); + } else { + Term t = Yap_AtomicToString(t1 PASS_REGS); + s = UStringOfTerm(t); + } + Term ctl = add_output(ARG2, ARG3); + + return Yap_UBufferToTerm(s, ctl); +} + +/** + * @pred read_term_from_string( +String , - T , + Options ) + * + * read a term _T_ stored in constant _String_ according to _Options_ + * + * @param _String_ the source _String_ + * @param _T_ the output term _T_, may be any term + * @param _Options_ read_term/3 options. + * + * Idea from SWI-Prolog, in YAP only works with strings + * Check read_term_from_atomic/3 for the general version. + */ +static Int read_term_from_string(USES_REGS1) { + Term t1 = Deref(ARG1), rc; + const unsigned char *s; + size_t len; + BACKUP_H() + if (IsVarTerm(t1)) { + Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); + return (FALSE); + } else if (!IsStringTerm(t1)) { + Yap_Error(TYPE_ERROR_STRING, t1, "read_term_from_string/3"); + return (FALSE); + } else { + s = UStringOfTerm(t1); + len = strlen_utf8(s); + } + char *ss = (char *)s; + encoding_t enc = ENC_ISO_UTF8; + int sno = Yap_open_buf_read_stream(ss, len, &enc, MEM_BUF_USER, + Yap_LookupAtom(Yap_StrPrefix(ss, 16)), + TermString); + GLOBAL_Stream[sno].status |= CloseOnException_Stream_f; + rc = Yap_read_term(sno, Deref(ARG3), 3); + Yap_CloseStream(sno); + RECOVER_H(); + if (!rc) + return false; + return Yap_unify(rc, ARG2); +} + +static Int atomic_to_term(USES_REGS1) { + Term t1 = Deref(ARG1); + int l = push_text_stack(); + const unsigned char *s = Yap_TextToUTF8Buffer(t1 PASS_REGS); + Int rc = Yap_UBufferToTerm(s, add_output(ARG2, add_names(ARG3, TermNil))); + pop_text_stack(l); + return rc; +} + +static Int atom_to_term(USES_REGS1) { + Term t1 = Deref(ARG1); + if (IsVarTerm(t1)) { + Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); + return (FALSE); + } else if (!IsAtomTerm(t1)) { + Yap_Error(TYPE_ERROR_ATOM, t1, "read_term_from_atomic/3"); + return (FALSE); + } else { + Term t = Yap_AtomicToString(t1 PASS_REGS); + const unsigned char *us = UStringOfTerm(t); + return Yap_UBufferToTerm(us, add_output(ARG2, add_names(ARG3, TermNil))); + } +} + +static Int string_to_term(USES_REGS1) { + Term t1 = Deref(ARG1); + + if (IsVarTerm(t1)) { + Yap_Error(INSTANTIATION_ERROR, t1, "read_term_from_string/3"); + return (FALSE); + } else if (!IsStringTerm(t1)) { + Yap_Error(TYPE_ERROR_STRING, t1, "read_term_from_string/3"); + return (FALSE); + } else { + const unsigned char *us = UStringOfTerm(t1); + return Yap_UBufferToTerm(us, add_output(ARG2, add_names(ARG3, TermNil))); + } +} + +void Yap_InitReadTPreds(void) { + Yap_InitCPred("read_term", 2, read_term2, SyncPredFlag); + Yap_InitCPred("read_term", 3, read_term, SyncPredFlag); + + Yap_InitCPred("scan_to_list", 2, scan_to_list, SyncPredFlag); + Yap_InitCPred("read", 1, read1, SyncPredFlag); + Yap_InitCPred("read", 2, read2, SyncPredFlag); + Yap_InitCPred("read_clause", 2, read_clause2, SyncPredFlag); + Yap_InitCPred("read_clause", 3, read_clause, 0); + Yap_InitCPred("read_term_from_atom", 3, read_term_from_atom, 0); + Yap_InitCPred("read_term_from_atomic", 3, read_term_from_atomic, 0); + Yap_InitCPred("read_term_from_string", 3, read_term_from_string, 0); + Yap_InitCPred("atom_to_term", 3, atom_to_term, 0); + Yap_InitCPred("atomic_to_term", 3, atomic_to_term, 0); + Yap_InitCPred("string_to_term", 3, string_to_term, 0); + + Yap_InitCPred("fileerrors", 0, fileerrors, SyncPredFlag); + Yap_InitCPred("nofileeleerrors", 0, nofileerrors, SyncPredFlag); + Yap_InitCPred("source_location", 2, source_location, SyncPredFlag); + Yap_InitCPred("$style_checker", 1, style_checker, + SyncPredFlag | HiddenPredFlag); +} diff --git a/os/writeterm.c b/os/writeterm.c index c4586f8ec..4e7bdc34d 100644 --- a/os/writeterm.c +++ b/os/writeterm.c @@ -92,8 +92,9 @@ static Term readFromBuffer(const char *s, Term opts) { Term rval; int sno; encoding_t enc = ENC_ISO_UTF8; - sno = Yap_open_buf_read_stream((char *)s, strlen_utf8((unsigned char *)s), - &enc, MEM_BUF_USER, Yap_LookupAtom(Yap_StrPrefix((char *)s,16)), TermNone); + sno = Yap_open_buf_read_stream( + (char *)s, strlen_utf8((unsigned char *)s), &enc, MEM_BUF_USER, + Yap_LookupAtom(Yap_StrPrefix((char *)s, 16)), TermNone); rval = Yap_read_term(sno, opts, 3); Yap_CloseStream(sno); @@ -593,7 +594,6 @@ static Int writeln(USES_REGS1) { return false; } int output_stream = Yap_CheckTextStream(ARG1, Output_Stream_f, "writeln/2"); - fprintf(stderr, "writeln %d\n", output_stream); if (output_stream < 0) { free(args); return false; @@ -692,8 +692,8 @@ static Int term_to_atom(USES_REGS1) { Term t2 = Deref(ARG2), ctl, rc = false; Atom at; if (IsVarTerm(t2)) { - const char *s = Yap_TermToBuffer(Deref(ARG1), - Quote_illegal_f | Handle_vars_f); + const char *s = + Yap_TermToBuffer(Deref(ARG1), Quote_illegal_f | Handle_vars_f); if (!s || !(at = Yap_UTF8ToAtom((const unsigned char *)s))) { Yap_Error(RESOURCE_ERROR_HEAP, t2, "Could not get memory from the operating system"); @@ -711,9 +711,9 @@ static Int term_to_atom(USES_REGS1) { Yap_unify(rc, ARG1); } -char *Yap_TermToBuffer(Term t, int flags) { +char *Yap_TermToBuffer(Term t, int flags) { CACHE_REGS - int sno = Yap_open_buf_write_stream(LOCAL_encoding,flags); + int sno = Yap_open_buf_write_stream(LOCAL_encoding, flags); if (sno < 0) return NULL; diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index a7a331375..c7aec2971 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -1,5 +1,5 @@ -#include "Yap.h" +#include "Yap.h" #include "py4yap.h" @@ -51,7 +51,6 @@ static PyObject *s_to_python(const char *s, bool eval, PyObject *p0) { */ X_API PyObject *string_to_python(const char *s, bool eval, PyObject *p0) { - char *buf = malloc(strlen(s) + 1), *child; while ((child = strchr(s, '.')) != NULL) { size_t len = child - s; @@ -108,9 +107,8 @@ static bool copy_to_dictionary(PyObject *dict, term_t targ, term_t taux, * @return a Python object descriptor or NULL if failed */ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { - // o≈ + // YAP_Term yt = YAP_GetFromSlot(t); - Yap_DebugPlWriteln(yt); switch (PL_term_type(t)) { case PL_VARIABLE: { if (yt == 0) { @@ -137,7 +135,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { o = PyUnicode_FromString(s); } if (o) { - //PyDict_SetItemString(py_Atoms, s, Py_None); + // PyDict_SetItemString(py_Atoms, s, Py_None); Py_INCREF(o); return o; } @@ -149,20 +147,20 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } else if (YAP_IsStringTerm(yt)) { s = YAP_StringOfTerm(yt); } else { - return CHECKNULL(t, NULL); + return CHECKNULL(t, NULL); } - PyObject *pobj = PyUnicode_FromString(s); - + PyObject *pobj = PyUnicode_FromString(s); + #if PY_MAJOR_VERSION < 3 if (proper_ascii_string(s)) { PyObject *o = PyString_FromStringAndSize(s, strlen(s)); return CHECKNULL(t, o); - } + } #endif - // char *p = malloc(strlen(s)+1); - // strcpy(p, s); - Py_IncRef(pobj); - return CHECKNULL(t, pobj); + // char *p = malloc(strlen(s)+1); + // strcpy(p, s); + Py_IncRef(pobj); + return CHECKNULL(t, pobj); } break; case PL_INTEGER: { int64_t j; @@ -189,21 +187,21 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { if (PL_is_pair(t)) { Term t0 = Yap_GetFromHandle(t); Term *tail; - size_t len,i; - if ((len = Yap_SkipList(&t0, &tail))>=0 && *tail == TermNil) { + size_t len, i; + if ((len = Yap_SkipList(&t0, &tail)) >= 0 && *tail == TermNil) { PyObject *out, *a; out = PyList_New(len); for (i = 0; i < len; i++) { - Term ai = HeadOfTerm(t0); - a = term_to_python(Yap_InitHandle(ai), eval, o, cvt); + Term ai = HeadOfTerm(t0); + a = term_to_python(Yap_InitHandle(ai), eval, o, cvt); if (a) { if (PyList_SetItem(out, i, a) < 0) { YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "list->python"); } } - t0 = TailOfTerm(t0); + t0 = TailOfTerm(t0); } return out; } else { @@ -256,11 +254,11 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { PyObject *ip = term_to_python(trhs, eval, o, cvt); if (PySequence_Check(v)) { #if PY_MAJOR_VERSION < 3 - if (PyLong_Check(ip)) { + if (PyLong_Check(ip)) { min = PyLong_AsLong(ip); - } else if (PyInt_Check(ip)) { + } else if (PyInt_Check(ip)) { min = PyInt_asInt(ip); - } + } #else if (PyLong_Check(ip)) { PyObject *o = PySequence_GetItem(v, PyLong_AsLong(ip)); @@ -337,7 +335,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { AOK(PL_get_arg(1, t, t), NULL); if (!(dict = PyDict_New())) return NULL; - Py_INCREF(dict); + Py_INCREF(dict); DebugPrintf("Dict %p\n", dict); while (PL_is_functor(t, FUNCTOR_comma2)) { diff --git a/packages/python/pybips.c b/packages/python/pybips.c index ecf7ba072..e52850146 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -953,12 +953,11 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { if (!PL_get_arg(1, t, targ)) return NULL; - // Yap_DebugPlWriteln(YAP_GetFromSlot(t)); + // Yap_DebugPlWriteln(YAP_GetFromSlot(t)); lhs = term_to_python(targ, true, NULL, true); AOK(PL_get_arg(2, t, targ), NULL); rhs = term_to_python(targ, true, NULL, true); - Yap_DebugPlWriteln(YAP_GetFromSlot(targ)); - if (PySequence_Check(lhs) && PySequence_Check(rhs)) { + if (PySequence_Check(lhs) && PySequence_Check(rhs)) { return PySequence_Concat(lhs, rhs); } if (!PyNumber_Check(lhs)) @@ -1036,11 +1035,12 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { PyDict_SetItem(pyDict, key, val); } else { indict = false; - pArgs = PyTuple_New(i); + pArgs = PyTuple_New(i); } } - fprintf(stderr,"Tuple %p: %s\n", pyDict, PyUnicode_AsUTF8(PyObject_Str(pyDict))); - if (!indict) { + fprintf(stderr, "Tuple %p: %s\n", pyDict, + PyUnicode_AsUTF8(PyObject_Str(pyDict))); + if (!indict) { if (PL_is_variable(tleft)) { pArg = Py_None; } else { diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 2eeb9ebd9..7b600ffad 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -8,7 +8,6 @@ YAP_Term TermErrStream, TermOutStream; - static void pyflush(StreamDesc *st) { #if 0 st->u.w_irl.ptr[0] = '\0'; @@ -75,8 +74,7 @@ static void *py_open(VFS_t *me, const char *name, const char *io_mode, } StreamDesc *st = YAP_RepStreamFromId(sno); st->name = YAP_LookupAtom(name); - if (strcmp(name, "sys.stdout") == 0 || - strcmp(name, "sys.stderr") == 0 || + if (strcmp(name, "sys.stdout") == 0 || strcmp(name, "sys.stderr") == 0 || strcmp(name, "input") == 0) { st->status |= Tty_Stream_f; } @@ -131,20 +129,23 @@ static bool py_close(int sno) { static bool getLine(StreamDesc *rl_iostream, int sno) { char *myrl_line = NULL; - term_t ctk = python_acquire_GIL(); - + // term_t ctk = python_acquire_GIL(); + PyObject_Print(rl_iostream->u.private_data, stderr, 0); /* window of vulnerability opened */ - myrl_line = PyUnicode_AsUTF8(PyObject_CallFunctionObjArgs(rl_iostream->u.private_data, NULL)); - python_release_GIL(ctk); + PyObject *readl = + PyObject_GetAttrString(rl_iostream->u.private_data, "readline"); + PyObject_Print(readl, stderr, 0); + + myrl_line = PyUnicode_AsUTF8( + PyObject_CallFunctionObjArgs(readl, rl_iostream->u.private_data, NULL)); + // python_release_GIL(ctk); PyObject *err; - if ((err = PyErr_Occurred())) { - PyErr_SetString( - err, - "Error in getLine\n"); + if ((err = PyErr_Occurred())) { + PyErr_SetString(err, "Error in getLine\n"); Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); } - size_t size = strlen (myrl_line)+1; -rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = + size_t size = strlen(myrl_line) + 1; + rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = (const unsigned char *)malloc(size); memmove((void *)rl_iostream->u.irl.buf, myrl_line, size); return true; diff --git a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap index 44e806174..bfa960cd2 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/verify.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/verify.yap @@ -79,11 +79,7 @@ close_esh( _Engine , Stream ) :- p3_message( _Severity, Engine, error(syntax_error(Cause),info(between(_,LN,_), _FileName, CharPos, Details))) :- python_clear_errors, !, - writeln(E), - NE := [t(Cause,LN,CharPos,Details)]+Engine.errors, - writeln(E), - writeln(NE), - Engine.errors := NE. + Engine.errors := [t(Cause,LN,CharPos,Details)]+Engine.errors. p3_message(error, Engine, E) :- python_clear_errors, !. @@ -181,4 +177,3 @@ p3_message(error, Engine, E) :- %% Self.errors := [t(C,L,N,A)] + Self.errors, %% fail. %% close_events( _ ). - diff --git a/pl/ypp.yap b/pl/ypp.yap index 06006e25a..bd1876616 100644 --- a/pl/ypp.yap +++ b/pl/ypp.yap @@ -132,7 +132,7 @@ ypp_file(File,PPFile):- % Cmdline defines2string(Defs),ypp_extcmd(Cmd), atom_concat([Cmd,' ',PPFile,' ',Defs,' ',File],Cmdline), - write(Cmdline),nl, +% write(Cmdline),nl, % current_module(M1,M2), % write(M1:M2),nl, system(Cmdline), From b4201dd0f3cc000c3570c3be645a5aa6ede9853c Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sat, 21 Jul 2018 23:29:01 +0100 Subject: [PATCH 13/57] jupyter --- packages/python/py2pl.c | 4 ++-- packages/python/pyio.c | 15 ++++++++------- packages/python/swig/prolog/yapi.yap | 2 +- .../yap_kernel/yap_ipython/prolog/jupyter.yap | 3 ++- packages/python/yap_kernel/yap_ipython/yapi.py | 4 ++++ 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 919a5f35a..3cf2795c6 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -158,9 +158,9 @@ else if (PyDict_Check(pVal)) { Term t0[2], to; t0[0] = python_to_term__(key); t0[1] = python_to_term__(value); - to = Yap_MkApplTerm(FunctorEq, 2, t0); + to = Yap_MkApplTerm(FunctorModule, 2, t0); if (left--) { - t = Yap_MkNewApplTerm(FunctorOr, 2); + t = Yap_MkNewApplTerm(FunctorComma, 2); *opt = t; CELL *pt = RepAppl(t) + 1; pt[0] = to; diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 7b600ffad..28aa622e3 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -130,14 +130,15 @@ static bool py_close(int sno) { static bool getLine(StreamDesc *rl_iostream, int sno) { char *myrl_line = NULL; // term_t ctk = python_acquire_GIL(); - PyObject_Print(rl_iostream->u.private_data, stderr, 0); - /* window of vulnerability opened */ - PyObject *readl = - PyObject_GetAttrString(rl_iostream->u.private_data, "readline"); - PyObject_Print(readl, stderr, 0); + PyObject *readl = + PythonLookup("input", Py_None); + PyObject_Print(readl, stderr, 0);fprintf(stderr," input\n"); - myrl_line = PyUnicode_AsUTF8( - PyObject_CallFunctionObjArgs(readl, rl_iostream->u.private_data, NULL)); + + PyObject *user_inp = PyObject_CallFunction(readl,NULL); + PyObject_Print(user_inp, stderr, 0);fprintf(stderr," input\n"); + myrl_line = PyUnicode_AsUTF8(user_inp); + //PyObject_Print(myrl_line, stderr, 0);fprintf(stderr," myrl_line\n"); // python_release_GIL(ctk); PyObject *err; if ((err = PyErr_Occurred())) { diff --git a/packages/python/swig/prolog/yapi.yap b/packages/python/swig/prolog/yapi.yap index e5e0322ef..76dea4574 100644 --- a/packages/python/swig/prolog/yapi.yap +++ b/packages/python/swig/prolog/yapi.yap @@ -72,7 +72,7 @@ python_query( Caller, String ) :- atomic_to_term( String, Goal, VarNames ), query_to_answer( Goal, VarNames, Status, Bindings), atom_to_string( Status, SStatus ), - Caller.port := SStatus, + % Caller.port := SStatus, write_query_answer( Bindings ), nl(user_error), Caller.answer := {}, diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index 4bcca17f4..d9696d51f 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -37,7 +37,8 @@ jupyter_cell( _Caller, _, `` ) :- !. jupyter_cell( _Caller, _, Line ) :- blank( Line ), !. -jupyter_cell(Self, _, Line ) :- +jupyter_cell(Caller, _, Line ) :- + Self := Caller.query, catch( python_query(Self,Line), E=error(A,B), diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 562f2bd34..3dfe95be0 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -519,6 +519,10 @@ class YAPRun: self.shell.yapeng = self.yapeng self._get_exc_info = shell._get_exc_info + + def showtraceback(self, tuple): + return None + def syntaxErrors(self, text): """Return whether a legal query """ From bac1b63080f1b04a22df3ce8b8b6667054c64df6 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 23 Jul 2018 17:13:51 +0100 Subject: [PATCH 14/57] ipython --- C/errors.c | 1 + include/YapStreams.h | 9 +++ library/dialect/swi/fli/swi.c | 3 +- os/yapio.h | 6 -- packages/packages/python/pypreds.c | 2 +- packages/python/py4yap.h | 7 ++ packages/python/pybips.c | 7 +- packages/python/pypreds.c | 72 +++++++++++-------- packages/python/python.c | 2 + packages/python/swig/prolog/yapi.yap | 11 ++- packages/python/yap_kernel/CMakeLists.txt | 21 +++--- .../yap_kernel/yap_ipython/prolog/jupyter.yap | 6 +- .../python/yap_kernel/yap_ipython/yapi.py | 55 +++++++++----- 13 files changed, 123 insertions(+), 79 deletions(-) diff --git a/C/errors.c b/C/errors.c index 65ede1582..5cd46bf6a 100755 --- a/C/errors.c +++ b/C/errors.c @@ -17,6 +17,7 @@ #include "absmi.h" #include "yapio.h" +#include "YapStreams.h" #if HAVE_STDARG_H #include #endif diff --git a/include/YapStreams.h b/include/YapStreams.h index 27a1a769c..d0468afc0 100644 --- a/include/YapStreams.h +++ b/include/YapStreams.h @@ -265,4 +265,13 @@ typedef struct stream_desc { encoding_t encoding; /** current encoding for stream */ } StreamDesc; + + +extern bool Yap_set_stream_to_buf(StreamDesc *st, const char *bufi, + size_t nchars + #ifdef USES_REGS + USES_REGS + #endif + ); + #endif diff --git a/library/dialect/swi/fli/swi.c b/library/dialect/swi/fli/swi.c index 1cdfef195..93443b87b 100755 --- a/library/dialect/swi/fli/swi.c +++ b/library/dialect/swi/fli/swi.c @@ -221,8 +221,9 @@ X_API int PL_get_nchars(term_t l, size_t *lengthp, char **s, unsigned flags) { if (s) { size_t len = strlen(out.val.c); if (flags & (BUF_DISCARDABLE | BUF_RING)) { - strncpy(LOCAL_FileNameBuf, out.val.c, YAP_FILENAME_MAX); + if (!*s) *s = LOCAL_FileNameBuf; + strncpy(*s, out.val.c, YAP_FILENAME_MAX); pop_text_stack(lvl); return true; } diff --git a/os/yapio.h b/os/yapio.h index 76ee6f0bb..4344623e4 100644 --- a/os/yapio.h +++ b/os/yapio.h @@ -22,8 +22,6 @@ #undef HAVE_LIBREADLINE #endif -#include "YapStreams.h" - #include #include @@ -196,9 +194,5 @@ extern uint64_t Yap_StartOfWTimes; extern bool Yap_HandleSIGINT(void); -extern bool Yap_set_stream_to_buf(StreamDesc *st, const char *bufi, - size_t nchars USES_REGS); - - #endif diff --git a/packages/packages/python/pypreds.c b/packages/packages/python/pypreds.c index a62b830c0..e38221148 100644 --- a/packages/packages/python/pypreds.c +++ b/packages/packages/python/pypreds.c @@ -558,7 +558,7 @@ term_t t0 = python_acquire_GIL(); *s++ = '.'; s[0] = '\0'; } else if (!PL_get_nchars(mname, &len, &s, - CVT_ATOM | CVT_EXCEPTION | REP_UTF8)) { + CVT_ATOM | CVT_STRING| CVT_EXCEPTION | REP_UTF8)) { python_release_GIL(t0); pyErrorAndReturn(false, false); } else { diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index cb925e731..2c8eb27b8 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -1,7 +1,14 @@ +#undef PASS_REGS +#undef USES_REGS + #ifndef PY4YAP_H #define PY4YAP_H 1 + +#define PASS_REGS +#define USES_REGSg + //@{ /** @brief Prolog to Python library diff --git a/packages/python/pybips.c b/packages/python/pybips.c index e52850146..aa89c596f 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -710,10 +710,9 @@ static bool legal_symbol(const char *s) { } PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { - PyObject *o, *d = NULL; if (legal_symbol(s)) { PyTypeObject *typp; - PyObject *key = PyUnicode_FromString(s); + PyObject *key = PyUnicode_FromString(s), *d; if (Py_f2p && (d = PyList_GetItem(Py_f2p, arity)) && PyDict_Contains(d, key)) { typp = (PyTypeObject *)PyDict_GetItem(d, key); @@ -737,10 +736,10 @@ PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { // PyModule_AddGObject(py_Main, s, (PyObject *)typp); if (d && !PyDict_Contains(d, key)) PyDict_SetItem(d, key, (PyObject *)typp); - Py_DECREF(key); + Py_INCREF(key); Py_INCREF(typp); } - o = PyStructSequence_New(typp); + PyObject *o = PyStructSequence_New(typp); Py_INCREF(typp); arity_t i; for (i = 0; i < arity; i++) { diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 758458796..666222fae 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -1,4 +1,6 @@ +#include "Yap.h" + #include "py4yap.h" PyObject *py_Main; @@ -544,36 +546,46 @@ static int python_import(term_t mname, term_t mod) { PyObject *pName; bool do_as = false; - term_t arg = PL_new_term_ref(); - char s0[MAXPATHLEN], *s = s0, *t; - functor_t f; - while (true) { - size_t len; - //PyErr_Clear(); - len = (MAXPATHLEN - 1) - (s - s0); - if (PL_is_pair(mname)) { - char *sa = NULL; - if (!PL_get_arg(1, mname, arg) || !PL_get_chars(arg, &sa, CVT_ALL | CVT_EXCEPTION | REP_UTF8) || - !PL_get_arg(2, mname, mname)) { - pyErrorAndReturn(false); - } - PL_get_chars(arg, &sa, CVT_ALL | CVT_EXCEPTION | REP_UTF8); - strcpy(s, sa); - s += strlen(s); - *s++ = '.'; - s[0] = '\0'; - } else if (PL_get_functor(mname, &f) && f == FUNCTOR_as2 && PL_get_arg(2, mname,arg) && - PL_get_chars(arg, &t, CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { - do_as = true; - PL_get_arg(1, mname,mname); - } else if (!PL_get_nchars(mname, &len, &s, - CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { - pyErrorAndReturn(false); - } else { - break; - } + char s0[MAXPATHLEN], *s = s0; + const char*sn; + Term t = Deref(ARG1), sm; + if (IsApplTerm(t)) { + Functor f = FunctorOfTerm(t); + if (f != Yap_MkFunctor(Yap_LookupAtom("as"),2)) + return false; + do_as = true; + sm = ArgOfTerm(2,t); + if (IsAtomTerm(sm)) + sn = RepAtom(AtomOfTerm(sm))->StrOfAE; + else if (IsStringTerm(sm)) + sn = StringOfTerm(sm); + else + return false; } - term_t t0 = python_acquire_GIL(); + while (IsPairTerm(t)) { + Term ti = HeadOfTerm(t); + Term t2 = TailOfTerm(t); + if (IsAtomTerm(ti)) + sn = RepAtom(AtomOfTerm(ti))->StrOfAE; + else if (IsStringTerm(ti)) + sn = StringOfTerm(ti); + else + return false; + strcat(s,sn); + if (IsPairTerm(t2)) { + strcat(s,"."); + continue; + } + sm = ArgOfTerm(2,t); + } + sm = t; + if (IsAtomTerm(sm)) + sn = RepAtom(AtomOfTerm(sm))->StrOfAE; + else if (IsStringTerm(sm)) + sn = StringOfTerm(sm); + else + return false; + term_t t0 = python_acquire_GIL(); #if PY_MAJOR_VERSION < 3 pName = PyString_FromString(s0); #else @@ -595,7 +607,7 @@ static int python_import(term_t mname, term_t mod) { { foreign_t rc = address_to_term(pModule, mod); - if (do_as && PyObject_SetAttrString(py_Main, t, pModule) <0) + if (do_as && PyObject_SetAttrString(py_Main, sn, pModule) <0) return false; python_release_GIL(t0); pyErrorAndReturn(rc); diff --git a/packages/python/python.c b/packages/python/python.c index 09ff42390..b48b80e00 100644 --- a/packages/python/python.c +++ b/packages/python/python.c @@ -3,6 +3,8 @@ #include "py4yap.h" #include +#define USES_REGS + #include "YapStreams.h" atom_t ATOM_true, ATOM_false, ATOM_colon, ATOM_dot, ATOM_none, ATOM_t, diff --git a/packages/python/swig/prolog/yapi.yap b/packages/python/swig/prolog/yapi.yap index 76dea4574..23da8e0f5 100644 --- a/packages/python/swig/prolog/yapi.yap +++ b/packages/python/swig/prolog/yapi.yap @@ -71,21 +71,20 @@ argi(N,I,I1) :- python_query( Caller, String ) :- atomic_to_term( String, Goal, VarNames ), query_to_answer( Goal, VarNames, Status, Bindings), - atom_to_string( Status, SStatus ), - % Caller.port := SStatus, + Caller.port := Status, write_query_answer( Bindings ), nl(user_error), Caller.answer := {}, - maplist(in_dict(Caller.answer), Bindings). - + maplist(in_dict(Caller.answer), Bindings). + in_dict(Dict, var([V0,V|Vs])) :- !, Dict[V] := V0, in_dict( Dict, var([V0|Vs])). in_dict(_Dict, var([_],_G)) :- !. in_dict(Dict, nonvar([V0|Vs],G)) :- !, - Dict[V0] := G, +term_to_atom(G,A,_), + Dict[V0] := A, in_dict( Dict, nonvar(Vs, G) ). in_dict(_Dict, nonvar([],_G)) :- !. in_dict(_, _) - diff --git a/packages/python/yap_kernel/CMakeLists.txt b/packages/python/yap_kernel/CMakeLists.txt index faa4eaf87..56aa585b1 100644 --- a/packages/python/yap_kernel/CMakeLists.txt +++ b/packages/python/yap_kernel/CMakeLists.txt @@ -287,12 +287,6 @@ set(FILES ${PYTHON_SOURCES} ${PL_SOURCES} ${EXTRAS} ${RESOURCES}) set(SETUP_PY ${CMAKE_CURRENT_BINARY_DIR}/setup.py) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz - COMMAND ${CMAKE_COMMAND} -E tar czf ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz ${FILES} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${FILES} -) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png COMMAND ${CMAKE_COMMAND} -E make_directory yap_kernel/resources @@ -315,16 +309,23 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolo DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ) +foreach(f ${FILES}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${f} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${f} ${CMAKE_CURRENT_BINARY_DIR}/${f} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${f} + ) + list(APPEND OUTS ${CMAKE_CURRENT_BINARY_DIR}/${f} ) +endforeach() + add_custom_target(YAP_KERNEL ALL - COMMAND ${CMAKE_COMMAND} -E tar xzf ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz + COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png yap.tgz ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${OUTS} ) install(CODE "execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist - COMMAND ${PYTHON_EXECUTABLE} -m pip install ${PYTHON_USER_INSTALL} --ignore-installed --no-deps . + COMMAND ${PYTHON_EXECUTABLE} -m pip install ${PYTHON_USER_INSTALL} --ignore-installed --no-deps . COMMAND ${PYTHON_EXECUTABLE} -m yap_kernel.kernelspec ERROR_VARIABLE setupErr OUTPUT_VARIABLE setupOut diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index d9696d51f..b1bf13e92 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -33,14 +33,14 @@ jupyter_query(Caller, Cell, Line ) :- jupyter_cell(_Caller, Cell, _Line) :- jupyter_consult(Cell), %stack_dump, fail. -jupyter_cell( _Caller, _, `` ) :- !. +jupyter_cell( _Caller, _, ¨¨ ) :- !. jupyter_cell( _Caller, _, Line ) :- blank( Line ), !. jupyter_cell(Caller, _, Line ) :- - Self := Caller.query, + Query = Caller, catch( - python_query(Self,Line), + python_query(Query,Line), E=error(A,B), system_error(A,B) ). diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 3dfe95be0..70673485d 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -16,6 +16,7 @@ from yap_ipython.core.interactiveshell import * from yap_ipython.core import interactiveshell from collections import namedtuple +import traceback use_module = namedtuple('use_module', 'file') bindvars = namedtuple('bindvars', 'list') @@ -516,13 +517,22 @@ class YAPRun: self.query = None self.os = None self.it = None + self.port = None + self.answers = None + self.bindings = dicts = [] self.shell.yapeng = self.yapeng self._get_exc_info = shell._get_exc_info - def showtraceback(self, tuple): - return None - + def showtraceback(self, exc_info): + try: + (etype, value, tb) = e + traceback.print_exception(etype, value, tb) + except: + print(e) + pass + + def syntaxErrors(self, text): """Return whether a legal query """ @@ -545,28 +555,34 @@ class YAPRun: # sys.settrace(tracefunc) if self.query and self.os == program+squery: howmany += self.iterations + found = howmany != 0 else: if self.query: self.query.close() + self.query = None + self.port = None + self.answers = None self.os = program+squery self.iterations = 0 - self.bindings = [] pg = jupyter_query( self, program, squery) self.query = self.yapeng.query(pg) - self.query.answer = {} + self.answers = [] + self.port = "call" + self.answer = {} while self.query.next(): - answer = self.query.answer + #sys.stderr.write('B '+str( self.answer) +'\n') + #sys.stderr.write('C '+ str(self.port) +'\n'+'\n') found = True - self.bindings += [answer] + self.answers += [self.answer] self.iterations += 1 - if self.query.port == "exit": + if self.port == "exit": self.os = None - sys.stderr.writeln('Done, with', self.bindings) + sys.stderr.write('Done, with'+str(self.answers)+'\n') return True,self.bindings if stop or howmany == self.iterations: - return True, self.bindings + return True, self.answers if found: - sys.stderr.writeln('Done, with ', self.bindings) + sys.stderr.write('Done, with '+str(self.answers)+'\n') else: self.os = None self.query.close() @@ -574,7 +590,7 @@ class YAPRun: sys.stderr.write('Fail\n') return True,self.bindings except Exception as e: - sys.stderr.write('Exception after', self.bindings, '\n') + sys.stderr.write('Exception '+str(e)+' after '+str( self.bindings)+ '\n') has_raised = True return False,[] @@ -660,7 +676,7 @@ class YAPRun: for i in self.syntaxErrors(raw_cell): try: (what,lin,_,text) = i - e = SyntaxError(what, ("", lin, 1, text)) + e = SyntaxError(what, ("", lin, 1, text+'\n')) raise e except SyntaxError: self.shell.showsyntaxerror( ) @@ -712,7 +728,6 @@ class YAPRun: has_raised = False try: self.yapeng.mgoal(streams(True),"user", True) - self.bindings = dicts = [] if cell.strip('\n \t'): #create a Trace object, telling it what to ignore, and whether to # do tracing or line-counting or both. @@ -731,14 +746,17 @@ class YAPRun: self.jupyter_query( cell ) # state = tracer.runfunc(jupyter_query( self, cell ) ) self.shell.last_execution_succeeded = True - self.result.result = (True, dicts) except Exception as e: has_raised = True self.result.result = False - self.yapeng.mgoal(streams(False),"user", True) + try: + (etype, value, tb) = e + traceback.print_exception(etype, value, tb) + except: + print(e) + pass - self.yapeng.mgoal(streams(False),"user", True) self.shell.last_execution_succeeded = not has_raised # Reset this so later displayed values do not modify the @@ -755,6 +773,7 @@ class YAPRun: # Each cell is a *single* input, regardless of how many lines it has self.shell.execution_count += 1 + self.yapeng.mgoal(streams(False),"user", True) return self.result def clean_end(self,s): @@ -796,7 +815,7 @@ class YAPRun: last line if the last line is non-empty and does not terminate on a dot. You can also finish with - - `;`: you request all solutions + - `*`: you request all solutions - ';'[N]: you want an answer; optionally you want N answers If the line terminates on a `*/` or starts on a `%` we assume the line From 436f1c205a1e76587f434f9e749ef553d9a33303 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 24 Jul 2018 20:18:41 +0100 Subject: [PATCH 15/57] jup --- CMakeLists.txt | 3 +- packages/python/pypreds.c | 19 +- packages/python/swig/setup.py.in | 2 +- packages/python/swig/yap4py/yapi.py | 9 +- packages/python/yap_kernel/CMakeLists.txt | 653 ++++++++++-------- .../python/yap_kernel/yap_ipython/yapi.py | 20 +- pl/top.yap | 2 +- 7 files changed, 413 insertions(+), 295 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 88bc15e75..70b1c797e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -688,7 +688,8 @@ set_target_properties(libYap # file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/packages/python/swig/yap4py) if (PYTHONLIBS_FOUND AND SWIG_FOUND) - add_subdirectory(packages/python/swig) + set( ENV{PYTHONPATH} ${CMAKE_BINARY_DIR}/packages/python/swig:${CMAKE_BINARY_DIR}/packages/python/yap_kernel:. ) +add_subdirectory(packages/python/swig) include(FindPythonModule) diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 666222fae..2a2d3b465 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -546,8 +546,9 @@ static int python_import(term_t mname, term_t mod) { PyObject *pName; bool do_as = false; - char s0[MAXPATHLEN], *s = s0; - const char*sn; + char s0[MAXPATHLEN], *s = s0; + s[0] = '\0'; + const char*sn, *as; Term t = Deref(ARG1), sm; if (IsApplTerm(t)) { Functor f = FunctorOfTerm(t); @@ -556,15 +557,16 @@ static int python_import(term_t mname, term_t mod) { do_as = true; sm = ArgOfTerm(2,t); if (IsAtomTerm(sm)) - sn = RepAtom(AtomOfTerm(sm))->StrOfAE; + as = RepAtom(AtomOfTerm(sm))->StrOfAE; else if (IsStringTerm(sm)) - sn = StringOfTerm(sm); + as = StringOfTerm(sm); else return false; + t = ArgOfTerm(1,t); } while (IsPairTerm(t)) { Term ti = HeadOfTerm(t); - Term t2 = TailOfTerm(t); + t = TailOfTerm(t); if (IsAtomTerm(ti)) sn = RepAtom(AtomOfTerm(ti))->StrOfAE; else if (IsStringTerm(ti)) @@ -572,11 +574,7 @@ static int python_import(term_t mname, term_t mod) { else return false; strcat(s,sn); - if (IsPairTerm(t2)) { - strcat(s,"."); - continue; - } - sm = ArgOfTerm(2,t); + strcat(s,"."); } sm = t; if (IsAtomTerm(sm)) @@ -585,6 +583,7 @@ static int python_import(term_t mname, term_t mod) { sn = StringOfTerm(sm); else return false; + strcat(s,sn); term_t t0 = python_acquire_GIL(); #if PY_MAJOR_VERSION < 3 pName = PyString_FromString(s0); diff --git a/packages/python/swig/setup.py.in b/packages/python/swig/setup.py.in index 4eb051a3c..763aad825 100644 --- a/packages/python/swig/setup.py.in +++ b/packages/python/swig/setup.py.in @@ -115,7 +115,7 @@ package_data = { data_files=[] -version_ns = {'__version__': '6.3.5', 'minor-version': '6', 'minor-version': '3', 'patch': '5'} +version_ns = {'__version__': '${YAP_MAJOR_VERSION}.${YAP_MINOR_VERSION}.${YAP_PATCH_VERSION}', 'major-version': '${YAP_MAJOR_VERSION}', 'minor-version': '${YAP_MINOR_VERSION}', 'patch': '${YAP_PATCH_VERSION}'} setup_args = dict( name=name, diff --git a/packages/python/swig/yap4py/yapi.py b/packages/python/swig/yap4py/yapi.py index b54db5390..bb88a8463 100644 --- a/packages/python/swig/yap4py/yapi.py +++ b/packages/python/swig/yap4py/yapi.py @@ -52,9 +52,12 @@ class JupyterEngine( Engine ): args.jupyter = True Engine.__init__(self, args) self.errors = None - self.run(compile(library('jupyter')),"user") - self.run(compile(library('complete')),"user") - self.run(compile(library('verify')),"user") + try: + self.run(compile(library('jupyter')),"user") + self.run(compile(library('complete')),"user") + self.run(compile(library('verify')),"user") + except: + pass class EngineArgs( YAPEngineArgs ): """ Interface to Engine Options class""" diff --git a/packages/python/yap_kernel/CMakeLists.txt b/packages/python/yap_kernel/CMakeLists.txt index 56aa585b1..09e128b5e 100644 --- a/packages/python/yap_kernel/CMakeLists.txt +++ b/packages/python/yap_kernel/CMakeLists.txt @@ -1,270 +1,379 @@ -set (PYTHON_SOURCES backcall.py yap_kernel_launcher.py docs/conf.py - yap_kernel/codeutil.py yap_kernel/comm yap_kernel/connect.py - yap_kernel/datapub.py yap_kernel/displayhook.py - yap_kernel/embed.py yap_kernel/_eventloop_macos.py - yap_kernel/eventloops.py yap_kernel/gui yap_kernel/heartbeat.py - yap_kernel/__init__.py yap_kernel/inprocess - yap_kernel/iostream.py yap_kernel/ipkernel.py - yap_kernel/jsonutil.py yap_kernel/kernelapp.py - yap_kernel/kernelbase.py yap_kernel/kernelspec.py - yap_kernel/log.py yap_kernel/__main__.py - yap_kernel/parentpoller.py yap_kernel/pickleutil.py - yap_kernel/pylab yap_kernel/serialize.py yap_kernel/tests - yap_kernel/_version.py yap_kernel/zmqshell.py - yap_ipython/config.py yap_ipython/consoleapp.py yap_ipython/core - yap_ipython/display.py yap_ipython/extensions - yap_ipython/external yap_ipython/frontend.py yap_ipython/html.py - yap_ipython/__init__.py yap_ipython/kernel yap_ipython/lib - yap_ipython/__main__.py yap_ipython/nbconvert.py - yap_ipython/nbformat.py yap_ipython/parallel.py - yap_ipython/paths.py yap_ipython/prolog yap_ipython/qt.py - yap_ipython/sphinxext yap_ipython/terminal yap_ipython/testing - yap_ipython/utils yap_ipython/yapi.py yap_kernel/comm/comm.py - yap_kernel/comm/__init__.py yap_kernel/comm/manager.py - yap_kernel/gui/gtk3embed.py yap_kernel/gui/gtkembed.py - yap_kernel/gui/__init__.py yap_kernel/inprocess/blocking.py - yap_kernel/inprocess/channels.py yap_kernel/inprocess/client.py - yap_kernel/inprocess/constants.py - yap_kernel/inprocess/__init__.py - yap_kernel/inprocess/ipkernel.py yap_kernel/inprocess/manager.py - yap_kernel/inprocess/socket.py yap_kernel/inprocess/tests - yap_kernel/pylab/backend_inline.py yap_kernel/pylab/config.py - yap_kernel/pylab/__init__.py yap_kernel/tests/_asyncio.py - yap_kernel/tests/__init__.py yap_kernel/tests/test_connect.py - yap_kernel/tests/test_embed_kernel.py - yap_kernel/tests/test_eventloop.py yap_kernel/tests/test_io.py - yap_kernel/tests/test_jsonutil.py - yap_kernel/tests/test_kernel.py - yap_kernel/tests/test_kernelspec.py - yap_kernel/tests/test_message_spec.py - yap_kernel/tests/test_pickleutil.py - yap_kernel/tests/test_serialize.py - yap_kernel/tests/test_start_kernel.py - yap_kernel/tests/test_zmq_shell.py yap_kernel/tests/utils.py - yap_ipython/core/alias.py yap_ipython/core/application.py - yap_ipython/core/autocall.py yap_ipython/core/builtin_trap.py - yap_ipython/core/compilerop.py yap_ipython/core/completerlib.py - yap_ipython/core/completer.py yap_ipython/core/crashhandler.py - yap_ipython/core/debugger.py yap_ipython/core/displayhook.py - yap_ipython/core/displaypub.py yap_ipython/core/display.py - yap_ipython/core/display_trap.py yap_ipython/core/error.py - yap_ipython/core/events.py yap_ipython/core/excolors.py - yap_ipython/core/extensions.py yap_ipython/core/formatters.py - yap_ipython/core/getipython.py yap_ipython/core/historyapp.py - yap_ipython/core/history.py yap_ipython/core/hooks.py - yap_ipython/core/__init__.py yap_ipython/core/inputsplitter.py - yap_ipython/core/inputtransformer.py - yap_ipython/core/interactiveshell.py - yap_ipython/core/latex_symbols.py yap_ipython/core/logger.py - yap_ipython/core/macro.py yap_ipython/core/magic_arguments.py - yap_ipython/core/magic.py yap_ipython/core/magics - yap_ipython/core/oinspect.py yap_ipython/core/page.py - yap_ipython/core/payloadpage.py yap_ipython/core/payload.py - yap_ipython/core/prefilter.py yap_ipython/core/profileapp.py - yap_ipython/core/profiledir.py yap_ipython/core/prompts.py - yap_ipython/core/pylabtools.py yap_ipython/core/release.py - yap_ipython/core/shellapp.py yap_ipython/core/splitinput.py - yap_ipython/core/tests yap_ipython/core/ultratb.py - yap_ipython/core/usage.py yap_ipython/extensions/autoreload.py - yap_ipython/extensions/cythonmagic.py - yap_ipython/extensions/__init__.py - yap_ipython/extensions/rmagic.py - yap_ipython/extensions/storemagic.py - yap_ipython/extensions/sympyprinting.py - yap_ipython/extensions/tests yap_ipython/external/decorators - yap_ipython/external/__init__.py yap_ipython/external/mathjax.py - yap_ipython/external/qt_for_kernel.py - yap_ipython/external/qt_loaders.py yap_ipython/kernel/adapter.py - yap_ipython/kernel/channelsabc.py yap_ipython/kernel/channels.py - yap_ipython/kernel/clientabc.py yap_ipython/kernel/client.py - yap_ipython/kernel/connect.py yap_ipython/kernel/__init__.py - yap_ipython/kernel/kernelspecapp.py - yap_ipython/kernel/kernelspec.py yap_ipython/kernel/launcher.py - yap_ipython/kernel/__main__.py yap_ipython/kernel/managerabc.py - yap_ipython/kernel/manager.py - yap_ipython/kernel/multikernelmanager.py - yap_ipython/kernel/restarter.py yap_ipython/kernel/threaded.py - yap_ipython/lib/backgroundjobs.py yap_ipython/lib/clipboard.py - yap_ipython/lib/deepreload.py yap_ipython/lib/demo.py - yap_ipython/lib/display.py yap_ipython/lib/editorhooks.py - yap_ipython/lib/guisupport.py yap_ipython/lib/__init__.py - yap_ipython/lib/inputhookglut.py - yap_ipython/lib/inputhookgtk3.py yap_ipython/lib/inputhookgtk.py - yap_ipython/lib/inputhook.py yap_ipython/lib/inputhookpyglet.py - yap_ipython/lib/inputhookqt4.py yap_ipython/lib/inputhookwx.py - yap_ipython/lib/kernel.py yap_ipython/lib/latextools.py - yap_ipython/lib/lexers.py yap_ipython/lib/pretty.py - yap_ipython/lib/security.py yap_ipython/lib/tests - yap_ipython/sphinxext/custom_doctests.py - yap_ipython/sphinxext/__init__.py - yap_ipython/sphinxext/ipython_console_highlighting.py - yap_ipython/sphinxext/ipython_directive.py - yap_ipython/terminal/console.py yap_ipython/terminal/debugger.py - yap_ipython/terminal/embed.py yap_ipython/terminal/__init__.py - yap_ipython/terminal/interactiveshell.py - yap_ipython/terminal/ipapp.py yap_ipython/terminal/magics.py - yap_ipython/terminal/prompts.py - yap_ipython/terminal/pt_inputhooks - yap_ipython/terminal/ptshell.py yap_ipython/terminal/ptutils.py - yap_ipython/terminal/shortcuts.py yap_ipython/terminal/tests - yap_ipython/testing/decorators.py - yap_ipython/testing/globalipapp.py - yap_ipython/testing/__init__.py - yap_ipython/testing/iptestcontroller.py - yap_ipython/testing/iptest.py yap_ipython/testing/ipunittest.py - yap_ipython/testing/__main__.py yap_ipython/testing/plugin - yap_ipython/testing/skipdoctest.py yap_ipython/testing/tests - yap_ipython/testing/tools.py yap_ipython/utils/capture.py - yap_ipython/utils/colorable.py yap_ipython/utils/coloransi.py - yap_ipython/utils/contexts.py yap_ipython/utils/daemonize.py - yap_ipython/utils/data.py yap_ipython/utils/decorators.py - yap_ipython/utils/dir2.py yap_ipython/utils/encoding.py - yap_ipython/utils/eventful.py yap_ipython/utils/frame.py - yap_ipython/utils/generics.py yap_ipython/utils/importstring.py - yap_ipython/utils/__init__.py yap_ipython/utils/io.py - yap_ipython/utils/ipstruct.py yap_ipython/utils/jsonutil.py - yap_ipython/utils/localinterfaces.py yap_ipython/utils/log.py - yap_ipython/utils/module_paths.py yap_ipython/utils/openpy.py - yap_ipython/utils/path.py yap_ipython/utils/pickleutil.py - yap_ipython/utils/_process_cli.py - yap_ipython/utils/_process_common.py - yap_ipython/utils/_process_posix.py yap_ipython/utils/process.py - yap_ipython/utils/_process_win32_controller.py - yap_ipython/utils/_process_win32.py - yap_ipython/utils/py3compat.py yap_ipython/utils/PyColorize.py - yap_ipython/utils/sentinel.py yap_ipython/utils/shimmodule.py - yap_ipython/utils/signatures.py yap_ipython/utils/strdispatch.py - yap_ipython/utils/_sysinfo.py yap_ipython/utils/sysinfo.py - yap_ipython/utils/syspathcontext.py yap_ipython/utils/tempdir.py - yap_ipython/utils/terminal.py yap_ipython/utils/tests - yap_ipython/utils/text.py yap_ipython/utils/timing.py - yap_ipython/utils/tokenize2.py yap_ipython/utils/tokenutil.py - yap_ipython/utils/traitlets.py yap_ipython/utils/tz.py - yap_ipython/utils/ulinecache.py yap_ipython/utils/version.py - yap_ipython/utils/wildcard.py - yap_kernel/inprocess/tests/__init__.py - yap_kernel/inprocess/tests/test_kernelmanager.py - yap_kernel/inprocess/tests/test_kernel.py - yap_ipython/core/magics/auto.py yap_ipython/core/magics/basic.py - yap_ipython/core/magics/code.py - yap_ipython/core/magics/config.py - yap_ipython/core/magics/display.py - yap_ipython/core/magics/execution.py - yap_ipython/core/magics/extension.py - yap_ipython/core/magics/history.py - yap_ipython/core/magics/__init__.py - yap_ipython/core/magics/logging.py - yap_ipython/core/magics/namespace.py - yap_ipython/core/magics/osm.py yap_ipython/core/magics/pylab.py - yap_ipython/core/magics/script.py - yap_ipython/core/tests/bad_all.py - yap_ipython/core/tests/daft_extension - yap_ipython/core/tests/__init__.py - yap_ipython/core/tests/nonascii2.py - yap_ipython/core/tests/nonascii.py - yap_ipython/core/tests/print_argv.py - yap_ipython/core/tests/refbug.py - yap_ipython/core/tests/simpleerr.py - yap_ipython/core/tests/tclass.py - yap_ipython/core/tests/test_alias.py - yap_ipython/core/tests/test_application.py - yap_ipython/core/tests/test_autocall.py - yap_ipython/core/tests/test_compilerop.py - yap_ipython/core/tests/test_completerlib.py - yap_ipython/core/tests/test_completer.py - yap_ipython/core/tests/test_debugger.py - yap_ipython/core/tests/test_displayhook.py - yap_ipython/core/tests/test_display.py - yap_ipython/core/tests/test_events.py - yap_ipython/core/tests/test_extension.py - yap_ipython/core/tests/test_formatters.py - yap_ipython/core/tests/test_handlers.py - yap_ipython/core/tests/test_history.py - yap_ipython/core/tests/test_hooks.py - yap_ipython/core/tests/test_imports.py - yap_ipython/core/tests/test_inputsplitter.py - yap_ipython/core/tests/test_inputtransformer.py - yap_ipython/core/tests/test_interactiveshell.py - yap_ipython/core/tests/test_iplib.py - yap_ipython/core/tests/test_logger.py - yap_ipython/core/tests/test_magic_arguments.py - yap_ipython/core/tests/test_magic.py - yap_ipython/core/tests/test_magic_terminal.py - yap_ipython/core/tests/test_oinspect.py - yap_ipython/core/tests/test_page.py - yap_ipython/core/tests/test_paths.py - yap_ipython/core/tests/test_prefilter.py - yap_ipython/core/tests/test_profile.py - yap_ipython/core/tests/test_prompts.py - yap_ipython/core/tests/test_pylabtools.py - yap_ipython/core/tests/test_run.py - yap_ipython/core/tests/test_shellapp.py - yap_ipython/core/tests/test_splitinput.py - yap_ipython/core/tests/test_ultratb.py - yap_ipython/extensions/tests/__init__.py - yap_ipython/extensions/tests/test_autoreload.py - yap_ipython/extensions/tests/test_storemagic.py - yap_ipython/external/decorators/_decorators.py - yap_ipython/external/decorators/__init__.py - yap_ipython/external/decorators/_numpy_testing_noseclasses.py - yap_ipython/lib/tests/__init__.py - yap_ipython/lib/tests/test_backgroundjobs.py - yap_ipython/lib/tests/test_clipboard.py - yap_ipython/lib/tests/test_deepreload.py - yap_ipython/lib/tests/test_display.py - yap_ipython/lib/tests/test_editorhooks.py - yap_ipython/lib/tests/test_imports.py - yap_ipython/lib/tests/test_latextools.py - yap_ipython/lib/tests/test_lexers.py - yap_ipython/lib/tests/test_pretty.py - yap_ipython/lib/tests/test_security.py - yap_ipython/terminal/pt_inputhooks/glut.py - yap_ipython/terminal/pt_inputhooks/gtk3.py - yap_ipython/terminal/pt_inputhooks/gtk.py - yap_ipython/terminal/pt_inputhooks/__init__.py - yap_ipython/terminal/pt_inputhooks/osx.py - yap_ipython/terminal/pt_inputhooks/pyglet.py - yap_ipython/terminal/pt_inputhooks/qt.py - yap_ipython/terminal/pt_inputhooks/tk.py - yap_ipython/terminal/pt_inputhooks/wx.py - yap_ipython/terminal/tests/__init__.py - yap_ipython/terminal/tests/test_embed.py - yap_ipython/terminal/tests/test_help.py - yap_ipython/terminal/tests/test_interactivshell.py - yap_ipython/testing/plugin/dtexample.py - yap_ipython/testing/plugin/__init__.py - yap_ipython/testing/plugin/ipdoctest.py - yap_ipython/testing/plugin/iptest.py - yap_ipython/testing/plugin/setup.py - yap_ipython/testing/plugin/show_refs.py - yap_ipython/testing/plugin/simple.py - yap_ipython/testing/plugin/simplevars.py - yap_ipython/testing/plugin/test_ipdoctest.py - yap_ipython/testing/plugin/test_refs.py - yap_ipython/testing/tests/__init__.py - yap_ipython/testing/tests/test_decorators.py - yap_ipython/testing/tests/test_ipunittest.py - yap_ipython/testing/tests/test_tools.py - yap_ipython/utils/tests/__init__.py - yap_ipython/utils/tests/test_capture.py - yap_ipython/utils/tests/test_decorators.py - yap_ipython/utils/tests/test_dir2.py - yap_ipython/utils/tests/test_imports.py - yap_ipython/utils/tests/test_importstring.py - yap_ipython/utils/tests/test_io.py - yap_ipython/utils/tests/test_module_paths.py - yap_ipython/utils/tests/test_openpy.py - yap_ipython/utils/tests/test_path.py - yap_ipython/utils/tests/test_process.py - yap_ipython/utils/tests/test_pycolorize.py - yap_ipython/utils/tests/test_shimmodule.py - yap_ipython/utils/tests/test_sysinfo.py - yap_ipython/utils/tests/test_tempdir.py - yap_ipython/utils/tests/test_text.py - yap_ipython/utils/tests/test_tokenutil.py - yap_ipython/utils/tests/test_wildcard.py - yap_ipython/core/tests/daft_extension/daft_extension.py - __init__.py ) +set (PYTHON_SOURCES backcall/__init__.py +core/yap_kernel/__init__.py +core/yap_kernel/getipython.py +core/__init__.py +_version.py +yap_kernel/datapub.py +yap_kernel/serialize.py +yap_kernel/embed.py +yap_kernel/_version.py +yap_kernel/connect.py +yap_kernel/iostream.py +yap_kernel/log.py +yap_kernel/parentpoller.py +yap_kernel/jsonutil.py +yap_kernel/ipkernel.py +yap_kernel/kernelspec.py +yap_kernel/eventloops.py +yap_kernel/_eventloop_macos.py +yap_kernel/inprocess/ipkernel.py +yap_kernel/inprocess/client.py +yap_kernel/inprocess/constants.py +yap_kernel/inprocess/tests/test_kernelmanager.py +yap_kernel/inprocess/tests/__init__.py +yap_kernel/inprocess/tests/test_kernel.py +yap_kernel/inprocess/__init__.py +yap_kernel/inprocess/blocking.py +yap_kernel/inprocess/channels.py +yap_kernel/inprocess/socket.py +yap_kernel/inprocess/manager.py +yap_kernel/tests/test_jsonutil.py +yap_kernel/tests/test_zmq_shell.py +yap_kernel/tests/test_pickleutil.py +yap_kernel/tests/test_embed_kernel.py +yap_kernel/tests/test_connect.py +yap_kernel/tests/test_start_kernel.py +yap_kernel/tests/_asyncio.py +yap_kernel/tests/__init__.py +yap_kernel/tests/test_io.py +yap_kernel/tests/test_kernelspec.py +yap_kernel/tests/test_message_spec.py +yap_kernel/tests/utils.py +yap_kernel/tests/test_kernel.py +yap_kernel/tests/test_serialize.py +yap_kernel/tests/test_eventloop.py +yap_kernel/__init__.py +yap_kernel/comm/comm.py +yap_kernel/comm/__init__.py +yap_kernel/comm/manager.py +yap_kernel/zmqshell.py +yap_kernel/gui/gtk3embed.py +yap_kernel/gui/__init__.py +yap_kernel/gui/gtkembed.py +yap_kernel/codeutil.py +yap_kernel/heartbeat.py +yap_kernel/kernelapp.py +yap_kernel/displayhook.py +yap_kernel/pickleutil.py +yap_kernel/kernelbase.py +yap_kernel/pylab/backend_inline.py +yap_kernel/pylab/config.py +yap_kernel/pylab/__init__.py +yap_kernel/__main__.py +yap_kernel.py +kernelspec.py +__init__.py +yap_kernel_launcher.py +docs/conf.py +backcall.py +setup.py +interactiveshell.py +examples/embedding/internal_ipkernel.py +examples/embedding/ipkernel_qtapp.py +examples/embedding/inprocess_terminal.py +examples/embedding/ipkernel_wxapp.py +examples/embedding/inprocess_qtconsole.py +kernelapp.py +yap_ipython/config.py +yap_ipython/core/prefilter.py +yap_ipython/core/magic.py +yap_ipython/core/historyapp.py +yap_ipython/core/hooks.py +yap_ipython/core/completerlib.py +yap_ipython/core/alias.py +yap_ipython/core/release.py +yap_ipython/core/display_trap.py +yap_ipython/core/profiledir.py +yap_ipython/core/error.py +yap_ipython/core/formatters.py +yap_ipython/core/events.py +yap_ipython/core/tests/print_argv.py +yap_ipython/core/tests/test_extension.py +yap_ipython/core/tests/test_shellapp.py +yap_ipython/core/tests/test_compilerop.py +yap_ipython/core/tests/test_handlers.py +yap_ipython/core/tests/nonascii.py +yap_ipython/core/tests/simpleerr.py +yap_ipython/core/tests/refbug.py +yap_ipython/core/tests/tclass.py +yap_ipython/core/tests/test_pylabtools.py +yap_ipython/core/tests/test_magic_terminal.py +yap_ipython/core/tests/test_run.py +yap_ipython/core/tests/test_imports.py +yap_ipython/core/tests/test_prompts.py +yap_ipython/core/tests/test_display.py +yap_ipython/core/tests/bad_all.py +yap_ipython/core/tests/test_page.py +yap_ipython/core/tests/test_interactiveshell.py +yap_ipython/core/tests/test_ultratb.py +yap_ipython/core/tests/__init__.py +yap_ipython/core/tests/daft_extension/daft_extension.py +yap_ipython/core/tests/test_profile.py +yap_ipython/core/tests/test_iplib.py +yap_ipython/core/tests/test_magic_arguments.py +yap_ipython/core/tests/test_displayhook.py +yap_ipython/core/tests/test_magic.py +yap_ipython/core/tests/test_hooks.py +yap_ipython/core/tests/test_inputsplitter.py +yap_ipython/core/tests/test_alias.py +yap_ipython/core/tests/test_inputtransformer.py +yap_ipython/core/tests/test_prefilter.py +yap_ipython/core/tests/test_paths.py +yap_ipython/core/tests/test_splitinput.py +yap_ipython/core/tests/test_completerlib.py +yap_ipython/core/tests/test_completer.py +yap_ipython/core/tests/test_application.py +yap_ipython/core/tests/test_debugger.py +yap_ipython/core/tests/test_events.py +yap_ipython/core/tests/test_autocall.py +yap_ipython/core/tests/test_history.py +yap_ipython/core/tests/test_oinspect.py +yap_ipython/core/tests/nonascii2.py +yap_ipython/core/tests/test_formatters.py +yap_ipython/core/tests/test_logger.py +yap_ipython/core/magics/logging.py +yap_ipython/core/magics/execution.py +yap_ipython/core/magics/config.py +yap_ipython/core/magics/pylab.py +yap_ipython/core/magics/osm.py +yap_ipython/core/magics/code.py +yap_ipython/core/magics/__init__.py +yap_ipython/core/magics/display.py +yap_ipython/core/magics/basic.py +yap_ipython/core/magics/extension.py +yap_ipython/core/magics/namespace.py +yap_ipython/core/magics/script.py +yap_ipython/core/magics/auto.py +yap_ipython/core/magics/history.py +yap_ipython/core/inputtransformer.py +yap_ipython/core/splitinput.py +yap_ipython/core/__init__.py +yap_ipython/core/page.py +yap_ipython/core/shellapp.py +yap_ipython/core/logger.py +yap_ipython/core/excolors.py +yap_ipython/core/completer.py +yap_ipython/core/ultratb.py +yap_ipython/core/backcall.py +yap_ipython/core/display.py +yap_ipython/core/prompts.py +yap_ipython/core/debugger.py +yap_ipython/core/payload.py +yap_ipython/core/application.py +yap_ipython/core/extensions.py +yap_ipython/core/builtin_trap.py +yap_ipython/core/displaypub.py +yap_ipython/core/pylabtools.py +yap_ipython/core/interactiveshell.py +yap_ipython/core/autocall.py +yap_ipython/core/getipython.py +yap_ipython/core/inputsplitter.py +yap_ipython/core/oinspect.py +yap_ipython/core/latex_symbols.py +yap_ipython/core/profileapp.py +yap_ipython/core/payloadpage.py +yap_ipython/core/displayhook.py +yap_ipython/core/magic_arguments.py +yap_ipython/core/usage.py +yap_ipython/core/macro.py +yap_ipython/core/crashhandler.py +yap_ipython/core/compilerop.py +yap_ipython/core/history.py +yap_ipython/sphinxext/__init__.py +yap_ipython/sphinxext/custom_doctests.py +yap_ipython/sphinxext/ipython_console_highlighting.py +yap_ipython/sphinxext/ipython_directive.py +yap_ipython/nbformat.py +yap_ipython/paths.py +yap_ipython/_version.py +yap_ipython/nbconvert.py +yap_ipython/qt.py +yap_ipython/html.py +yap_ipython/frontend.py +yap_ipython/__init__.py +yap_ipython/terminal/pt_inputhooks/glut.py +yap_ipython/terminal/pt_inputhooks/gtk.py +yap_ipython/terminal/pt_inputhooks/gtk3.py +yap_ipython/terminal/pt_inputhooks/qt.py +yap_ipython/terminal/pt_inputhooks/__init__.py +yap_ipython/terminal/pt_inputhooks/tk.py +yap_ipython/terminal/pt_inputhooks/pyglet.py +yap_ipython/terminal/pt_inputhooks/osx.py +yap_ipython/terminal/pt_inputhooks/wx.py +yap_ipython/terminal/ptutils.py +yap_ipython/terminal/console.py +yap_ipython/terminal/embed.py +yap_ipython/terminal/shortcuts.py +yap_ipython/terminal/tests/__init__.py +yap_ipython/terminal/tests/test_embed.py +yap_ipython/terminal/tests/test_interactivshell.py +yap_ipython/terminal/tests/test_help.py +yap_ipython/terminal/__init__.py +yap_ipython/terminal/ipapp.py +yap_ipython/terminal/prompts.py +yap_ipython/terminal/debugger.py +yap_ipython/terminal/interactiveshell.py +yap_ipython/terminal/magics.py +yap_ipython/terminal/ptshell.py +yap_ipython/utils/shimmodule.py +yap_ipython/utils/colorable.py +yap_ipython/utils/tempdir.py +yap_ipython/utils/_process_win32_controller.py +yap_ipython/utils/module_paths.py +yap_ipython/utils/py3compat.py +yap_ipython/utils/tokenutil.py +yap_ipython/utils/version.py +yap_ipython/utils/encoding.py +yap_ipython/utils/openpy.py +yap_ipython/utils/_process_cli.py +yap_ipython/utils/tz.py +yap_ipython/utils/terminal.py +yap_ipython/utils/log.py +yap_ipython/utils/dir2.py +yap_ipython/utils/jsonutil.py +yap_ipython/utils/coloransi.py +yap_ipython/utils/daemonize.py +yap_ipython/utils/io.py +yap_ipython/utils/_process_posix.py +yap_ipython/utils/tests/test_pycolorize.py +yap_ipython/utils/tests/test_decorators.py +yap_ipython/utils/tests/test_tempdir.py +yap_ipython/utils/tests/test_importstring.py +yap_ipython/utils/tests/test_imports.py +yap_ipython/utils/tests/__init__.py +yap_ipython/utils/tests/test_dir2.py +yap_ipython/utils/tests/test_io.py +yap_ipython/utils/tests/test_process.py +yap_ipython/utils/tests/test_sysinfo.py +yap_ipython/utils/tests/test_text.py +yap_ipython/utils/tests/test_tokenutil.py +yap_ipython/utils/tests/test_openpy.py +yap_ipython/utils/tests/test_capture.py +yap_ipython/utils/tests/test_module_paths.py +yap_ipython/utils/tests/test_shimmodule.py +yap_ipython/utils/tests/test_path.py +yap_ipython/utils/tests/test_wildcard.py +yap_ipython/utils/__init__.py +yap_ipython/utils/traitlets.py +yap_ipython/utils/ipstruct.py +yap_ipython/utils/strdispatch.py +yap_ipython/utils/wildcard.py +yap_ipython/utils/capture.py +yap_ipython/utils/localinterfaces.py +yap_ipython/utils/timing.py +yap_ipython/utils/signatures.py +yap_ipython/utils/frame.py +yap_ipython/utils/text.py +yap_ipython/utils/_sysinfo.py +yap_ipython/utils/eventful.py +yap_ipython/utils/sysinfo.py +yap_ipython/utils/process.py +yap_ipython/utils/PyColorize.py +yap_ipython/utils/_process_common.py +yap_ipython/utils/contexts.py +yap_ipython/utils/pickleutil.py +yap_ipython/utils/syspathcontext.py +yap_ipython/utils/path.py +yap_ipython/utils/importstring.py +yap_ipython/utils/_process_win32.py +yap_ipython/utils/generics.py +yap_ipython/utils/sentinel.py +yap_ipython/utils/tokenize2.py +yap_ipython/utils/ulinecache.py +yap_ipython/utils/data.py +yap_ipython/utils/decorators.py +yap_ipython/display.py +yap_ipython/yapi.py +yap_ipython/extensions/rmagic.py +yap_ipython/extensions/cythonmagic.py +yap_ipython/extensions/tests/test_autoreload.py +yap_ipython/extensions/tests/__init__.py +yap_ipython/extensions/tests/test_storemagic.py +yap_ipython/extensions/__init__.py +yap_ipython/extensions/storemagic.py +yap_ipython/extensions/sympyprinting.py +yap_ipython/extensions/autoreload.py +yap_ipython/testing/skipdoctest.py +yap_ipython/testing/iptestcontroller.py +yap_ipython/testing/tools.py +yap_ipython/testing/tests/test_ipunittest.py +yap_ipython/testing/tests/test_decorators.py +yap_ipython/testing/tests/__init__.py +yap_ipython/testing/tests/test_tools.py +yap_ipython/testing/plugin/test_ipdoctest.py +yap_ipython/testing/plugin/dtexample.py +yap_ipython/testing/plugin/show_refs.py +yap_ipython/testing/plugin/__init__.py +yap_ipython/testing/plugin/iptest.py +yap_ipython/testing/plugin/test_refs.py +yap_ipython/testing/plugin/setup.py +yap_ipython/testing/plugin/ipdoctest.py +yap_ipython/testing/plugin/simplevars.py +yap_ipython/testing/plugin/simple.py +yap_ipython/testing/__init__.py +yap_ipython/testing/globalipapp.py +yap_ipython/testing/iptest.py +yap_ipython/testing/ipunittest.py +yap_ipython/testing/__main__.py +yap_ipython/testing/decorators.py +yap_ipython/lib/inputhookpyglet.py +yap_ipython/lib/inputhookgtk.py +yap_ipython/lib/inputhookglut.py +yap_ipython/lib/guisupport.py +yap_ipython/lib/kernel.py +yap_ipython/lib/latextools.py +yap_ipython/lib/inputhookwx.py +yap_ipython/lib/inputhookgtk3.py +yap_ipython/lib/security.py +yap_ipython/lib/tests/test_pretty.py +yap_ipython/lib/tests/test_security.py +yap_ipython/lib/tests/test_backgroundjobs.py +yap_ipython/lib/tests/test_deepreload.py +yap_ipython/lib/tests/test_imports.py +yap_ipython/lib/tests/test_display.py +yap_ipython/lib/tests/test_clipboard.py +yap_ipython/lib/tests/__init__.py +yap_ipython/lib/tests/test_lexers.py +yap_ipython/lib/tests/test_latextools.py +yap_ipython/lib/tests/test_editorhooks.py +yap_ipython/lib/__init__.py +yap_ipython/lib/display.py +yap_ipython/lib/inputhookqt4.py +yap_ipython/lib/pretty.py +yap_ipython/lib/deepreload.py +yap_ipython/lib/inputhook.py +yap_ipython/lib/clipboard.py +yap_ipython/lib/demo.py +yap_ipython/lib/editorhooks.py +yap_ipython/lib/backgroundjobs.py +yap_ipython/lib/lexers.py +yap_ipython/consoleapp.py +yap_ipython/external/mathjax.py +yap_ipython/external/decorators/__init__.py +yap_ipython/external/decorators/_decorators.py +yap_ipython/external/decorators/_numpy_testing_noseclasses.py +yap_ipython/external/__init__.py +yap_ipython/external/qt_loaders.py +yap_ipython/external/qt_for_kernel.py +yap_ipython/parallel.py +yap_ipython/__main__.py +yap_ipython/kernel/clientabc.py +yap_ipython/kernel/threaded.py +yap_ipython/kernel/multikernelmanager.py +yap_ipython/kernel/connect.py +yap_ipython/kernel/adapter.py +yap_ipython/kernel/client.py +yap_ipython/kernel/kernelspec.py +yap_ipython/kernel/__init__.py +yap_ipython/kernel/managerabc.py +yap_ipython/kernel/kernelspecapp.py +yap_ipython/kernel/channelsabc.py +yap_ipython/kernel/launcher.py +yap_ipython/kernel/channels.py +yap_ipython/kernel/restarter.py +yap_ipython/kernel/__main__.py +yap_ipython/kernel/manager.py +__main__.py ) set (EXTRAS MANIFEST.in YAP_KERNEL.md setup.py setup.cfg README.md ) @@ -311,16 +420,18 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolo foreach(f ${FILES}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${f} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${f} ${CMAKE_CURRENT_BINARY_DIR}/${f} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${f} ${CMAKE_CURRENT_BINARY_DIR}/${f} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${f} ) list(APPEND OUTS ${CMAKE_CURRENT_BINARY_DIR}/${f} ) endforeach() + + add_custom_target(YAP_KERNEL ALL - COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist + COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${OUTS} + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${OUTS} YAP4PY ) @@ -331,4 +442,4 @@ add_custom_target(YAP_KERNEL ALL OUTPUT_VARIABLE setupOut WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") - install(FILES ${PL_SOURCES} DESTINATION ${libpl} ) + install(FILES ${PL_SOURCES} DESTINATION ${libpl} ) diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 70673485d..8deaa286f 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -567,8 +567,8 @@ class YAPRun: pg = jupyter_query( self, program, squery) self.query = self.yapeng.query(pg) self.answers = [] - self.port = "call" - self.answer = {} + self.port = "call" + self.answer = {} while self.query.next(): #sys.stderr.write('B '+str( self.answer) +'\n') #sys.stderr.write('C '+ str(self.port) +'\n'+'\n') @@ -578,9 +578,11 @@ class YAPRun: if self.port == "exit": self.os = None sys.stderr.write('Done, with'+str(self.answers)+'\n') - return True,self.bindings + self.result.result = True,self.bindings + return self.result if stop or howmany == self.iterations: - return True, self.answers + self.result.result = True, self.answers + return self.result if found: sys.stderr.write('Done, with '+str(self.answers)+'\n') else: @@ -588,11 +590,13 @@ class YAPRun: self.query.close() self.query = None sys.stderr.write('Fail\n') - return True,self.bindings + self.result.result = True,self.bindings + return self.result except Exception as e: sys.stderr.write('Exception '+str(e)+' after '+str( self.bindings)+ '\n') has_raised = True - return False,[] + self.result.result = False + return self.result def _yrun_cell(self, raw_cell, store_history=True, silent=False, @@ -720,8 +724,8 @@ class YAPRun: cell = "" else: body = txt0[1]+'\n'+txt0[2] - self.shell.run_cell_magic(magic, line, body) - cell = "" + self.result = True, self.shell.run_cell_magic(magic, line, body) + return self.result # Give the displayhook a reference to our ExecutionResult so it # can fill in the output value. self.shell.displayhook.exec_result = self.result diff --git a/pl/top.yap b/pl/top.yap index 9915e846d..c89113430 100644 --- a/pl/top.yap +++ b/pl/top.yap @@ -338,8 +338,8 @@ live :- CP is '$last_choice_pt', '$current_choice_point'(NCP1), attributes:delayed_goals(G, V, NV, LGs), - '$current_choice_point'(NCP2), '$clean_ifcp'(CP), + '$current_choice_point'(NCP2), NCP is NCP2-NCP1 ; copy_term_nat(V, NV), From bf712034a906bbd084afde7d6fd01ef7a669a1a4 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 27 Jul 2018 11:11:04 +0100 Subject: [PATCH 16/57] jupyter --- H/ATOMS | 2 + H/generated/iatoms.h | 2 + H/generated/ratoms.h | 2 + H/generated/tatoms.h | 3 + misc/editors/prolog.js | 10 +- misc/editors/yap.js | 174 ++++++++---------- packages/python/pl2py.c | 23 ++- packages/python/py4yap.h | 22 +-- packages/python/pybips.c | 127 ++++++++----- packages/python/pyio.c | 40 ++-- packages/python/pypreds.c | 117 +++++++----- packages/python/python.c | 5 +- packages/python/python.pl | 2 +- packages/python/yap_kernel/CMakeLists.txt | 14 +- .../yap_kernel/yap_ipython/prolog/jupyter.yap | 6 +- .../python/yap_kernel/yap_ipython/yapi.py | 17 +- pl/consult.yap | 6 +- pl/preds.yap | 10 +- 18 files changed, 333 insertions(+), 249 deletions(-) diff --git a/H/ATOMS b/H/ATOMS index b22adcf6e..1ff435a26 100644 --- a/H/ATOMS +++ b/H/ATOMS @@ -37,6 +37,7 @@ A BeginCurlyBracket N "{" A EndCurlyBracket N "}" A EmptyBrackets N "()" A EmptySquareBrackets N "[]" +A As N "as" A Asserta N "asserta" A AssertaStatic N "asserta_static" A Assertz N "assertz" @@ -458,6 +459,7 @@ F Arg Arg 3 F ArrayEntry ArrayAccess 3 F Arrow Arrow 2 F DoubleArrow DoubleArrow 2 +F As As 2 F Assert1 Assert 1 F Assert Assert 2 F AtFoundOne FoundVar 2 diff --git a/H/generated/iatoms.h b/H/generated/iatoms.h index 0a9574170..7616134c7 100644 --- a/H/generated/iatoms.h +++ b/H/generated/iatoms.h @@ -32,6 +32,7 @@ AtomEndCurlyBracket = Yap_LookupAtom("}"); TermEndCurlyBracket = MkAtomTerm(AtomEndCurlyBracket); AtomEmptyBrackets = Yap_LookupAtom("()"); TermEmptyBrackets = MkAtomTerm(AtomEmptyBrackets); AtomEmptySquareBrackets = Yap_LookupAtom("[]"); TermEmptySquareBrackets = MkAtomTerm(AtomEmptySquareBrackets); + AtomAs = Yap_LookupAtom("as"); TermAs = MkAtomTerm(AtomAs); AtomAsserta = Yap_LookupAtom("asserta"); TermAsserta = MkAtomTerm(AtomAsserta); AtomAssertaStatic = Yap_LookupAtom("asserta_static"); TermAssertaStatic = MkAtomTerm(AtomAssertaStatic); AtomAssertz = Yap_LookupAtom("assertz"); TermAssertz = MkAtomTerm(AtomAssertz); @@ -453,6 +454,7 @@ FunctorArrayEntry = Yap_MkFunctor(AtomArrayAccess,3); FunctorArrow = Yap_MkFunctor(AtomArrow,2); FunctorDoubleArrow = Yap_MkFunctor(AtomDoubleArrow,2); + FunctorAs = Yap_MkFunctor(AtomAs,2); FunctorAssert1 = Yap_MkFunctor(AtomAssert,1); FunctorAssert = Yap_MkFunctor(AtomAssert,2); FunctorAtFoundOne = Yap_MkFunctor(AtomFoundVar,2); diff --git a/H/generated/ratoms.h b/H/generated/ratoms.h index e62054f43..8e999c339 100644 --- a/H/generated/ratoms.h +++ b/H/generated/ratoms.h @@ -32,6 +32,7 @@ AtomEndCurlyBracket = AtomAdjust(AtomEndCurlyBracket); TermEndCurlyBracket = MkAtomTerm(AtomEndCurlyBracket); AtomEmptyBrackets = AtomAdjust(AtomEmptyBrackets); TermEmptyBrackets = MkAtomTerm(AtomEmptyBrackets); AtomEmptySquareBrackets = AtomAdjust(AtomEmptySquareBrackets); TermEmptySquareBrackets = MkAtomTerm(AtomEmptySquareBrackets); + AtomAs = AtomAdjust(AtomAs); TermAs = MkAtomTerm(AtomAs); AtomAsserta = AtomAdjust(AtomAsserta); TermAsserta = MkAtomTerm(AtomAsserta); AtomAssertaStatic = AtomAdjust(AtomAssertaStatic); TermAssertaStatic = MkAtomTerm(AtomAssertaStatic); AtomAssertz = AtomAdjust(AtomAssertz); TermAssertz = MkAtomTerm(AtomAssertz); @@ -453,6 +454,7 @@ FunctorArrayEntry = FuncAdjust(FunctorArrayEntry); FunctorArrow = FuncAdjust(FunctorArrow); FunctorDoubleArrow = FuncAdjust(FunctorDoubleArrow); + FunctorAs = FuncAdjust(FunctorAs); FunctorAssert1 = FuncAdjust(FunctorAssert1); FunctorAssert = FuncAdjust(FunctorAssert); FunctorAtFoundOne = FuncAdjust(FunctorAtFoundOne); diff --git a/H/generated/tatoms.h b/H/generated/tatoms.h index 58a1bb479..c1b5bd3f1 100644 --- a/H/generated/tatoms.h +++ b/H/generated/tatoms.h @@ -32,6 +32,7 @@ X_API EXTERNAL Atom AtomBeginCurlyBracket; X_API EXTERNAL Term TermBeginCurlyBra X_API EXTERNAL Atom AtomEndCurlyBracket; X_API EXTERNAL Term TermEndCurlyBracket; X_API EXTERNAL Atom AtomEmptyBrackets; X_API EXTERNAL Term TermEmptyBrackets; X_API EXTERNAL Atom AtomEmptySquareBrackets; X_API EXTERNAL Term TermEmptySquareBrackets; +X_API EXTERNAL Atom AtomAs; X_API EXTERNAL Term TermAs; X_API EXTERNAL Atom AtomAsserta; X_API EXTERNAL Term TermAsserta; X_API EXTERNAL Atom AtomAssertaStatic; X_API EXTERNAL Term TermAssertaStatic; X_API EXTERNAL Atom AtomAssertz; X_API EXTERNAL Term TermAssertz; @@ -461,6 +462,8 @@ X_API EXTERNAL Functor FunctorArrow; X_API EXTERNAL Functor FunctorDoubleArrow; +X_API EXTERNAL Functor FunctorAs; + X_API EXTERNAL Functor FunctorAssert1; X_API EXTERNAL Functor FunctorAssert; diff --git a/misc/editors/prolog.js b/misc/editors/prolog.js index f8d172812..566b3851b 100644 --- a/misc/editors/prolog.js +++ b/misc/editors/prolog.js @@ -3,9 +3,9 @@ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); + mod(require("codemirror/lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); + define(["codemirror/lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { @@ -23,12 +23,13 @@ *******************************/ var config = { quasiQuotations: false, /* {|Syntax||Quotation|} */ + indot: true, /* a.b */ dicts: false, /* tag{k:v, ...} */ unicodeEscape: true, /* \uXXXX and \UXXXXXXXX */ multiLineQuoted: true, /* "...\n..." */ groupedIntegers: false /* 10 000 or 10_000 */ }; - +v var quoteType = { '"': "string", "'": "qatom", "`": "bqstring" @@ -1216,8 +1217,7 @@ token: function(stream, state) { var nest; - if ( state.curTerm == null && mode - Config.metainfo ) { + if ( state.curTerm == null && modeConfig.metainfo ) { state.curTerm = 0; state.curToken = 0; } diff --git a/misc/editors/yap.js b/misc/editors/yap.js index 0e7cb9d91..0f4fc999e 100644 --- a/misc/editors/yap.js +++ b/misc/editors/yap.js @@ -1,3 +1,6 @@ + + + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -11,7 +14,7 @@ else // Plain browser env })(function(CodeMirror) { "use strict"; -CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { + CodeMirror.defineMode("prolog", function(conf, parserConfig) { function chain(stream, state, f) { state.tokenize = f; @@ -19,18 +22,18 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } /******************************* - * CONFIG DATA * + * CONFIG DATA * *******************************/ - var config = { - quasiQuotations : false, /* {|Syntax||Quotation|} */ - dicts : false, /* tag{k:v, ...} */ - unicodeEscape : true, /* \uXXXX and \UXXXXXXXX */ - multiLineQuoted : true, /* "...\n..." */ - groupedIntegers : false /* 10 000 or 10_000 */ - }; - - var quoteType = {'"' : "string", "'" : "qatom", "`" : "bqstring"}; + var quasiQuotations = + parserConfig.quasiQuotations || false; /* {|Syntax||Quotation|} */ + var dicts = parserConfig.dicts || false; /* tag{k:v, ...} */ + var groupedIntegers = parserConfig.groupedIntegers || false; /* tag{k:v, ...} */ + var unicodeEscape = + parserConfig.unicodeEscape || true; /* \uXXXX and \UXXXXXXXX */ + var multiLineQuoted = parserConfig.multiLineQuoted || true; /* "...\n..." */ + var quoteType = parserConfig.quoteType || + {'"' : "string", "'" : "qatom", "`" : "bqstring"}; var isSingleEscChar = /[abref\\'"nrtsv]/; var isOctalDigit = /[0-7]/; @@ -42,7 +45,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { var isControlOp = /^(,|;|->|\*->|\\+|\|)$/; /******************************* - * CHARACTER ESCAPES * + * CHARACTER ESCAPES * *******************************/ function readDigits(stream, re, count) { @@ -64,11 +67,11 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { return true; switch (next) { case "u": - if (config.unicodeEscape) - return readDigits(stream, isHexDigit, 4); /* SWI */ + if (unicodeEscape) + return readDigits(stream, isHexDigit, conf.indentUnit); /* SWI */ return false; case "U": - if (config.unicodeEscape) + if (unicodeEscape) return readDigits(stream, isHexDigit, 8); /* SWI */ return false; case null: @@ -101,11 +104,11 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { return false; } } - return config.multiLineQuoted; + return multiLineQuoted; } /******************************* - * CONTEXT NESTING * + * CONTEXT NESTING * *******************************/ function nesting(state) { return state.nesting.slice(-1)[0]; } @@ -126,7 +129,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { var nest = nesting(state); if (nest && !nest.alignment && nest.arg != undefined) { if (nest.arg == 0) - nest.alignment = nest.leftCol ? nest.leftCol + 4 : nest.column + 4; + nest.alignment = nest.leftCol ? nest.leftCol + conf.indentUnit : nest.column + conf.indentUnit; else nest.alignment = nest.column + 1; } @@ -158,10 +161,10 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // Used as scratch variables to communicate multiple values without // consing up tons of objects. - var type, content; + var type;//, content; function ret(tp, style, cont) { type = tp; - content = cont; + // content = cont; return style; } @@ -172,7 +175,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } /******************************* - * SUB TOKENISERS * + * SUB TOKENISERS * *******************************/ function plTokenBase(stream, state) { @@ -192,7 +195,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { state.nesting.push({ type : "control", closeColumn : stream.column(), - alignment : stream.column() + 4 + alignment : stream.column() + conf.indentUnit }); } return ret("solo", null, "("); @@ -258,7 +261,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { return ret("list_open", "bracket"); break; case "{": - if (config.quasiQuotations && stream.eat("|")) { + if (quasiQuotations && stream.eat("|")) { state.nesting.push( {type : "quasi-quotation", alignment : stream.column() + 1}); return ret("qq_open", "bracket"); @@ -272,7 +275,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } break; case "|": - if (config.quasiQuotations) { + if (quasiQuotations) { if (stream.eat("|")) { state.tokenize = plTokenQuasiQuotation; return ret("qq_sep", "bracket"); @@ -314,7 +317,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } if (/\d/.test(ch) || /[+-]/.test(ch) && stream.eat(/\d/)) { - if (config.groupedIntegers) + if (groupedIntegers) stream.match(/^\d*((_|\s+)\d+)*(?:\.\d+)?(?:[eE][+\-]?\d+)?/); else stream.match(/^\d*(?:\.\d+)?(?:[eE][+\-]?\d+)?/); @@ -342,8 +345,9 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } stream.eatWhile(/[\w_]/); - var word = stream.current(), extra = ""; - if (stream.peek() == "{" && config.dicts) { + var word = stream.current(); + var extra = ""; + if (stream.peek() == "{" && dicts) { state.tagName = word; /* tmp state extension */ state.tagColumn = stream.column(); return ret("tag", "tag", word); @@ -407,7 +411,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } return ret("functor", "atom", word); } - if (stream.peek() == "{" && config.dicts) { /* 'quoted tag'{} */ + if (stream.peek() == "{" && dicts) { /* 'quoted tag'{} */ var word = stream.current(); state.tagName = word; /* tmp state extension */ return ret("tag", "tag", word); @@ -443,7 +447,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { } // /******************************* - // * ACTIVE KEYS * + // * ACTIVE KEYS * // *******************************/ // /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -451,7 +455,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // Support if-then-else layout like this: // goal :- - // ( Condition + // ( Condition // -> IfTrue // ; IfFalse // ). @@ -464,7 +468,7 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // if ( token.state.goalStart == true ) // { cm.replaceSelection("( ", "end"); - // return; + // return; // } // return CodeMirror.Pass; @@ -475,32 +479,32 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // var token = cm.getTokenAt(start, true); // /* FIXME: These functions are copied from prolog.js. How - // can we reuse these? + // can we reuse these? // */ // function nesting(state) { - // var len = state.nesting.length; - // if ( len > 0 ) - // return state.nesting[len-1]; - // return null; + // var len = state.nesting.length; + // if ( len > 0 ) + // return state.nesting[len-1]; + // return null; // } - // function isControl(state) { /* our terms are goals */ - // var nest = nesting(state); - // if ( nest ) { - // if ( nest.type == "control" ) { - // return true; - // } - // return false; - // } else - // return state.inBody; + // function isControl(state) { /* our terms are goals */ + // var nest = nesting(state); + // if ( nest ) { + // if ( nest.type == "control" ) { + // return true; + // } + // return false; + // } else + // return state.inBody; // } // if ( start.ch == token.end && - // token.type == "operator" && - // token.string == "-" && - // isControl(token.state) ) + // token.type == "operator" && + // token.string == "-" && + // isControl(token.state) ) // { cm.replaceSelection("> ", "end"); - // return; + // return; // } // return CodeMirror.Pass; @@ -511,9 +515,9 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // var token = cm.getTokenAt(start, true); // if ( token.start == 0 && start.ch == token.end && - // !/\S/.test(token.string) ) + // !/\S/.test(token.string) ) // { cm.replaceSelection("; ", "end"); - // return; + // return; // } // return CodeMirror.Pass; @@ -521,15 +525,15 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { // CodeMirror.defineOption("prologKeys", null, function(cm, val, prev) { // if (prev && prev != CodeMirror.Init) - // cm.removeKeyMap("prolog"); + // cm.removeKeyMap("prolog"); // if ( val ) { - // var map = { name: "prolog", - // "'('": "prologStartIfThenElse", - // "'>'": "prologStartThen", - // "';'": "prologStartElse", - // "Ctrl-L": "refreshHighlight" - // }; - // cm.addKeyMap(map); + // var map = { name: "prolog", + // "'('": "prologStartIfThenElse", + // "'>'": "prologStartThen", + // "';'": "prologStartElse", + // "Ctrl-L": "refreshHighlight" + // }; + // cm.addKeyMap(map); // } // }); @@ -606,32 +610,6 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { "\\" : {p : 200, t : "fy"} }; - var translType = { - "comment" : "comment", - "var" : "variable-2", /* JavaScript Types */ - "atom" : "atom", - "qatom" : "atom", - "bqstring" : "string", - "symbol" : "keyword", - "functor" : "keyword", - "tag" : "tag", - "number" : "number", - "string" : "string", - "code" : "number", - "neg-number" : "number", - "pos-number" : "number", - "list_open" : "bracket", - "list_close" : "bracket", - "qq_open" : "bracket", - "qq_sep" : "operator", - "qq_close" : "bracket", - "dict_open" : "bracket", - "dict_close" : "bracket", - "brace_term_open" : "bracket", - "brace_term_close" : "bracket", - "neck" : "keyword", - "fullstop" : "keyword" - }; var builtins = { "C" : "prolog", @@ -1181,10 +1159,10 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { }; /******************************* - * RETURN OBJECT * + * RETURN OBJECT * *******************************/ - return { + var external = { startState : function() { return { tokenize : plTokenBase, @@ -1232,30 +1210,32 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { if (builtins[state.curToken] == "prolog") return "builtin"; - //if (ops[state.curToken]) - // return "operator"; + if (ops[state.curToken]) + return "operator"; //if (typeof(parserConfig.enrich) == "function") // style = parserConfig.enrich(stream, state, type, content, style); - + return style; - + }, - + indent : function(state, textAfter) { if (state.tokenize == plTokenComment) return CodeMirror.Pass; - + var nest; if ((nest = nesting(state))) { if (nest.closeColumn && !state.commaAtEOL) return nest.closeColumn; + if ( (textAfter === ']' || textAfter === ')') && nest.control) + return nest.alignment-1; return nest.alignment; } - if (!state.inBody) - return 0; + if (!state.inBody) + return 0; - return 4; + return conf.indentUnit; }, // theme: "prolog", @@ -1264,7 +1244,9 @@ CodeMirror.defineMode("prolog", function(cm_config, parserConfig) { blockCommentEnd : "*/", blockCommentContinue : " * ", lineComment : "%", + fold : "indent" }; + return external; }); diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index c7aec2971..feb1ae579 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -14,7 +14,22 @@ PyObject *YE(term_t t, int line, const char *file, const char *code) { return NULL; } -void YEM(const char *exp, int line, const char *file, const char *code) { +PyObject *YEC(PyObject *f, PyObject *a, PyObject *d, int line, const char *file, const char *code) { + + fprintf(stderr, "**** Warning,%s@%s:%d: failed on Python call \n", code, + file, line); + if (f) + PyObject_Print(f, stderr, 0); + else + fprintf(stderr,""); + if (a) + PyObject_Print(a, stderr, 0); + if (a) + PyObject_Print(a, stderr, 0); + fprintf(stderr,"\n"); + return NULL; +} + void YEM(const char *exp, int line, const char *file, const char *code) { fprintf(stderr, "**** Warning,%s@%s:%d: failed while executing %s\n", code, file, line, exp); } @@ -188,7 +203,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { Term t0 = Yap_GetFromHandle(t); Term *tail; size_t len, i; - if ((len = Yap_SkipList(&t0, &tail)) >= 0 && *tail == TermNil) { + if ((len = Yap_SkipList(&t0, &tail)) > 0 && *tail == TermNil) { PyObject *out, *a; out = PyList_New(len); @@ -205,10 +220,10 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } return out; } else { - PyObject *no = find_obj(o, t, false); + PyObject *no = find_term_obj(o, &t0, false); if (no == o) return NULL; - return term_to_python(t, eval, no, cvt); + return yap_to_python(t0, eval, no, cvt); } } else { { diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index 2c8eb27b8..891eb1e98 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -5,7 +5,6 @@ #ifndef PY4YAP_H #define PY4YAP_H 1 - #define PASS_REGS #define USES_REGSg @@ -42,7 +41,7 @@ PyObject *find_obj(PyObject *ob, term_t lhs, bool eval); -#if DEBUG_MEMORY||1 +#if DEBUG_MEMORY || 1 #define DebugPrintf(s, op) fprintf(stderr, "%s:%d: " s, __FILE__, __LINE__, op) #else #define DebugPrintf(s, op) @@ -63,15 +62,14 @@ extern X_API PyObject *yap_to_python(YAP_Term t, bool eval, PyObject *o, bool cvt); extern X_API PyObject *string_to_python(const char *s, bool eval, PyObject *p0); typedef YAP_Arity arity_t; -extern bool init_python_vfs(void); +extern bool init_python_vfs(void); - - extern atom_t ATOM_true, ATOM_false, ATOM_colon, ATOM_dot, ATOM_none, ATOM_t, +extern atom_t ATOM_true, ATOM_false, ATOM_colon, ATOM_dot, ATOM_none, ATOM_t, ATOM_comma, ATOM_builtin, ATOM_V, ATOM_A, ATOM_self, ATOM_nil, ATOM_brackets, ATOM_curly_brackets; -extern functor_t FUNCTOR_dollar1, FUNCTOR_abs1, FUNCTOR_all1, FUNCTOR_any1, FUNCTOR_as2, - FUNCTOR_bin1, FUNCTOR_brackets1, FUNCTOR_comma2, FUNCTOR_dir1, +extern functor_t FUNCTOR_dollar1, FUNCTOR_abs1, FUNCTOR_all1, FUNCTOR_any1, + FUNCTOR_as2, FUNCTOR_bin1, FUNCTOR_brackets1, FUNCTOR_comma2, FUNCTOR_dir1, FUNCTOR_float1, FUNCTOR_int1, FUNCTOR_iter1, FUNCTOR_iter2, FUNCTOR_long1, FUNCTOR_len1, FUNCTOR_curly1, FUNCTOR_ord1, FUNCTOR_range1, FUNCTOR_range2, FUNCTOR_range3, FUNCTOR_sum1, FUNCTOR_pointer1, FUNCTOR_complex2, @@ -147,11 +145,11 @@ static inline PyObject *atom_to_python_string(term_t t) { } } -#define CHECK_CALL(rc, t, call) \ +#define CHECK_CALL(ys, pArgs, pyDict) \ PyErr_Clear(); \ - rc = call; \ + rc = PyObject_Call(ys, pArgs, pyDict); \ if (rc == NULL || PyErr_Occurred()) { \ - YE(t, __LINE__, __FILE__, __FUNCTION__); \ + YEC(ys, pArgs, pyDict, __LINE__, __FILE__, __FUNCTION__); \ PyErr_Print(); \ PyErr_Clear(); \ } @@ -164,7 +162,8 @@ static inline PyObject *atom_to_python_string(term_t t) { YEM(#rc, __LINE__, __FILE__, __FUNCTION__); \ } -extern PyObject *YE(term_t t, int line, const char *file, const char *code); +extern PyObject *YE(term_t , int line, const char *file, const char *code); +extern PyObject *YEC(PyObject *c,PyObject *a ,PyObject *d , int line, const char *file, const char *code); extern void YEM(const char *ex, int line, const char *file, const char *code); extern void pyErrorHandler__(int line, const char *file, const char *code); @@ -209,6 +208,7 @@ X_API extern bool init_python(void); X_API extern bool loadt_python(void); X_API extern bool do_init_python(void); +extern PyObject *find_term_obj(PyObject *ob, YAP_Term *yt, bool eval); extern PyObject PyInit_yap(void); extern PyObject *PythonLookup(const char *s, PyObject *o); diff --git a/packages/python/pybips.c b/packages/python/pybips.c index aa89c596f..6719929c4 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -50,6 +50,11 @@ PyObject *PythonLookupSpecial(const char *s) { return NULL; } +static PyObject *builtin(const char *sp) { + PyObject *py_Builtin = PyEval_GetBuiltins(); + return PyDict_GetItemString(py_Builtin, sp); +} + PyObject *lookupPySymbol(const char *sp, PyObject *pContext, PyObject **duc) { PyObject *out = NULL; if (!sp) @@ -113,6 +118,22 @@ find_obj(PyObject *ob, term_t l, bool eval) { return ob; } +PyObject *find_term_obj(PyObject *ob, YAP_Term *yt, bool eval) { + YAP_Term hd; + + py_Context = NULL; + // Yap_DebugPlWriteln(yt); + while (YAP_IsPairTerm(*yt)) { + hd = YAP_HeadOfTerm(*yt); + *yt = YAP_TailOfTerm(*yt); + ob = yap_to_python(hd, true, ob, false); + if (!ob) { + return Py_None; + } + } + return ob; +} + /** * Python abs * @@ -596,7 +617,7 @@ static PyObject *structseq_str(PyObject *iobj) { for (i = 0; i < ((PyStructSequence *)obj)->ob_base.ob_size; i++) { PyObject *val, *repr; - char *crepr; + const char *crepr; val = PyStructSequence_GET_ITEM(obj, i); repr = PyObject_Str(val); @@ -659,7 +680,7 @@ static PyObject *structseq_repr(PyObject *iobj) { for (i = 0; i < ((PyStructSequence *)obj)->ob_base.ob_size; i++) { PyObject *val, *repr; - char *crepr; + const char *crepr; val = PyStructSequence_GET_ITEM(obj, i); repr = PyObject_Repr(val); @@ -710,18 +731,29 @@ static bool legal_symbol(const char *s) { } PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { - if (legal_symbol(s)) { - PyTypeObject *typp; - PyObject *key = PyUnicode_FromString(s), *d; - if (Py_f2p && (d = PyList_GetItem(Py_f2p, arity)) && - PyDict_Contains(d, key)) { - typp = (PyTypeObject *)PyDict_GetItem(d, key); - Py_INCREF(typp); + PyTypeObject *typp; + PyObject *key = PyUnicode_FromString(s), *d; + if (!legal_symbol(s)) { + + if (!Py_f2p) { + PyObject *o1; + o1 = PyTuple_New(2); + PyTuple_SET_ITEM(o1, 0, PyUnicode_FromString(s)); + PyTuple_SET_ITEM(o1, 1, tuple); + return o1; + } + size_t l = 0; + if ((l = PyList_Size(Py_f2p)) < arity) { + for (; l < arity; l++) { + PyList_Append(Py_f2p, PyDict_New()); + } + } + if ((d = PyList_GetItem(Py_f2p, arity - 1)) && PyDict_Contains(d, key)) { + typp = (PyTypeObject *)d; } else { typp = calloc(sizeof(PyTypeObject), 1); PyStructSequence_Desc *desc = calloc(sizeof(PyStructSequence_Desc), 1); desc->name = PyMem_Malloc(strlen(s) + 1); - strcpy(desc->name, s); desc->doc = "YAPTerm"; desc->fields = pnull; desc->n_in_sequence = arity; @@ -735,9 +767,7 @@ PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { // don't do this: we cannot add a type as an atribute. // PyModule_AddGObject(py_Main, s, (PyObject *)typp); if (d && !PyDict_Contains(d, key)) - PyDict_SetItem(d, key, (PyObject *)typp); - Py_INCREF(key); - Py_INCREF(typp); + PyDict_SetItem(d, key, (PyObject*)typp); } PyObject *o = PyStructSequence_New(typp); Py_INCREF(typp); @@ -751,14 +781,10 @@ PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { } //((PyStructSequence *)o)->ob_base.ob_size = arity; // PyObject_Print(o,stderr,0);fputc('\n',stderr); + Py_INCREF(o); return o; - } else { - PyObject *o1; - o1 = PyTuple_New(2); - PyTuple_SET_ITEM(o1, 0, PyUnicode_FromString(s)); - PyTuple_SET_ITEM(o1, 1, tuple); - return o1; } + return NULL; } static PyObject *bip_range(term_t t) { @@ -959,11 +985,10 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { if (PySequence_Check(lhs) && PySequence_Check(rhs)) { return PySequence_Concat(lhs, rhs); } - if (!PyNumber_Check(lhs)) - return NULL; - if (!PyNumber_Check(rhs)) - return NULL; - return PyNumber_Add(lhs, rhs); + if (PyNumber_Check(lhs) && PyNumber_Check(rhs)) + return PyNumber_Add(lhs, rhs); + PyObject_Print(builtin("+"), stderr, 0); + return PyObject_CallFunctionObjArgs(builtin("+"), lhs, rhs, NULL); } else if (fun == FUNCTOR_sub2) { term_t targ = PL_new_term_ref(); PyObject *lhs, *rhs; @@ -971,19 +996,18 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { if (!PL_get_arg(1, t, targ)) return NULL; lhs = term_to_python(targ, true, NULL, true); - if (!PyNumber_Check(lhs)) - return NULL; if (!PL_get_arg(2, t, targ)) return NULL; rhs = term_to_python(targ, true, NULL, true); - if (!PyNumber_Check(rhs)) - return NULL; - return PyNumber_Subtract(lhs, rhs); + if (PyNumber_Check(rhs) && PyNumber_Check(lhs)) + return PyNumber_Subtract(lhs, rhs); + return PyObject_CallFunctionObjArgs(builtin("-"), lhs, rhs, NULL); } else if (fun == FUNCTOR_mul2) { term_t targ = PL_new_term_ref(); PyObject *lhs, *rhs; AOK(PL_get_arg(1, t, targ), NULL); + /* YAP_DebugPlWriteln(YAP_GetTermSlot(arg)); */ (lhs = term_to_python(targ, true, NULL, true)); CHECKNULL(targ, lhs); AOK(PL_get_arg(2, t, targ), NULL); @@ -996,9 +1020,9 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { PyLong_Check(rhs))) { return PySequence_Repeat(lhs, get_p_int(rhs, 0)); } - if (!PyNumber_Check(lhs) + !PyNumber_Check(rhs)) - return NULL; - return PyNumber_Multiply(lhs, rhs); + if (PyNumber_Check(lhs) && PyNumber_Check(rhs)) + return PyNumber_Multiply(lhs, rhs); + return PyObject_CallFunctionObjArgs(builtin("*"), lhs, rhs, NULL); } if (!arity) { char *s = NULL; @@ -1006,7 +1030,6 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { AOK(PL_get_atom_chars(t, &s), NULL); PyObject_Print(o, stderr, 0); pValue = PyObject_GetAttrString(o, s); - PyObject_Print(pValue, stderr, 0); if (CHECKNULL(t, pValue) == NULL) { PyErr_Print(); return NULL; @@ -1014,12 +1037,32 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { return pValue; } else { char *s = PL_atom_chars(name); + if (!strcmp(s,"t")) { + YAP_Term tt = YAP_GetFromSlot(t), tleft; + int i; + PyObject *rc = PyTuple_New(arity); + PyObject *pArg; + for (i=0;i 0; i--) { PyObject *pArg; AOK(PL_get_arg(i, t, tleft), NULL); @@ -1037,8 +1080,8 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { pArgs = PyTuple_New(i); } } - fprintf(stderr, "Tuple %p: %s\n", pyDict, - PyUnicode_AsUTF8(PyObject_Str(pyDict))); + // fprintf(stderr, "Tuple %p: %s\n", pyDict, + // PyUnicode_AsUTF8(PyObject_Str(pyDict))); if (!indict) { if (PL_is_variable(tleft)) { pArg = Py_None; @@ -1056,23 +1099,23 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { } } - if (indict) { + if (pArgs == Py_None) { pArgs = PyTuple_New(0); } PyObject *rc; if (ys && PyCallable_Check(ys)) { - PyObject_Print(ys, stderr, 0); - PyObject_Print(pArgs, stderr, 0); - PyObject_Print(pyDict, stderr, 0); + // PyObject_Print(ys, stderr, 0); + // PyObject_Print(pArgs, stderr, 0); + // PyObject_Print(pyDict, stderr, 0); // PyObject_Print(pArgs, stderr, 0); // PyObject_Print(o, stderr, 0); - CHECK_CALL(rc, t, PyObject_Call(ys, pArgs, pyDict)); + CHECK_CALL(ys, pArgs, pyDict); Py_DECREF(pArgs); Py_DECREF(ys); - PyObject_Print(rc, stderr, 0); - DebugPrintf("CallObject %p\n", rc); + // PyObject_Print(rc, stderr, 0); + // DebugPrintf("CallObject %p\n", rc); } else { rc = term_to_nametuple(s, arity, pArgs); } diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 28aa622e3..4f000c12a 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -127,28 +127,26 @@ static bool py_close(int sno) { return true; } -static bool getLine(StreamDesc *rl_iostream, int sno) { - char *myrl_line = NULL; - // term_t ctk = python_acquire_GIL(); - PyObject *readl = - PythonLookup("input", Py_None); - PyObject_Print(readl, stderr, 0);fprintf(stderr," input\n"); - - PyObject *user_inp = PyObject_CallFunction(readl,NULL); - PyObject_Print(user_inp, stderr, 0);fprintf(stderr," input\n"); - myrl_line = PyUnicode_AsUTF8(user_inp); - //PyObject_Print(myrl_line, stderr, 0);fprintf(stderr," myrl_line\n"); - // python_release_GIL(ctk); +static bool pygetLine(StreamDesc *rl_iostream, int sno) { + // term_t ctk = python_acquire_GIL(); + const char *myrl_line; + StreamDesc *s = YAP_GetStreamFromId(sno); + //term_t tg = python_acquire_GIL(); + PyObject *readl = PyObject_GetAttrString(s->u.private_data, "readline"); + PyObject *user_inp = PyObject_CallFunction(readl, NULL); + myrl_line = PyUnicode_AsUTF8(user_inp); + if (myrl_line == NULL) + return NULL; PyObject *err; if ((err = PyErr_Occurred())) { + + if (PyErr_GivenExceptionMatches(err, PyExc_EOFError)) + return NULL; PyErr_SetString(err, "Error in getLine\n"); Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); } - size_t size = strlen(myrl_line) + 1; - rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = - (const unsigned char *)malloc(size); - memmove((void *)rl_iostream->u.irl.buf, myrl_line, size); + rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = myrl_line; return true; } @@ -158,16 +156,14 @@ static int py_getc(int sno) { bool fetch = (s->u.irl.buf == NULL); if (fetch) { - if (!getLine(s, sno)) { + if (!pygetLine(s, sno)) { return EOF; } } - const unsigned char *ttyptr = s->u.irl.ptr++, *myrl_line = s->u.irl.buf; + const unsigned char *ttyptr = s->u.irl.ptr++; ch = *ttyptr; if (ch == '\0') { - ch = '\n'; - free((void *)myrl_line); - s->u.irl.ptr = s->u.irl.buf = NULL; + ch = 10; } return ch; } @@ -192,7 +188,7 @@ static int py_peek(int sno) { } return ch; } - if (getLine(s, sno)) { + if (pygetLine(s, sno)) { ch = s->u.irl.ptr[0]; if (ch == '\0') { ch = '\n'; diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 2a2d3b465..903867fdf 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -7,12 +7,14 @@ PyObject *py_Main; void pyErrorHandler__(int line, const char *file, const char *code) { // this code is called if a Python error is found. - //int lvl = push_text_stack(); + // int lvl = push_text_stack(); PyObject *type, *val; // PyErr_Fetch(&type, &val, NULL); // PyErr_Print(); - // Yap_ThrowError__(file,code,line,0, SYSTEM_ERROR_RUNTIME_PYTHON ,"Python Error %s: %s",PyUnicode_AsUTF8(PyObject_Str(type)), PyUnicode_AsUTF8(PyObject_Str(val))); - }; + // Yap_ThrowError__(file,code,line,0, SYSTEM_ERROR_RUNTIME_PYTHON ,"Python + // Error %s: %s",PyUnicode_AsUTF8(PyObject_Str(type)), + // PyUnicode_AsUTF8(PyObject_Str(val))); +}; static foreign_t python_len(term_t tobj, term_t tf) { Py_ssize_t len; @@ -30,7 +32,6 @@ static foreign_t python_clear_errors(void) { return true; } - static foreign_t python_dir(term_t tobj, term_t tf) { PyObject *dir; PyObject *o; @@ -115,7 +116,9 @@ static foreign_t python_slice(term_t parent, term_t indx, term_t tobj) { p = term_to_python(parent, true, NULL, true); // Exp if (!pI || !p) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } else if ((pF = PySequence_GetSlice(p, 0, 0)) == NULL) { PyErr_Print(); { pyErrorAndReturn(false); } @@ -143,14 +146,18 @@ static foreign_t python_apply(term_t tin, term_t targs, term_t keywds, pF = term_to_python(tin, true, NULL, true); PyErr_Clear(); if (pF == NULL) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } if (PL_is_atom(targs)) { pArgs = NULL; } else { if (!PL_get_name_arity(targs, &aname, &arity)) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } if (arity == 1 && PL_get_arg(1, targs, targ) && PL_is_variable(targ)) { /* ignore (_) */ @@ -277,7 +284,7 @@ static foreign_t python_builtin_eval(term_t caller, term_t dict, term_t out) { Py_DECREF(pI); if (pOut == NULL) { PyErr_Print(); - { pyErrorAndReturn(false); } + { pyErrorAndReturn(false); } } { foreign_t rc = address_to_term(pOut, out); @@ -306,10 +313,12 @@ static foreign_t python_access(term_t obj, term_t f, term_t out) { { pyErrorAndReturn(false); } } Py_INCREF(pValue); - { pyErrorAndReturn(python_to_term(pValue, out) ); } + { pyErrorAndReturn(python_to_term(pValue, out)); } } if (!PL_get_name_arity(f, &name, &arity)) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } s = PL_atom_chars(name); if (!s) { @@ -342,7 +351,9 @@ static foreign_t python_access(term_t obj, term_t f, term_t out) { Py_DECREF(pArgs); Py_DECREF(pF); if (pValue == NULL) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } { pyErrorAndReturn(python_to_term(pValue, out)); } } @@ -354,7 +365,9 @@ static foreign_t python_field(term_t parent, term_t att, term_t tobj) { int arity; if (!PL_get_name_arity(att, &name, &arity)) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } else { PyObject *p; @@ -363,7 +376,9 @@ static foreign_t python_field(term_t parent, term_t att, term_t tobj) { p = term_to_python(parent, true, NULL, true); // Exp if (!PL_get_name_arity(att, &name, &arity)) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } s = PL_atom_chars(name); if (arity == 1 && !strcmp(s, "()")) { @@ -371,12 +386,16 @@ static foreign_t python_field(term_t parent, term_t att, term_t tobj) { pyErrorAndReturn(false); } if (!PL_get_name_arity(att, &name, &arity)) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } s = PL_atom_chars(name); } if (!s || !p) { - { pyErrorAndReturn(false); } + { + pyErrorAndReturn(false); + } } else if ((pF = PyObject_GetAttrString(p, s)) == NULL) { PyErr_Clear(); { pyErrorAndReturn(false); } @@ -548,43 +567,43 @@ static int python_import(term_t mname, term_t mod) { char s0[MAXPATHLEN], *s = s0; s[0] = '\0'; - const char*sn, *as; + const char *sn, *as = NULL; Term t = Deref(ARG1), sm; if (IsApplTerm(t)) { Functor f = FunctorOfTerm(t); - if (f != Yap_MkFunctor(Yap_LookupAtom("as"),2)) + if (f != FunctorAs) return false; do_as = true; - sm = ArgOfTerm(2,t); + sm = ArgOfTerm(2, t); if (IsAtomTerm(sm)) as = RepAtom(AtomOfTerm(sm))->StrOfAE; else if (IsStringTerm(sm)) as = StringOfTerm(sm); else return false; - t = ArgOfTerm(1,t); + t = ArgOfTerm(1, t); } while (IsPairTerm(t)) { - Term ti = HeadOfTerm(t); + Term ti = HeadOfTerm(t); t = TailOfTerm(t); - if (IsAtomTerm(ti)) + if (IsAtomTerm(ti)) sn = RepAtom(AtomOfTerm(ti))->StrOfAE; else if (IsStringTerm(ti)) sn = StringOfTerm(ti); else return false; - strcat(s,sn); - strcat(s,"."); + strcat(s, sn); + strcat(s, "."); } sm = t; - if (IsAtomTerm(sm)) - sn = RepAtom(AtomOfTerm(sm))->StrOfAE; - else if (IsStringTerm(sm)) - sn = StringOfTerm(sm); - else - return false; - strcat(s,sn); - term_t t0 = python_acquire_GIL(); + if (IsAtomTerm(sm)) + sn = RepAtom(AtomOfTerm(sm))->StrOfAE; + else if (IsStringTerm(sm)) + sn = StringOfTerm(sm); + else + return false; + strcat(s, sn); + term_t t0 = python_acquire_GIL(); #if PY_MAJOR_VERSION < 3 pName = PyString_FromString(s0); #else @@ -599,16 +618,17 @@ static int python_import(term_t mname, term_t mod) { Py_XDECREF(pName); if (pModule == NULL) { - python_release_GIL(t0); + python_release_GIL(t0); pyErrorAndReturn(false); } { foreign_t rc = address_to_term(pModule, mod); - if (do_as && PyObject_SetAttrString(py_Main, sn, pModule) <0) - return false; - python_release_GIL(t0); + if (do_as) { + PyObject_SetAttrString(py_Main, as, pModule); + } + python_release_GIL(t0); pyErrorAndReturn(rc); } } @@ -674,26 +694,25 @@ term_t python_acquire_GIL(void) { } bool python_release_GIL(term_t curBlock) { - int gstateix; - gstatei--; - PL_get_integer(curBlock, &gstateix); - PL_reset_term_refs(curBlock); - if (gstatei != gstateix) { - if (gstateix > gstatei) { - fprintf(stderr, "gstateix(%d) > gstatei(%d)\n", gstateix, gstatei); - return false; - } else { - fprintf(stderr, "gstateix(%d) < gstatei(%d)\n", gstateix, gstatei); - return false; - } + int gstateix; + gstatei--; + PL_get_integer(curBlock, &gstateix); + PL_reset_term_refs(curBlock); + if (gstatei != gstateix) { + if (gstateix > gstatei) { + fprintf(stderr, "gstateix(%d) > gstatei(%d)\n", gstateix, gstatei); + return false; + } else { + fprintf(stderr, "gstateix(%d) < gstatei(%d)\n", gstateix, gstatei); + return false; } - if (_threaded) { + } + if (_threaded) { PyGILState_Release(gstates[gstatei]); } pyErrorAndReturn(true); } - install_t install_pypreds(void) { PL_register_foreign("python_builtin_eval", 3, python_builtin_eval, 0); PL_register_foreign("python_builtin", 1, python_builtin, 0); diff --git a/packages/python/python.c b/packages/python/python.c index b48b80e00..e0b3e22fa 100644 --- a/packages/python/python.c +++ b/packages/python/python.c @@ -47,8 +47,9 @@ static void add_modules(void) { if (py_Yapex) Py_INCREF(py_Yapex); Py_f2p = PythonLookup("f2p", NULL); - if (Py_f2p) - Py_INCREF(Py_f2p); + if (!Py_f2p) + Py_f2p = PyList_New(0); + Py_INCREF(Py_f2p); init_python_vfs(); } diff --git a/packages/python/python.pl b/packages/python/python.pl index 79663a7c6..db4082ee7 100644 --- a/packages/python/python.pl +++ b/packages/python/python.pl @@ -117,7 +117,7 @@ Data types are user:(:=)/1, % user:(<-)/1, % user:(<-)/2, - user:'()'/1, user:'{}'/1, user:dot_qualified_goal/2, user:import_arg/1. + user:'()'/1, user:'{}'/1, user:dot_qualified_goal/1, user:import_arg/1. import( F ) :- catch( python:python_import(F), _, fail ). diff --git a/packages/python/yap_kernel/CMakeLists.txt b/packages/python/yap_kernel/CMakeLists.txt index 09e128b5e..630b141bd 100644 --- a/packages/python/yap_kernel/CMakeLists.txt +++ b/packages/python/yap_kernel/CMakeLists.txt @@ -413,11 +413,23 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kerne DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kernel.js ) +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/meta.js + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/meta.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/ + DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/meta.js + ) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ) + +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/mode.js + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/mode.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/ + DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/mode.js + ) + + foreach(f ${FILES}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${f} COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${f} ${CMAKE_CURRENT_BINARY_DIR}/${f} @@ -431,7 +443,7 @@ endforeach() add_custom_target(YAP_KERNEL ALL COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${OUTS} YAP4PY + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/meta.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/mode.js ${OUTS} YAP4PY ) diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index b1bf13e92..b72674986 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -92,9 +92,9 @@ blank(Text) :- close(user_output), close(user_error). streams(true) :- - open('/python/input', read, Input, [alias(user_input),bom(false),script(false)]), - open('/python/sys.stdout', append, Output, [alias(user_output)]), - open('/python/sys.stderr', append, Error, [alias(user_error)]). + open('/python/sys.stdin', read, _Input, [alias(user_input),bom(false),script(false)]), + open('/python/sys.stdout', append, _Output, [alias(user_output)]), + open('/python/sys.stderr', append, _Error, [alias(user_error)]). :- if( current_prolog_flag(apple, true) ). diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 8deaa286f..4808e18f4 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -514,6 +514,7 @@ class YAPRun: self.yapeng = JupyterEngine() global engine engine = self.yapeng + self.errors = [] self.query = None self.os = None self.it = None @@ -577,7 +578,7 @@ class YAPRun: self.iterations += 1 if self.port == "exit": self.os = None - sys.stderr.write('Done, with'+str(self.answers)+'\n') + #sys.stderr.write('Done, with'+str(self.answers)+'\n') self.result.result = True,self.bindings return self.result if stop or howmany == self.iterations: @@ -658,7 +659,7 @@ class YAPRun: if store_history: self.result.execution_count = self.shell.execution_count+1 - def error_before_exec(value): + def error_before_exec(self, value): self.result.error_before_exec = value self.shell.last_execution_succeeded = False return self.result @@ -677,10 +678,10 @@ class YAPRun: # except SyntaxError: # preprocessing_exc_tuple = self.shell.syntax_error() # sys.exc_info() cell = raw_cell # cell has to exist so it can be stored/logged - for i in self.syntaxErrors(raw_cell): + for i in self.errors: try: - (what,lin,_,text) = i - e = SyntaxError(what, ("", lin, 1, text+'\n')) + (_,lin,pos,text) = i + e = SyntaxError(what, (self.cell_name, lin, pos, text+'\n')) raise e except SyntaxError: self.shell.showsyntaxerror( ) @@ -696,13 +697,13 @@ class YAPRun: self.showtraceback(preprocessing_exc_tuple) if store_history: self.shell.execution_count += 1 - return error_before_exec(preprocessing_exc_tuple[2]) + return self.error_before_exec(preprocessing_exc_tuple[2]) # Our own compiler remembers the __future__ environment. If we want to # run code with a separate __future__ environment, use the default # compiler # compiler = self.shell.compile if shell_futures else CachingCompiler() - cell_name = str( self.shell.execution_count) + self.cell_name = str( self.shell.execution_count) if cell[0] == '%': if cell[1] == '%': linec = False @@ -802,7 +803,7 @@ class YAPRun: its = 0 for ch in n: if not ch.isdigit(): - raise SyntaxError() + raise SyntaxError("expected positive number", (self.cellname,s.strip.lines()+1,s.count('\n'),n)) its = its*10+ (ord(ch) - ord('0')) stop = False else: diff --git a/pl/consult.yap b/pl/consult.yap index 9de156521..d193cab5c 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -692,8 +692,8 @@ db_files(Fs) :- '$csult'(Fs, _M) :- '$skip_list'(_, Fs ,L), L \== [], - user:dot_qualified_goal(Fs), - !. + !, + user:dot_qualified_goal(Fs). '$csult'(Fs, M) :- '$extract_minus'(Fs, MFs), !, load_files(M:MFs,[]). @@ -1676,7 +1676,7 @@ prolog_library(File) :- ensure_loaded(library(File)), yap_flag(verbose,_,Old). -:- '$add_multifile'(dot_qualified_goal,2,user). +:- '$add_multifile'(dot_qualified_goal,1,user). /** @} diff --git a/pl/preds.yap b/pl/preds.yap index 5b8422256..8c6a21fad 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -491,8 +491,14 @@ or built-in. */ predicate_property(Pred,Prop) :- - current_predicate(_,Pred), - '$yap_strip_module'(Pred, Mod, TruePred), + ( + current_predicate(_,Pred), + '$yap_strip_module'(Pred, Mod, TruePred) + ; + '$current_predicate'(_,M,Pred,system), + '$yap_strip_module'(M:Pred, Mod, TruePred) + ), + ( '$pred_exists'(TruePred, Mod) -> From 828a5ec1e93303ec42a2672123f8aa92a76f8abe Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 31 Jul 2018 15:18:56 +0100 Subject: [PATCH 17/57] jupyter --- packages/python/pl2py.c | 49 +++++++++++++++++-- packages/python/py2pl.c | 22 ++++++--- packages/python/py4yap.h | 28 ++++++++++- packages/python/pybips.c | 33 +++++++------ packages/python/pyio.c | 17 ++++++- packages/python/pypreds.c | 22 +++++++++ packages/python/swig/yap4py/yapi.py | 1 + .../yap_kernel/yap_ipython/prolog/jupyter.yap | 2 +- 8 files changed, 145 insertions(+), 29 deletions(-) diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index feb1ae579..e20b6d08d 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -14,6 +14,8 @@ PyObject *YE(term_t t, int line, const char *file, const char *code) { return NULL; } + + PyObject *YEC(PyObject *f, PyObject *a, PyObject *d, int line, const char *file, const char *code) { fprintf(stderr, "**** Warning,%s@%s:%d: failed on Python call \n", code, @@ -24,12 +26,48 @@ PyObject *YEC(PyObject *f, PyObject *a, PyObject *d, int line, const char *file, fprintf(stderr,""); if (a) PyObject_Print(a, stderr, 0); - if (a) - PyObject_Print(a, stderr, 0); + if (d) + PyObject_Print(d, stderr, 0); fprintf(stderr,"\n"); return NULL; } - void YEM(const char *exp, int line, const char *file, const char *code) { + +PyObject *YED2(PyObject *f, PyObject *a, PyObject *d, int line, const char *file, const char *code) { + + fprintf(stderr, "**** Warning,%s@%s:%d: failed on Python call \n", code, + file, line); + if (f) + PyObject_Print(f, stderr, 0); + else + fprintf(stderr,""); + fprintf(stderr,"("); + if (a) + PyObject_Print(a, stderr, 0); + fprintf(stderr,","); + if (d) + PyObject_Print(d, stderr, 0); + fprintf(stderr,")\n"); + return NULL; + +} + +PyObject *YED1(PyObject *f, PyObject *a, int line, const char *file, const char *code) { + + fprintf(stderr, "**** Warning,%s@%s:%d: failed on Python call \n", code, + file, line); + if (f) + PyObject_Print(f, stderr, 0); + else + fprintf(stderr,""); + fprintf(stderr,"("); + if (a) + PyObject_Print(a, stderr, 0); + fprintf(stderr,")\n"); + return NULL; + +} + +void YEM(const char *exp, int line, const char *file, const char *code) { fprintf(stderr, "**** Warning,%s@%s:%d: failed while executing %s\n", code, file, line, exp); } @@ -305,7 +343,10 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } if (fun == FUNCTOR_brackets1) { AOK(PL_get_arg(1, t, t), NULL); - return term_to_python(t, true, NULL, true); + PyObject *ys = term_to_python(t, true, o, true), *rc; + PyObject_Print(ys,stderr,0);fprintf(stderr, "--- \n"); + CHECK_CALL(ys, PyTuple_New(0), NULL); + return rc; } if (fun == FUNCTOR_complex2) { term_t targ = PL_new_term_ref(); diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 3cf2795c6..46ba1f7df 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -131,7 +131,7 @@ else { else if (PyList_Check(pVal)) { Py_ssize_t i, sz = PyList_GET_SIZE(pVal); if (sz == 0) - return TermNil; + return repr_term(pVal); Term t = TermNil; for (i = sz; i > 0; --i) { PyObject *p = PyTuple_GetItem(pVal, i); @@ -152,7 +152,7 @@ else if (PyDict_Check(pVal)) { PyObject *key, *value; Term f, *opt = &f, t; if (left == 0) { - return ATOM_curly_brackets; + return repr_term(pVal); } else { while (PyDict_Next(pVal, &pos, &key, &value)) { Term t0[2], to; @@ -177,10 +177,8 @@ else if (PyDict_Check(pVal)) { } foreign_t python_to_term(PyObject *pVal, term_t t) { - term_t t0 = PL_new_term_ref(); - bool rc = python_to_term__(pVal); - PL_reset_term_refs(t0); - return rc; + Term o = python_to_term__(pVal); + return YAP_Unify(o,YAP_GetFromSlot(t)); } // extern bool Yap_do_low_level_trace; @@ -228,6 +226,17 @@ bool python_assign(term_t t, PyObject *exp, PyObject *context) { return python_to_term(exp, t); } + case PL_STRING: { + char *s = NULL; + size_t l; + PL_get_string_chars(t, &s,&l); + if (!context) + context = py_Main; + if (PyObject_SetAttrString(context, s, exp) == 0) + return true; + PyErr_Print(); + return false; + } case PL_ATOM: { char *s = NULL; PL_get_atom_chars(t, &s); @@ -238,7 +247,6 @@ bool python_assign(term_t t, PyObject *exp, PyObject *context) { PyErr_Print(); return false; } - case PL_STRING: case PL_INTEGER: case PL_FLOAT: // domain or type erro? diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index 891eb1e98..66c733d2c 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -6,7 +6,7 @@ #define PY4YAP_H 1 #define PASS_REGS -#define USES_REGSg +#define USES_REGS //@{ @@ -23,6 +23,8 @@ #include +#include + #include #ifdef HAVE_STAT #undef HAVE_STATa @@ -154,6 +156,28 @@ static inline PyObject *atom_to_python_string(term_t t) { PyErr_Clear(); \ } +extern PyObject *YED2(PyObject *f, PyObject *a, PyObject *d, int line, const char *file, const char *code); + +static inline PyObject *CALL_BIP2(PyObject *ys,PyObject * pArg1,PyObject * pArg2) +{ PyErr_Clear(); \ + PyObject *rc = PyObject_CallFunctionObjArgs(ys, pArg1, pArg2, NULL); \ + if (rc == NULL || PyErr_Occurred()) { \ + YED2(ys, pArg1, pArg2, __LINE__, __FILE__, __FUNCTION__); \ + PyErr_Print(); \ + PyErr_Clear(); \ + } + return rc; +} + +#define CALL_BIP1(ys, pArg1) \ + PyErr_Clear(); \ + rc = PyObject_CallFunctionObjArgs(ys, pArg1, NULL); \ + if (rc == NULL || PyErr_Occurred()) { \ + YED1(ys, pArg1, __LINE__, __FILE__, __FUNCTION__); \ + PyErr_Print(); \ + PyErr_Clear(); \ + } + #define CHECKNULL(t, rc) \ (rc != NULL ? rc : YE(t, __LINE__, __FILE__, __FUNCTION__)) #define AOK(rc, err) \ @@ -162,6 +186,8 @@ static inline PyObject *atom_to_python_string(term_t t) { YEM(#rc, __LINE__, __FILE__, __FUNCTION__); \ } + +extern PyObject *YED1(PyObject *f, PyObject *a, int line, const char *file, const char *code); extern PyObject *YE(term_t , int line, const char *file, const char *code); extern PyObject *YEC(PyObject *c,PyObject *a ,PyObject *d , int line, const char *file, const char *code); extern void YEM(const char *ex, int line, const char *file, const char *code); diff --git a/packages/python/pybips.c b/packages/python/pybips.c index 6719929c4..01ef55862 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -987,8 +987,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { } if (PyNumber_Check(lhs) && PyNumber_Check(rhs)) return PyNumber_Add(lhs, rhs); - PyObject_Print(builtin("+"), stderr, 0); - return PyObject_CallFunctionObjArgs(builtin("+"), lhs, rhs, NULL); + return CALL_BIP2(builtin("+"), lhs, rhs); } else if (fun == FUNCTOR_sub2) { term_t targ = PL_new_term_ref(); PyObject *lhs, *rhs; @@ -1001,7 +1000,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { rhs = term_to_python(targ, true, NULL, true); if (PyNumber_Check(rhs) && PyNumber_Check(lhs)) return PyNumber_Subtract(lhs, rhs); - return PyObject_CallFunctionObjArgs(builtin("-"), lhs, rhs, NULL); + return CALL_BIP2(builtin("-"), lhs, rhs); } else if (fun == FUNCTOR_mul2) { term_t targ = PL_new_term_ref(); PyObject *lhs, *rhs; @@ -1022,7 +1021,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { } if (PyNumber_Check(lhs) && PyNumber_Check(rhs)) return PyNumber_Multiply(lhs, rhs); - return PyObject_CallFunctionObjArgs(builtin("*"), lhs, rhs, NULL); + return PyObject_CallFunctionObjArgs(builtin("*"), lhs, rhs); } if (!arity) { char *s = NULL; @@ -1037,7 +1036,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { return pValue; } else { char *s = PL_atom_chars(name); - if (!strcmp(s,"t")) { + if (!strcmp(s,"t") || !strcmp(s,"tuple")) { YAP_Term tt = YAP_GetFromSlot(t), tleft; int i; PyObject *rc = PyTuple_New(arity); @@ -1069,11 +1068,17 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { /* ignore (_) */ if (indict) { if (PL_get_functor(tleft, &fun) && fun == FUNCTOR_equal2) { - term_t tatt = PL_new_term_ref(); - AOK(PL_get_arg(1, tleft, tatt), NULL); - PyObject *key = term_to_python(tatt, true, NULL, true); - AOK(PL_get_arg(2, tleft, tatt), NULL); - PyObject *val = term_to_python(tatt, true, NULL, true); + Term tatt = ArgOfTerm(1,Yap_GetFromSlot(tleft)); + const char *sk; + if (IsAtomTerm(tatt)) + sk = RepAtom(AtomOfTerm(tatt))->StrOfAE; + else if (IsStringTerm(tatt)) + sk = StringOfTerm(tatt); + else + return NULL; + PyObject *key = PyUnicode_FromString(sk); + AOK(PL_get_arg(2, tleft, tleft), NULL); + PyObject *val = term_to_python(tleft, true, o, cvt); PyDict_SetItem(pyDict, key, val); } else { indict = false; @@ -1086,7 +1091,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { if (PL_is_variable(tleft)) { pArg = Py_None; } else { - pArg = term_to_python(tleft, true, NULL, true); + pArg = term_to_python(tleft, true, o, cvt); // PyObject_Print(pArg,fdopen(2,"w"),0); if (pArg == NULL) { pArg = Py_None; @@ -1105,9 +1110,9 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { PyObject *rc; if (ys && PyCallable_Check(ys)) { - // PyObject_Print(ys, stderr, 0); - // PyObject_Print(pArgs, stderr, 0); - // PyObject_Print(pyDict, stderr, 0); + PyObject_Print(ys, stderr, 0); + PyObject_Print(pArgs, stderr, 0); + PyObject_Print(pyDict, stderr, 0); // PyObject_Print(pArgs, stderr, 0); // PyObject_Print(o, stderr, 0); diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 4f000c12a..1812b5774 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -131,11 +131,24 @@ static bool py_close(int sno) { static bool pygetLine(StreamDesc *rl_iostream, int sno) { // term_t ctk = python_acquire_GIL(); const char *myrl_line; + PyObject *user_line; StreamDesc *s = YAP_GetStreamFromId(sno); //term_t tg = python_acquire_GIL(); + if (1) { //!strcmp(RepAtom(s->name)->StrOfAE,"input")) { + // note that input may change + PyObject *pystream = PyDict_GetItemString( Py_B``, "input"); + if (pystream == NULL) { + if ((err = PyErr_Occurred())) { + PyErr_Print(); + Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); + } + } + user_line = PyObject_CallFunctionObjArgs(pystream, NULL); + } else { PyObject *readl = PyObject_GetAttrString(s->u.private_data, "readline"); - PyObject *user_inp = PyObject_CallFunction(readl, NULL); - myrl_line = PyUnicode_AsUTF8(user_inp); + user_line = PyObject_CallFunction(readl, NULL); + } + myrl_line = PyUnicode_AsUTF8(user_line); if (myrl_line == NULL) return NULL; PyObject *err; diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 903867fdf..3053090de 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -552,6 +552,27 @@ static foreign_t python_export(term_t t, term_t pl) { pyErrorAndReturn(rc); } +static bool get_mod(const char *s0) +{ + PyObject *pName; + term_t t0 = python_acquire_GIL(); +#if PY_MAJOR_VERSION < 3 + pName = PyString_FromString(s0); +#else + pName = PyUnicode_FromString(s0); +#endif + if (pName == NULL) { + python_release_GIL(t0); + } + + PyObject *pModule = PyImport_Import(pName); + + Py_XDECREF(pName); + python_release_GIL(t0); + + return pModule; +} + /** * @pred python_import(MName, Mod) * Import a python module to the YAP environment. @@ -593,6 +614,7 @@ static int python_import(term_t mname, term_t mod) { else return false; strcat(s, sn); + //get_mod(s); strcat(s, "."); } sm = t; diff --git a/packages/python/swig/yap4py/yapi.py b/packages/python/swig/yap4py/yapi.py index bb88a8463..faba19c8c 100644 --- a/packages/python/swig/yap4py/yapi.py +++ b/packages/python/swig/yap4py/yapi.py @@ -25,6 +25,7 @@ class Engine( YAPEngine ): # type: (object) -> object if not args: args = EngineArgs(**kwargs) + args.setEmbedded(True) if self_contained: yap_lib_path = dirname(__file__) args.setYapShareDir(join(yap_lib_path, "prolog")) diff --git a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap index b72674986..7e90f8536 100644 --- a/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap +++ b/packages/python/yap_kernel/yap_ipython/prolog/jupyter.yap @@ -92,7 +92,7 @@ blank(Text) :- close(user_output), close(user_error). streams(true) :- - open('/python/sys.stdin', read, _Input, [alias(user_input),bom(false),script(false)]), + open('/python/input', read, _Input, [alias(user_input),bom(false),script(false)]), open('/python/sys.stdout', append, _Output, [alias(user_output)]), open('/python/sys.stderr', append, _Error, [alias(user_error)]). From 22cefb0b9cc275ba00e3f9025f0a695bb846a668 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 31 Jul 2018 16:26:29 +0100 Subject: [PATCH 18/57] missing --- misc/editors/meta.js | 218 ++++++++++++++++++ misc/editors/mode.js | 115 +++++++++ misc/editors/webpack.config.js | 188 +++++++++++++++ .../python/yap_kernel/yap_ipython/_version.py | 5 + 4 files changed, 526 insertions(+) create mode 100644 misc/editors/meta.js create mode 100644 misc/editors/mode.js create mode 100644 misc/editors/webpack.config.js create mode 100644 packages/python/yap_kernel/yap_ipython/_version.py diff --git a/misc/editors/meta.js b/misc/editors/meta.js new file mode 100644 index 000000000..1027c2ffe --- /dev/null +++ b/misc/editors/meta.js @@ -0,0 +1,218 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: http://codemirror.net/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { + "use strict"; + + CodeMirror.modeInfo = [ + {name: "APL", mime: "text/apl", mode: "apl", ext: ["dyalog", "apl"]}, + {name: "PGP", mimes: ["application/pgp", "application/pgp-encrypted", "application/pgp-keys", "application/pgp-signature"], mode: "asciiarmor", ext: ["asc", "pgp", "sig"]}, + {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]}, + {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\.conf$/i}, + {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]}, + {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h", "ino"]}, + {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]}, + {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy"]}, + {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp"]}, + {name: "Clojure", mime: "text/x-clojure", mode: "clojure", ext: ["clj", "cljc", "cljx"]}, + {name: "ClojureScript", mime: "text/x-clojurescript", mode: "clojure", ext: ["cljs"]}, + {name: "Closure Stylesheets (GSS)", mime: "text/x-gss", mode: "css", ext: ["gss"]}, + {name: "CMake", mime: "text/x-cmake", mode: "cmake", ext: ["cmake", "cmake.in"], file: /^CMakeLists.txt$/}, + {name: "CoffeeScript", mimes: ["application/vnd.coffeescript", "text/coffeescript", "text/x-coffeescript"], mode: "coffeescript", ext: ["coffee"], alias: ["coffee", "coffee-script"]}, + {name: "Common Lisp", mime: "text/x-common-lisp", mode: "commonlisp", ext: ["cl", "lisp", "el"], alias: ["lisp"]}, + {name: "Cypher", mime: "application/x-cypher-query", mode: "cypher", ext: ["cyp", "cypher"]}, + {name: "Cython", mime: "text/x-cython", mode: "python", ext: ["pyx", "pxd", "pxi"]}, + {name: "Crystal", mime: "text/x-crystal", mode: "crystal", ext: ["cr"]}, + {name: "CSS", mime: "text/css", mode: "css", ext: ["css"]}, + {name: "CQL", mime: "text/x-cassandra", mode: "sql", ext: ["cql"]}, + {name: "D", mime: "text/x-d", mode: "d", ext: ["d"]}, + {name: "Dart", mimes: ["application/dart", "text/x-dart"], mode: "dart", ext: ["dart"]}, + {name: "diff", mime: "text/x-diff", mode: "diff", ext: ["diff", "patch"]}, + {name: "Django", mime: "text/x-django", mode: "django"}, + {name: "Dockerfile", mime: "text/x-dockerfile", mode: "dockerfile", file: /^Dockerfile$/}, + {name: "DTD", mime: "application/xml-dtd", mode: "dtd", ext: ["dtd"]}, + {name: "Dylan", mime: "text/x-dylan", mode: "dylan", ext: ["dylan", "dyl", "intr"]}, + {name: "EBNF", mime: "text/x-ebnf", mode: "ebnf"}, + {name: "ECL", mime: "text/x-ecl", mode: "ecl", ext: ["ecl"]}, + {name: "edn", mime: "application/edn", mode: "clojure", ext: ["edn"]}, + {name: "Eiffel", mime: "text/x-eiffel", mode: "eiffel", ext: ["e"]}, + {name: "Elm", mime: "text/x-elm", mode: "elm", ext: ["elm"]}, + {name: "Embedded Javascript", mime: "application/x-ejs", mode: "htmlembedded", ext: ["ejs"]}, + {name: "Embedded Ruby", mime: "application/x-erb", mode: "htmlembedded", ext: ["erb"]}, + {name: "Erlang", mime: "text/x-erlang", mode: "erlang", ext: ["erl"]}, + {name: "Esper", mime: "text/x-esper", mode: "sql"}, + {name: "Factor", mime: "text/x-factor", mode: "factor", ext: ["factor"]}, + {name: "FCL", mime: "text/x-fcl", mode: "fcl"}, + {name: "Forth", mime: "text/x-forth", mode: "forth", ext: ["forth", "fth", "4th"]}, + {name: "Fortran", mime: "text/x-fortran", mode: "fortran", ext: ["f", "for", "f77", "f90"]}, + {name: "F#", mime: "text/x-fsharp", mode: "mllike", ext: ["fs"], alias: ["fsharp"]}, + {name: "Gas", mime: "text/x-gas", mode: "gas", ext: ["s"]}, + {name: "Gherkin", mime: "text/x-feature", mode: "gherkin", ext: ["feature"]}, + {name: "GitHub Flavored Markdown", mime: "text/x-gfm", mode: "gfm", file: /^(readme|contributing|history).md$/i}, + {name: "Go", mime: "text/x-go", mode: "go", ext: ["go"]}, + {name: "Groovy", mime: "text/x-groovy", mode: "groovy", ext: ["groovy", "gradle"], file: /^Jenkinsfile$/}, + {name: "HAML", mime: "text/x-haml", mode: "haml", ext: ["haml"]}, + {name: "Haskell", mime: "text/x-haskell", mode: "haskell", ext: ["hs"]}, + {name: "Haskell (Literate)", mime: "text/x-literate-haskell", mode: "haskell-literate", ext: ["lhs"]}, + {name: "Haxe", mime: "text/x-haxe", mode: "haxe", ext: ["hx"]}, + {name: "HXML", mime: "text/x-hxml", mode: "haxe", ext: ["hxml"]}, + {name: "ASP.NET", mime: "application/x-aspx", mode: "htmlembedded", ext: ["aspx"], alias: ["asp", "aspx"]}, + {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm", "handlebars", "hbs"], alias: ["xhtml"]}, + {name: "HTTP", mime: "message/http", mode: "http"}, + {name: "IDL", mime: "text/x-idl", mode: "idl", ext: ["pro"]}, + {name: "Pug", mime: "text/x-pug", mode: "pug", ext: ["jade", "pug"], alias: ["jade"]}, + {name: "Java", mime: "text/x-java", mode: "clike", ext: ["java"]}, + {name: "Java Server Pages", mime: "application/x-jsp", mode: "htmlembedded", ext: ["jsp"], alias: ["jsp"]}, + {name: "JavaScript", mimes: ["text/javascript", "text/ecmascript", "application/javascript", "application/x-javascript", "application/ecmascript"], + mode: "javascript", ext: ["js"], alias: ["ecmascript", "js", "node"]}, + {name: "JSON", mimes: ["application/json", "application/x-json"], mode: "javascript", ext: ["json", "map"], alias: ["json5"]}, + {name: "JSON-LD", mime: "application/ld+json", mode: "javascript", ext: ["jsonld"], alias: ["jsonld"]}, + {name: "JSX", mime: "text/jsx", mode: "jsx", ext: ["jsx"]}, + {name: "Jinja2", mime: "null", mode: "jinja2"}, + {name: "Julia", mime: "text/x-julia", mode: "julia", ext: ["jl"]}, + {name: "Kotlin", mime: "text/x-kotlin", mode: "clike", ext: ["kt"]}, + {name: "LESS", mime: "text/x-less", mode: "css", ext: ["less"]}, + {name: "LiveScript", mime: "text/x-livescript", mode: "livescript", ext: ["ls"], alias: ["ls"]}, + {name: "Lua", mime: "text/x-lua", mode: "lua", ext: ["lua"]}, + {name: "Markdown", mime: "text/x-markdown", mode: "markdown", ext: ["markdown", "md", "mkd"]}, + {name: "mIRC", mime: "text/mirc", mode: "mirc"}, + {name: "MariaDB SQL", mime: "text/x-mariadb", mode: "sql"}, + {name: "Mathematica", mime: "text/x-mathematica", mode: "mathematica", ext: ["m", "nb"]}, + {name: "Modelica", mime: "text/x-modelica", mode: "modelica", ext: ["mo"]}, + {name: "MUMPS", mime: "text/x-mumps", mode: "mumps", ext: ["mps"]}, + {name: "MS SQL", mime: "text/x-mssql", mode: "sql"}, + {name: "mbox", mime: "application/mbox", mode: "mbox", ext: ["mbox"]}, + {name: "MySQL", mime: "text/x-mysql", mode: "sql"}, + {name: "Nginx", mime: "text/x-nginx-conf", mode: "nginx", file: /nginx.*\.conf$/i}, + {name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]}, + {name: "NTriples", mimes: ["application/n-triples", "application/n-quads", "text/n-triples"], + mode: "ntriples", ext: ["nt", "nq"]}, + {name: "Objective-C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, + {name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]}, + {name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]}, + {name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]}, + {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, + {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, + {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, + {name: "PHP", mimes: ["text/x-php", "application/x-httpd-php", "application/x-httpd-php-open"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, + {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, + {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, + {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, + {name: "PowerShell", mime: "application/x-powershell", mode: "powershell", ext: ["ps1", "psd1", "psm1"]}, + {name: "Prolog", mime: "application/x-prolog", mode: "prolog", ext: ["yap", "ypp", "pl", "prolog"]}, + {name: "Properties files", mime: "text/x-properties", mode: "properties", ext: ["properties", "ini", "in"], alias: ["ini", "properties"]}, + {name: "ProtoBuf", mime: "text/x-protobuf", mode: "protobuf", ext: ["proto"]}, + {name: "Python", mime: "text/x-python", mode: "python", ext: ["BUILD", "bzl", "py", "pyw"], file: /^(BUCK|BUILD)$/}, + {name: "Puppet", mime: "text/x-puppet", mode: "puppet", ext: ["pp"]}, + {name: "Q", mime: "text/x-q", mode: "q", ext: ["q"]}, + {name: "R", mime: "text/x-rsrc", mode: "r", ext: ["r", "R"], alias: ["rscript"]}, + {name: "reStructuredText", mime: "text/x-rst", mode: "rst", ext: ["rst"], alias: ["rst"]}, + {name: "RPM Changes", mime: "text/x-rpm-changes", mode: "rpm"}, + {name: "RPM Spec", mime: "text/x-rpm-spec", mode: "rpm", ext: ["spec"]}, + {name: "Ruby", mime: "text/x-ruby", mode: "ruby", ext: ["rb"], alias: ["jruby", "macruby", "rake", "rb", "rbx"]}, + {name: "Rust", mime: "text/x-rustsrc", mode: "rust", ext: ["rs"]}, + {name: "SAS", mime: "text/x-sas", mode: "sas", ext: ["sas"]}, + {name: "Sass", mime: "text/x-sass", mode: "sass", ext: ["sass"]}, + {name: "Scala", mime: "text/x-scala", mode: "clike", ext: ["scala"]}, + {name: "Scheme", mime: "text/x-scheme", mode: "scheme", ext: ["scm", "ss"]}, + {name: "SCSS", mime: "text/x-scss", mode: "css", ext: ["scss"]}, + {name: "Shell", mimes: ["text/x-sh", "application/x-sh"], mode: "shell", ext: ["sh", "ksh", "bash"], alias: ["bash", "sh", "zsh"], file: /^PKGBUILD$/}, + {name: "Sieve", mime: "application/sieve", mode: "sieve", ext: ["siv", "sieve"]}, + {name: "Slim", mimes: ["text/x-slim", "application/x-slim"], mode: "slim", ext: ["slim"]}, + {name: "Smalltalk", mime: "text/x-stsrc", mode: "smalltalk", ext: ["st"]}, + {name: "Smarty", mime: "text/x-smarty", mode: "smarty", ext: ["tpl"]}, + {name: "Solr", mime: "text/x-solr", mode: "solr"}, + {name: "SML", mime: "text/x-sml", mode: "mllike", ext: ["sml", "sig", "fun", "smackspec"]}, + {name: "Soy", mime: "text/x-soy", mode: "soy", ext: ["soy"], alias: ["closure template"]}, + {name: "SPARQL", mime: "application/sparql-query", mode: "sparql", ext: ["rq", "sparql"], alias: ["sparul"]}, + {name: "Spreadsheet", mime: "text/x-spreadsheet", mode: "spreadsheet", alias: ["excel", "formula"]}, + {name: "SQL", mime: "text/x-sql", mode: "sql", ext: ["sql"]}, + {name: "SQLite", mime: "text/x-sqlite", mode: "sql"}, + {name: "Squirrel", mime: "text/x-squirrel", mode: "clike", ext: ["nut"]}, + {name: "Stylus", mime: "text/x-styl", mode: "stylus", ext: ["styl"]}, + {name: "Swift", mime: "text/x-swift", mode: "swift", ext: ["swift"]}, + {name: "sTeX", mime: "text/x-stex", mode: "stex"}, + {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx", "tex"], alias: ["tex"]}, + {name: "SystemVerilog", mime: "text/x-systemverilog", mode: "verilog", ext: ["v", "sv", "svh"]}, + {name: "Tcl", mime: "text/x-tcl", mode: "tcl", ext: ["tcl"]}, + {name: "Textile", mime: "text/x-textile", mode: "textile", ext: ["textile"]}, + {name: "TiddlyWiki ", mime: "text/x-tiddlywiki", mode: "tiddlywiki"}, + {name: "Tiki wiki", mime: "text/tiki", mode: "tiki"}, + {name: "TOML", mime: "text/x-toml", mode: "toml", ext: ["toml"]}, + {name: "Tornado", mime: "text/x-tornado", mode: "tornado"}, + {name: "troff", mime: "text/troff", mode: "troff", ext: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]}, + {name: "TTCN", mime: "text/x-ttcn", mode: "ttcn", ext: ["ttcn", "ttcn3", "ttcnpp"]}, + {name: "TTCN_CFG", mime: "text/x-ttcn-cfg", mode: "ttcn-cfg", ext: ["cfg"]}, + {name: "Turtle", mime: "text/turtle", mode: "turtle", ext: ["ttl"]}, + {name: "TypeScript", mime: "application/typescript", mode: "javascript", ext: ["ts"], alias: ["ts"]}, + {name: "TypeScript-JSX", mime: "text/typescript-jsx", mode: "jsx", ext: ["tsx"], alias: ["tsx"]}, + {name: "Twig", mime: "text/x-twig", mode: "twig"}, + {name: "Web IDL", mime: "text/x-webidl", mode: "webidl", ext: ["webidl"]}, + {name: "VB.NET", mime: "text/x-vb", mode: "vb", ext: ["vb"]}, + {name: "VBScript", mime: "text/vbscript", mode: "vbscript", ext: ["vbs"]}, + {name: "Velocity", mime: "text/velocity", mode: "velocity", ext: ["vtl"]}, + {name: "Verilog", mime: "text/x-verilog", mode: "verilog", ext: ["v"]}, + {name: "VHDL", mime: "text/x-vhdl", mode: "vhdl", ext: ["vhd", "vhdl"]}, + {name: "Vue.js Component", mimes: ["script/x-vue", "text/x-vue"], mode: "vue", ext: ["vue"]}, + {name: "XML", mimes: ["application/xml", "text/xml"], mode: "xml", ext: ["xml", "xsl", "xsd", "svg"], alias: ["rss", "wsdl", "xsd"]}, + {name: "XQuery", mime: "application/xquery", mode: "xquery", ext: ["xy", "xquery"]}, + {name: "Yacas", mime: "text/x-yacas", mode: "yacas", ext: ["ys"]}, + {name: "YAML", mimes: ["text/x-yaml", "text/yaml"], mode: "yaml", ext: ["yaml", "yml"], alias: ["yml"]}, + {name: "Z80", mime: "text/x-z80", mode: "z80", ext: ["z80"]}, + {name: "mscgen", mime: "text/x-mscgen", mode: "mscgen", ext: ["mscgen", "mscin", "msc"]}, + {name: "xu", mime: "text/x-xu", mode: "mscgen", ext: ["xu"]}, + {name: "msgenny", mime: "text/x-msgenny", mode: "mscgen", ext: ["msgenny"]} + ]; + // Ensure all modes have a mime property for backwards compatibility + for (var i = 0; i < CodeMirror.modeInfo.length; i++) { + var info = CodeMirror.modeInfo[i]; + if (info.mimes) info.mime = info.mimes[0]; + } + + CodeMirror.findModeByMIME = function(mime) { + mime = mime.toLowerCase(); + for (var i = 0; i < CodeMirror.modeInfo.length; i++) { + var info = CodeMirror.modeInfo[i]; + if (info.mime == mime) return info; + if (info.mimes) for (var j = 0; j < info.mimes.length; j++) + if (info.mimes[j] == mime) return info; + } + if (/\+xml$/.test(mime)) return CodeMirror.findModeByMIME("application/xml") + if (/\+json$/.test(mime)) return CodeMirror.findModeByMIME("application/json") + }; + + CodeMirror.findModeByExtension = function(ext) { + for (var i = 0; i < CodeMirror.modeInfo.length; i++) { + var info = CodeMirror.modeInfo[i]; + if (info.ext) for (var j = 0; j < info.ext.length; j++) + if (info.ext[j] == ext) return info; + } + }; + + CodeMirror.findModeByFileName = function(filename) { + for (var i = 0; i < CodeMirror.modeInfo.length; i++) { + var info = CodeMirror.modeInfo[i]; + if (info.file && info.file.test(filename)) return info; + } + var dot = filename.lastIndexOf("."); + var ext = dot > -1 && filename.substring(dot + 1, filename.length); + if (ext) return CodeMirror.findModeByExtension(ext); + }; + + CodeMirror.findModeByName = function(name) { + name = name.toLowerCase(); + for (var i = 0; i < CodeMirror.modeInfo.length; i++) { + var info = CodeMirror.modeInfo[i]; + if (info.name.toLowerCase() == name) return info; + if (info.alias) for (var j = 0; j < info.alias.length; j++) + if (info.alias[j].toLowerCase() == name) return info; + } + }; +}); diff --git a/misc/editors/mode.js b/misc/editors/mode.js new file mode 100644 index 000000000..b5b567812 --- /dev/null +++ b/misc/editors/mode.js @@ -0,0 +1,115 @@ +"use strict"; +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. +Object.defineProperty(exports, "__esModule", { value: true }); +var codeeditor_1 = require("@jupyterlab/codeeditor"); +var CodeMirror = require("codemirror"); +require("codemirror/mode/meta"); +require("codemirror/addon/runmode/runmode"); +require("./codemirror-ipython"); +require("./codemirror-ipythongfm"); +// Bundle other common modes +require("codemirror/mode/javascript/javascript"); +require("codemirror/mode/css/css"); +require("codemirror/mode/prolog/prolog"); +require("codemirror/mode/julia/julia"); +require("codemirror/mode/r/r"); +require("codemirror/mode/markdown/markdown"); +require("codemirror/mode/clike/clike"); +require("codemirror/mode/shell/shell"); +require("codemirror/mode/sql/sql"); +var coreutils_1 = require("@jupyterlab/coreutils"); +/** + * The namespace for CodeMirror Mode functionality. + */ +var Mode; +(function (Mode) { + /** + * Get the raw list of available modes specs. + */ + function getModeInfo() { + return CodeMirror.modeInfo; + } + Mode.getModeInfo = getModeInfo; + /** + * Running a CodeMirror mode outside of an editor. + */ + function run(code, mode, el) { + CodeMirror.runMode(code, mode, el); + } + Mode.run = run; + /** + * Ensure a codemirror mode is available by name or Codemirror spec. + * + * @param mode - The mode to ensure. If it is a string, uses [findBest] + * to get the appropriate spec. + * + * @returns A promise that resolves when the mode is available. + */ + function ensure(mode) { + var spec = findBest(mode); + // Simplest, cheapest check by mode name. + if (CodeMirror.modes.hasOwnProperty(spec.mode)) { + return Promise.resolve(spec); + } + // Fetch the mode asynchronously. + return new Promise(function (resolve, reject) { + require(["codemirror/mode/" + spec.mode + "/" + spec.mode + ".js"], function () { + resolve(spec); + }); + }); + } + Mode.ensure = ensure; + /** + * Find a codemirror mode by name or CodeMirror spec. + */ + function findBest(mode) { + var modename = (typeof mode === 'string') ? mode : + mode.mode || mode.name; + var mimetype = (typeof mode !== 'string') ? mode.mime : modename; + var ext = (typeof mode !== 'string') ? mode.ext : []; + return (CodeMirror.findModeByName(modename || '') || + CodeMirror.findModeByMIME(mimetype || '') || + findByExtension(ext) || + CodeMirror.findModeByMIME(codeeditor_1.IEditorMimeTypeService.defaultMimeType) || + CodeMirror.findModeByMIME('text/plain')); + } + Mode.findBest = findBest; + /** + * Find a codemirror mode by MIME. + */ + function findByMIME(mime) { + return CodeMirror.findModeByMIME(mime); + } + Mode.findByMIME = findByMIME; + /** + * Find a codemirror mode by name. + */ + function findByName(name) { + return CodeMirror.findModeByName(name); + } + Mode.findByName = findByName; + /** + * Find a codemirror mode by filename. + */ + function findByFileName(name) { + var basename = coreutils_1.PathExt.basename(name); + return CodeMirror.findModeByFileName(basename); + } + Mode.findByFileName = findByFileName; + /** + * Find a codemirror mode by extension. + */ + function findByExtension(ext) { + if (typeof ext === 'string') { + return CodeMirror.findModeByExtension(name); + } + for (var i = 0; i < ext.length; i++) { + var mode = CodeMirror.findModeByExtension(ext[i]); + if (mode) { + return mode; + } + } + } + Mode.findByExtension = findByExtension; +})(Mode = exports.Mode || (exports.Mode = {})); diff --git a/misc/editors/webpack.config.js b/misc/editors/webpack.config.js new file mode 100644 index 000000000..5a93a3980 --- /dev/null +++ b/misc/editors/webpack.config.js @@ -0,0 +1,188 @@ +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +var path = require('path'); +var fs = require('fs-extra'); +var Handlebars = require('handlebars'); +var HtmlWebpackPlugin = require('html-webpack-plugin'); +var webpack = require('webpack'); + +var Build = require('@jupyterlab/buildutils').Build; +var package_data = require('./package.json'); + +// Handle the extensions. +var jlab = package_data.jupyterlab; +var extensions = jlab.extensions; +var mimeExtensions = jlab.mimeExtensions; +Build.ensureAssets({ + packageNames: Object.keys(mimeExtensions).concat(Object.keys(extensions)), + output: jlab.outputDir +}); + +fs.ensureDirSync('node_modules/codemirror/mode/prolog'); +fs.copySync(path.join(path.resolve(jlab.buildDir),'../../../kernels/yap_kernel/prolog.js'), 'node_modules/codemirror/mode/prolog/prolog.js'); +fs.copySync(path.join(path.resolve(jlab.buildDir),'../../../kernels/yap_kernel/meta.js'), 'node_modules/codemirror/mode/meta.js'); + +// Create the entry point file. +var source = fs.readFileSync('index.js').toString(); +var template = Handlebars.compile(source); +var data = { + jupyterlab_extensions: extensions, + jupyterlab_mime_extensions: mimeExtensions, +}; +var result = template(data); + +// Ensure a clear build directory. +var buildDir = path.resolve(jlab.buildDir); +if (fs.existsSync(buildDir)) { + fs.removeSync(buildDir); +} +fs.ensureDirSync(buildDir); + + +fs.writeFileSync(path.join(buildDir, 'index.out.js'), result); +fs.copySync('./package.json', path.join(buildDir, 'package.json')); +fs.copySync('./templates/error.html', path.join(buildDir, 'error.html')); + +// Set up variables for watch mode. +var localLinked = {}; +var ignoreCache = Object.create(null); +Object.keys(jlab.linkedPackages).forEach(function (name) { + var localPath = require.resolve(path.join(name, 'package.json')); + localLinked[name] = path.dirname(localPath); +}); + + +/** + * Sync a local path to a linked package path if they are files and differ. + */ +function maybeSync(localPath, name, rest) { + var stats = fs.statSync(localPath); + if (!stats.isFile(localPath)) { + return; + } + var source = fs.realpathSync(path.join(jlab.linkedPackages[name], rest)); + if (source === fs.realpathSync(localPath)) { + return; + } + fs.watchFile(source, { 'interval': 500 }, function(curr) { + if (!curr || curr.nlink === 0) { + return; + } + try { + fs.copySync(source, localPath); + } catch (err) { + console.error(err); + } + }); +} + + +/** + * A WebPack Plugin that copies the assets to the static directory. + */ +function JupyterLabPlugin() { } + +JupyterLabPlugin.prototype.apply = function(compiler) { + + compiler.plugin('after-emit', function(compilation, callback) { + var staticDir = jlab.staticDir; + if (!staticDir) { + callback(); + return; + } + // Ensure a clean static directory on the first emit. + if (this._first && fs.existsSync(staticDir)) { + fs.removeSync(staticDir); + } + this._first = false; + fs.copySync(buildDir, staticDir); + callback(); + }.bind(this)); +}; + +JupyterLabPlugin.prototype._first = true; + + +module.exports = { + entry: { + main: ['whatwg-fetch', path.resolve(buildDir, 'index.out.js')], + vendor: jlab.vendor + }, + output: { + path: path.resolve(buildDir), + publicPath: jlab.publicUrl || '{{base_url}}lab/static/', + filename: '[name].[chunkhash].js' + }, + module: { + rules: [ + { test: /^codemirror$/, use: 'file-loader' }, + { test: /^JUPYTERLAB_RAW_LOADER_/, use: 'raw-loader' }, + { test: /^JUPYTERLAB_URL_LOADER_/, use: 'url-loader?limit=10000' }, + { test: /^JUPYTERLAB_FILE_LOADER_/, use: 'file-loader' }, + { test: /\.css$/, use: ['style-loader', 'css-loader'] }, + { test: /\.json$/, use: 'json-loader' }, + { test: /\.md$/, use: 'raw-loader' }, + { test: /\.txt$/, use: 'raw-loader' }, + { test: /\.js$/, use: ['source-map-loader'], enforce: 'pre', + // eslint-disable-next-line no-undef + exclude: path.join(process.cwd(), 'node_modules') + }, + { test: /\.(jpg|png|gif)$/, use: 'file-loader' }, + { test: /\.js.map$/, use: 'file-loader' }, + { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=application/font-woff' }, + { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=application/font-woff' }, + { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=application/octet-stream' }, + { test: /\.otf(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=application/octet-stream' }, + { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, use: 'file-loader' }, + { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=image/svg+xml' } + ], + }, + watchOptions: { + ignored: function(localPath) { + localPath = path.resolve(localPath); + if (localPath in ignoreCache) { + return ignoreCache[localPath]; + } + // Limit the watched files to those in our local linked package dirs. + var ignore = true; + Object.keys(localLinked).some(function (name) { + // Bail if already found. + var rootPath = localLinked[name]; + var contained = localPath.indexOf(rootPath + path.sep) !== -1; + if (localPath !== rootPath && !contained) { + return false; + } + var rest = localPath.slice(rootPath.length); + if (rest.indexOf('node_modules') === -1) { + ignore = false; + maybeSync(localPath, name, rest); + } + return true; + }); + ignoreCache[localPath] = ignore; + return ignore; + } + }, + node: { + fs: 'empty' + }, + bail: true, + devtool: 'source-map', + plugins: [ + new HtmlWebpackPlugin({ + template: path.join('templates', 'template.html'), + title: jlab.name || 'JupyterLab' + }), + new webpack.HashedModuleIdsPlugin(), + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor' + }), + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest' + }), + new JupyterLabPlugin({}) + ] +}; diff --git a/packages/python/yap_kernel/yap_ipython/_version.py b/packages/python/yap_kernel/yap_ipython/_version.py new file mode 100644 index 000000000..83fc27f53 --- /dev/null +++ b/packages/python/yap_kernel/yap_ipython/_version.py @@ -0,0 +1,5 @@ +version_info = (6, 3, 4, 'dev0') +__version__ = '.'.join(map(str, version_info)) + +kernel_protocol_version_info = (5, 1) +kernel_protocol_version = '%s.%s' % kernel_protocol_version_info From 55b2325b2e027c1260d974aaa510a7d85a8773fb Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 31 Jul 2018 22:13:30 +0100 Subject: [PATCH 19/57] sqlite3 --- C/init.c | 1 + mkdocs/mkdocs.yml | 6 +- os/streams.c | 6 +- packages/myddas/myddas_shared.c | 43 +- packages/myddas/pl/myddas.ypp | 127 ++--- .../myddas/pl/myddas_assert_predicates.ypp | 11 +- packages/myddas/pl/myddas_driver.ypp | 3 +- packages/myddas/sqlite3/sqlitest.yap | 3 + packages/python/py4yap.h | 4 +- packages/python/pypreds.c | 2 +- packages/python/swig/CMakeLists.txt | 7 +- packages/python/swig/setup.py.in | 6 +- packages/python/yap_kernel/CMakeLists.txt | 16 +- pl/preds.yap | 491 +++++++++--------- 14 files changed, 361 insertions(+), 365 deletions(-) diff --git a/C/init.c b/C/init.c index c9c20ad38..7fbc7d7db 100755 --- a/C/init.c +++ b/C/init.c @@ -984,6 +984,7 @@ void Yap_InitCPredBack_(const char *Name, arity_t Arity, arity_t Extra, static void InitStdPreds(struct yap_boot_params *yapi) { + CurrentModule = PROLOG_MODULE; Yap_InitCPreds(); Yap_InitBackCPreds(); BACKUP_MACHINE_REGS(); diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index 5ba1e8850..7be6ab53e 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -1,7 +1,11 @@ site_name: 'YAP' theme: 'readthedocs' markdown_extensions: -use_directory_urls: false + - smarty + - toc: + permalink: True + - sane_lists + use_directory_urls: false plugins: - search - awesome-pages: diff --git a/os/streams.c b/os/streams.c index 8e5baa2bc..f91cb572b 100644 --- a/os/streams.c +++ b/os/streams.c @@ -1551,11 +1551,7 @@ FILE *Yap_FileDescriptorFromStream(Term t) { return rc; } -void - -Yap_InitBackIO ( - - void) +void Yap_InitBackIO(void) { Yap_InitCPredBack("stream_property", 2, 2, stream_property, cont_stream_property, SafePredFlag | SyncPredFlag); diff --git a/packages/myddas/myddas_shared.c b/packages/myddas/myddas_shared.c index 9674a8571..0631929f3 100644 --- a/packages/myddas/myddas_shared.c +++ b/packages/myddas/myddas_shared.c @@ -680,28 +680,13 @@ void Yap_MYDDAS_delete_all_myddas_structs(void) { void init_myddas(void) { CACHE_REGS + if (myddas_initialised) + { + return; + } +#if USE_MYDDAS Term cm=CurrentModule; CurrentModule = USER_MODULE; - if (myddas_initialised) - return; -#ifdef __ANDROID__ - init_sqlite3(); - #endif -#if defined MYDDAS_ODBC - Yap_InitBackMYDDAS_ODBCPreds(); -#endif -#endif -#if defined MYDDAS_ODBC - Yap_InitMYDDAS_ODBCPreds(); -#endif -#if defined USE_MYDDAS - Yap_InitMYDDAS_SharedPreds(); -#endif -#if defined MYDDAS_TOP_LEVEL && \ - defined MYDDAS_MYSQL // && defined HAVE_LIBREADLINE - Yap_InitMYDDAS_TopLevelPreds(); -#endif -#if USE_MYDDAS #define stringify(X) _stringify(X) #define _stringify(X) #X Yap_REGS.MYDDAS_GLOBAL_POINTER = NULL; @@ -709,12 +694,28 @@ void init_myddas(void) { MkAtomTerm(Yap_LookupAtom(stringify(MYDDAS_VERSION)))); Yap_HaltRegisterHook((HaltHookFunc)Yap_MYDDAS_delete_all_myddas_structs, NULL); + Yap_InitMYDDAS_SharedPreds(); + Yap_InitBackMYDDAS_SharedPreds(); #undef stringify #undef _stringify Yap_MYDDAS_delete_all_myddas_structs(); +#if defined MYDDAS_ODBC + Yap_InitBackMYDDAS_ODBCPreds(); +#endif +#endif +#if defined MYDDAS_ODBC + Yap_InitMYDDAS_ODBCPreds(); +#endif +#if defined MYDDAS_TOP_LEVEL && \ + defined MYDDAS_MYSQL // && defined HAVE_LIBREADLINE + Yap_InitMYDDAS_TopLevelPreds(); #endif c_db_initialize_myddas(PASS_REGS1); - myddas_initialised = TRUE; +#ifdef __ANDROiD__ + init_sqlite3(); + #endif +#endif + myddas_initialised = true; CurrentModule = cm; } diff --git a/packages/myddas/pl/myddas.ypp b/packages/myddas/pl/myddas.ypp index 0cd260b4d..ddc20edd7 100644 --- a/packages/myddas/pl/myddas.ypp +++ b/packages/myddas/pl/myddas.ypp @@ -22,6 +22,7 @@ #ifdef DEBUG :- yap_flag(single_var_warnings,on). +:- yap_flag(write_strings,on). #endif #define SWITCH(Contype, G) \ @@ -181,7 +182,7 @@ member/2 ]). -:- set(verbose,silent). +:- set_prolog_flag(verbose,silent). @@ -230,108 +231,108 @@ db_open(postgres,Connection,Host/Db/Port,User,Password) :- integer(Port),!, db_open(postgres,Connection,Host/Db/Port/_,User,Password). % Var to be NULL, the default socket db_open(postgres,Connection,Host/Db/Socket,User,Password) :- !, - db_open(postgres,Connection,Host/Db/0/Socket,User,Password). % 0 is default port + db_open(postgres,Connection,Host/Db/0/Socket,User,Password). % 0 is default port db_open(postgres,Connection,Host/Db,User,Password) :- - db_open(postgres,Connection,Host/Db/0/_,User,Password). % 0 is default port and Var to be NULL, the default socpket + db_open(postgres,Connection,Host/Db/0/_,User,Password). % 0 is default port and Var to be NULL, the default socpket #endif #ifdef MYDDAS_ODBC db_open(odbc,Connection,ODBCEntry,User,Password) :- - '$error_checks'(db_open(odbc,Connection,ODBCEntry,User,Password)), - c_odbc_connect(ODBCEntry,User,Password,Con), - set_value(Connection,Con). + '$error_checks'(db_open(odbc,Connection,ODBCEntry,User,Password)), + c_odbc_connect(ODBCEntry,User,Password,Con), + set_value(Connection,Con). #endif %% sqlite3 db_open(sqlite3,Connection,File,User,Password) :- - '$error_checks'(db_open(sqlite3,Connection,File,User,Password)), - c_sqlite3_connect(File,User,Password,Con), - set_value(Connection,Con). + '$error_checks'(db_open(sqlite3,Connection,File,User,Password)), + c_sqlite3_connect(File,User,Password,Con), + set_value(Connection,Con). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% db_close/1 - %% db_close/0 - % - % close a connection _Con_: all its resources are returned, and all undefined - % predicates are abolished. Default is to close `myddas`. +%% db_close/1 +%% db_close/0 +% +% close a connection _Con_: all its resources are returned, and all undefined +% predicates are abolished. Default is to close `myddas`. db_close:- - db_close(myddas). + db_close(myddas). db_close(Protocol):- - '$error_checks'(db_close(Protocol)), - get_value(Protocol,Con), - c_db_connection_type(Con,ConType), - ( '$abolish_all'(Con) ; - set_value(Protocol,[]), % "deletes" atom - C_SWITCH( ConType, disconnect(Con) ) - ). + '$error_checks'(db_close(Protocol)), + get_value(Protocol,Con), + c_db_connection_type(Con,ConType), + ( '$abolish_all'(Con) ; + set_value(Protocol,[]), % "deletes" atom + C_SWITCH( ConType, disconnect(Con) ) + ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % db_verbose/1 - % - % +% db_verbose/1 +% +% db_verbose(X):- - var(X),!, - get_value(db_verbose,X). + var(X),!, + get_value(db_verbose,X). db_verbose(N):-!, - set_value(db_verbose,N). - %default value + set_value(db_verbose,N). +%default value :- set_value(db_verbose,0). :- set_value(db_verbose_filename,myddas_queries). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % db_module/1 - % - % +% db_module/1 +% +% db_module(X):- - var(X),!, - get_value(db_module,X). + var(X),!, + get_value(db_module,X). db_module(ModuleName):- - set_value(db_module,ModuleName). - % default value + set_value(db_module,ModuleName). +% default value :- db_module(user). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % db_is_database_predicate(+,+,+) - % - % +% db_is_database_predicate(+,+,+) +% +% db_is_database_predicate(Module,PredName,Arity):- - '$error_checks'(db_is_database_predicate(PredName,Arity,Module)), - c_db_check_if_exists_pred(PredName,Arity,Module). + '$error_checks'(db_is_database_predicate(PredName,Arity,Module)), + c_db_check_if_exists_pred(PredName,Arity,Module). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #ifdef MYDDAS_STATS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % db_stats(+,-) - % - % +% db_stats(+,-) +% +% db_stats(List):- - db_stats(myddas,List). + db_stats(myddas,List). db_stats(Protocol,List):- - '$error_checks'(db_stats(Protocol,List)), - NumberOfStats = 10, - '$make_a_list'(NumberOfStats,ListX1), - ( var(Protocol) -> - c_db_stats(0,ListX1) - ; - get_value(Protocol,Conn), - c_db_stats(Conn,ListX1) - ), - '$make_stats_list'(ListX1,List). + '$error_checks'(db_stats(Protocol,List)), + NumberOfStats = 10, + '$make_a_list'(NumberOfStats,ListX1), + ( var(Protocol) -> + c_db_stats(0,ListX1) + ; + get_value(Protocol,Conn), + c_db_stats(Conn,ListX1) + ), + '$make_stats_list'(ListX1,List). #ifdef DEBUG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % db_stats_time(+,-) - % Reference is C pointer (memory reference) +% db_stats_time(+,-) +% Reference is C puuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uuuuu;ointer (memory reference) % db_stats_time(Reference,Time):- '$error_checks'(db_stats_time(Reference,Time)), @@ -449,7 +450,6 @@ db_assert(Connection,PredName):- '$error_checks'(db_insert2(Connection,PredName,Code)), '$get_values_for_insert'(Code,ValuesList,RelName), '$make_atom'(['INSERT INTO `',RelName,'` VALUES '|ValuesList],SQL), - get_value(Connection,Con), c_db_connection_type(Con,ConType), '$write_or_not'(SQL), @@ -685,17 +685,18 @@ db_describe(Connection,Y,Z) :- db_datalog_show_tables :- db_datalog_show_tables(myddas). +db_show_tables :- + '$error_checks'(db_datalog_show_tables), + get_value(myddas,Con), + c_db_connection_type(Con,DBMS), + DBMS:datalog_show_tables. + db_datalog_show_tables(Connection) :- '$error_checks'(db_datalog_show_tables(Connection) ), get_value(Connection,Con), c_db_connection_type(Con,DBMS), switch( DBMS, datalog_show_tables(Connection) ). -db_datalog_show_tables :- - '$error_checks'(db_datalog_show_tables), - get_value(myddas,Con), - c_db_connection_type(Con,DBMS), - DBMS:datalog_show_tables. /** @pred db_show_tables(+,?). diff --git a/packages/myddas/pl/myddas_assert_predicates.ypp b/packages/myddas/pl/myddas_assert_predicates.ypp index ac34345f7..2def14437 100644 --- a/packages/myddas/pl/myddas_assert_predicates.ypp +++ b/packages/myddas/pl/myddas_assert_predicates.ypp @@ -230,7 +230,7 @@ db_abolish(PredName,Arity):- % db_listing:- c_db_connection(Con), - c_db_preds_conn(Con,Module,Name,Arity), + user:c_db_preds_conn(Con,Module,Name,Arity), listing(Module:Name/Arity), fail. db_listing. @@ -243,15 +243,15 @@ db_listing. % db_listing(Module:Name/Arity):-!, c_db_connection(Con), - c_db_preds_conn(Con,Module,Name,Arity), + user:c_db_preds_conn(Con,Module,Name,Arity), listing(Module:Name/Arity). db_listing(Name/Arity):-!, c_db_connection(Con), - c_db_preds_conn(Con,Module,Name,Arity), + user:c_db_preds_conn(Con,Module,Name,Arity), listing(Module:Name/Arity). db_listing(Name):- c_db_connection(Con), - c_db_preds_conn(Con,Module,Name,Arity), + user:c_db_preds_conn(Con,Module,Name,Arity), listing(Module:Name/Arity). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -260,13 +260,12 @@ db_listing(Name):- % table_arity( Con, ConType, RelationName, Arity ) :- c_db_connection_type(Con,ConType), - writeln( ConType ), % get relation arity ( ConType == mysql -> c_db_my_number_of_fields(RelationName,Con,Arity) ; ConType == postgres -> - c_postgres_number_of_fields(RelationName,Con,Arity) + c_postgres_number_of_fields(RelationName,Con,Arit) ; ConType == odbc -> c_odbc_number_of_fields(RelationName,Con,Arity) diff --git a/packages/myddas/pl/myddas_driver.ypp b/packages/myddas/pl/myddas_driver.ypp index 07db8631f..aadbadef8 100644 --- a/packages/myddas/pl/myddas_driver.ypp +++ b/packages/myddas/pl/myddas_driver.ypp @@ -28,7 +28,7 @@ #define NAME() 'YAPodbc' #define MODULE() user #define INIT() init_odbc -#elif defined( postgres ) +#elif defined( postrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs ) #undef postgres #define DBMS(x) postgres_##x #define c_DBMS(x) c_postgres_##x @@ -101,7 +101,6 @@ DBMS(result_set)(store_result):- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DBMS(db_datalog_describe)/2 % diff --git a/packages/myddas/sqlite3/sqlitest.yap b/packages/myddas/sqlite3/sqlitest.yap index a800ffadf..8f9740908 100644 --- a/packages/myddas/sqlite3/sqlitest.yap +++ b/packages/myddas/sqlite3/sqlitest.yap @@ -14,6 +14,9 @@ main_ :- fail. main_ . +init :- + catch(db_open(sqlite3,'chinook.db',_,_), _, fail), + !. init :- db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _), % db_open(sqlite3, 'chinook.db', _, _), diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index 891eb1e98..db881bf01 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -6,7 +6,9 @@ #define PY4YAP_H 1 #define PASS_REGS -#define USES_REGSg +#define USES_REGS + +#include "Yap.h" //@{ diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 903867fdf..e1d32c4d9 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -570,7 +570,7 @@ static int python_import(term_t mname, term_t mod) { const char *sn, *as = NULL; Term t = Deref(ARG1), sm; if (IsApplTerm(t)) { - Functor f = FunctorOfTerm(t); + Functor f = (Functor)*RepAppl(t); if (f != FunctorAs) return false; do_as = true; diff --git a/packages/python/swig/CMakeLists.txt b/packages/python/swig/CMakeLists.txt index 307a2d379..383a2bb09 100644 --- a/packages/python/swig/CMakeLists.txt +++ b/packages/python/swig/CMakeLists.txt @@ -54,8 +54,7 @@ endif() COMMAND ${SWIG_EXECUTABLE} -c++ -python -O -py3 -module "yap" -addextern -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/H/generated -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/utf8proc -I.././.. -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/packages/python -outdir ${CMAKE_CURRENT_BINARY_DIR}/yap4py -I${GMP_INCLUDE_DIRS} -DX_API="" -o ${CMAKE_CURRENT_BINARY_DIR}/yap4py/yap_wrap.cxx -oh ${CMAKE_CURRENT_BINARY_DIR}/yap4py/yap_wrap.hh ${SWIG_SOURCES} - COMMAND ${PYTHON_EXECUTABLE} setup.py sdist ${bdist} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${SWIG_SOURCES} Py4YAP YAP++ yap4py/yapi.cpp YAP4PY_PY ) @@ -70,7 +69,9 @@ endif() DEPENDS ${PYTHON_SOURCES} ) - install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install ${PYTHON_USER_INSTALL} --ignore-installed . + install(CODE "execute_process( + COMMAND ${PYTHON_EXECUTABLE} setup.py sdist ${bdist} + COMMAND ${PYTHON_EXECUTABLE} -m pip install ${PYTHON_USER_INSTALL} --ignore-installed . WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})" DEPENDS Py4YAP ${CMAKE_BINARY_DIR}/${YAP_STARTUP} ${YAP_INSTALL_DLLDIR} ) diff --git a/packages/python/swig/setup.py.in b/packages/python/swig/setup.py.in index 763aad825..a37bbaeea 100644 --- a/packages/python/swig/setup.py.in +++ b/packages/python/swig/setup.py.in @@ -84,8 +84,8 @@ native_sources = ["yap4py/yap_wrap.cxx","yap4py/yapi.cpp"] extensions = [Extension('_yap', native_sources, - define_macros=[('MAJOR_VERSION', '1'), - ('MINOR_VERSION', '0'), + define_macros=[('MAJOR_VERSION', '@YAP_MAJOR_VERSION@'), + ('MINOR_VERSION', '@YAP_MINOR_VERSION@'), ('_YAP_NOT_INSTALLED_', '1'), ('YAP_PYTHON', '1'), ('PYTHONSWIG', '1'), @@ -104,7 +104,7 @@ extensions = [Extension('_yap', native_sources, '${CMAKE_SOURCE_DIR}/os', '${CMAKE_SOURCE_DIR}/utf8proc', '${CMAKE_SOURCE_DIR}/packages/python', - '../../..', + '${CMAKE_BINARY_DIR}', '${CMAKE_SOURCE_DIR}/CXX' ] )] diff --git a/packages/python/yap_kernel/CMakeLists.txt b/packages/python/yap_kernel/CMakeLists.txt index 630b141bd..369ae53ea 100644 --- a/packages/python/yap_kernel/CMakeLists.txt +++ b/packages/python/yap_kernel/CMakeLists.txt @@ -185,7 +185,6 @@ yap_ipython/sphinxext/ipython_console_highlighting.py yap_ipython/sphinxext/ipython_directive.py yap_ipython/nbformat.py yap_ipython/paths.py -yap_ipython/_version.py yap_ipython/nbconvert.py yap_ipython/qt.py yap_ipython/html.py @@ -413,23 +412,12 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kerne DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kernel.js ) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/meta.js - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/meta.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/ - DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/meta.js - ) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/mode.js - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/mode.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/ - DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/mode.js - ) - - foreach(f ${FILES}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${f} COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${f} ${CMAKE_CURRENT_BINARY_DIR}/${f} @@ -441,13 +429,13 @@ endforeach() add_custom_target(YAP_KERNEL ALL - COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/meta.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/mode.js ${OUTS} YAP4PY + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js ${OUTS} YAP4PY ) install(CODE "execute_process( + COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist COMMAND ${PYTHON_EXECUTABLE} -m pip install ${PYTHON_USER_INSTALL} --ignore-installed --no-deps . COMMAND ${PYTHON_EXECUTABLE} -m yap_kernel.kernelspec ERROR_VARIABLE setupErr diff --git a/pl/preds.yap b/pl/preds.yap index 8c6a21fad..127fe10ed 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -112,7 +112,7 @@ undefined results. */ assert_static(C) :- - '$assert'(C , assertz_static, _ ). + '$assert'(C , assertz_static, _ ). /** @pred asserta_static(: _C_) @@ -122,7 +122,7 @@ Adds clause _C_ as the first clause for a static procedure. */ asserta_static(C) :- - '$assert'(C , asserta_static, _ ). + '$assert'(C , asserta_static, _ ). /** @pred assertz_static(: _C_) @@ -142,7 +142,7 @@ static predicates, if source mode was on when they were compiled: */ assertz_static(C) :- - '$assert'(C , assertz_static, _ ). + '$assert'(C , assertz_static, _ ). /** @pred clause(+ _H_, _B_) is iso @@ -158,9 +158,9 @@ This predicate is applicable to static procedures compiled with */ clause(V0,Q) :- - '$yap_strip_module'(V0, M, V), + '$yap_strip_module'(V0, M, V), must_be_of_type( callable, V ), - '$clause'(V,M,Q,_). + '$clause'(V,M,Q,_). /** @pred clause(+ _H_, _B_,- _R_) @@ -170,9 +170,9 @@ to access the reference's value. Note that you may not use erase/1 on the reference on static procedures. */ clause(P,Q,R) :- - '$instance_module'(R,M0), !, - instance(R,T0), - ( T0 = (H :- B) -> Q = B ; H=T0, Q = true), + '$instance_module'(R,M0), !, + instance(R,T0), + ( T0 = (H :- B) -> Q = B ; H=T0, Q = true), '$yap_strip_module'(P, M, T), '$yap_strip_module'(M0:H, M1, H1), ( @@ -183,44 +183,44 @@ clause(P,Q,R) :- M1:H1 = T ). clause(V0,Q,R) :- - '$yap_strip_module'(V0, M, V), + '$yap_strip_module'(V0, M, V), must_be_of_type( callable, V ), - '$clause'(V,M,Q,R). + '$clause'(V,M,Q,R). '$clause'(P,M,Q,R) :- - '$is_exo'(P, M), !, - Q = true, - R = '$exo_clause'(M,P), - '$execute0'(P, M). + '$is_exo'(P, M), !, + Q = true, + R = '$exo_clause'(M,P), + '$execute0'(P, M). '$clause'(P,M,Q,R) :- - '$is_log_updatable'(P, M), !, - '$log_update_clause'(P,M,Q,R). + '$is_log_updatable'(P, M), !, + '$log_update_clause'(P,M,Q,R). '$clause'(P,M,Q,R) :- - '$is_source'(P, M), !, - '$static_clause'(P,M,Q,R). + '$is_source'(P, M), !, + '$static_clause'(P,M,Q,R). '$clause'(P,M,Q,R) :- - '$some_recordedp'(M:P), !, - '$recordedp'(M:P,(P:-Q),R). + '$some_recordedp'(M:P), !, + '$recordedp'(M:P,(P:-Q),R). '$clause'(P,M,Q,R) :- - \+ '$undefined'(P,M), - ( '$is_system_predicate'(P,M) -> true ; - '$number_of_clauses'(P,M,N), N > 0 ), - functor(P,Name,Arity), - '$do_error'(permission_error(access,private_procedure,Name/Arity), - clause(M:P,Q,R)). + \+ '$undefined'(P,M), + ( '$is_system_predicate'(P,M) -> true ; + '$number_of_clauses'(P,M,N), N > 0 ), + functor(P,Name,Arity), + '$do_error'(permission_error(access,private_procedure,Name/Arity), + clause(M:P,Q,R)). '$init_preds' :- - once('$do_static_clause'(_,_,_,_,_)), - fail. + once('$do_static_clause'(_,_,_,_,_)), + fail. '$init_preds' :- - once('$do_log_upd_clause0'(_,_,_,_,_,_)), - fail. + once('$do_log_upd_clause0'(_,_,_,_,_,_)), + fail. '$init_preds' :- - once('$do_log_upd_clause'(_,_,_,_,_,_)), - fail. + once('$do_log_upd_clause'(_,_,_,_,_,_)), + fail. '$init_preds' :- - once('$do_log_upd_clause_erase'(_,_,_,_,_,_)), - fail. + once('$do_log_upd_clause_erase'(_,_,_,_,_,_)), + fail. '$init_preds'. @@ -237,16 +237,16 @@ and _I_ is bound to its position. */ nth_clause(V,I,R) :- - strip_module(V, M1, P), !, - '$nth_clause'(P, M1, I, R). + strip_module(V, M1, P), !, + '$nth_clause'(P, M1, I, R). '$nth_clause'(P,M,I,R) :- - var(I), var(R), !, - '$clause'(P,M,_,R), - '$fetch_nth_clause'(P,M,I,R). + var(I), var(R), !, + '$clause'(P,M,_,R), + '$fetch_nth_clause'(P,M,I,R). '$nth_clause'(P,M,I,R) :- - '$fetch_nth_clause'(P,M,I,R). + '$fetch_nth_clause'(P,M,I,R). /** @pred abolish(+ _P_,+ _N_) @@ -256,19 +256,19 @@ including whether it is dynamic or static, multifile, or meta-predicate, will be lost. */ abolish(N0,A) :- - strip_module(N0, Mod, N), !, - '$abolish'(N,A,Mod). + strip_module(N0, Mod, N), !, + '$abolish'(N,A,Mod). '$abolish'(N,A,M) :- var(N), !, - '$do_error'(instantiation_error,abolish(M:N,A)). + '$do_error'(instantiation_error,abolish(M:N,A)). '$abolish'(N,A,M) :- var(A), !, - '$do_error'(instantiation_error,abolish(M:N,A)). + '$do_error'(instantiation_error,abolish(M:N,A)). '$abolish'(N,A,M) :- - ( recorded('$predicate_defs','$predicate_defs'(N,A,M,_),R) -> erase(R) ), - fail. + ( recorded('$predicate_defs','$predicate_defs'(N,A,M,_),R) -> erase(R) ), + fail. '$abolish'(N,A,M) :- functor(T,N,A), - ( '$is_dynamic'(T, M) -> '$abolishd'(T,M) ; - /* else */ '$abolishs'(T,M) ). + ( '$is_dynamic'(T, M) -> '$abolishd'(T,M) ; + /* else */ '$abolishs'(T,M) ). /** @pred abolish(+ _PredSpec_) is iso @@ -283,141 +283,141 @@ dynamic procedures. Under other modes it will abolish any procedures. */ abolish(X0) :- - strip_module(X0,M,X), - '$abolish'(X,M). + strip_module(X0,M,X), + '$abolish'(X,M). '$abolish'(X,M) :- - current_prolog_flag(language, sicstus), !, - '$new_abolish'(X,M). + current_prolog_flag(language, sicstus), !, + '$new_abolish'(X,M). '$abolish'(X, M) :- - '$old_abolish'(X,M). + '$old_abolish'(X,M). '$new_abolish'(V,M) :- var(V), !, - '$abolish_all'(M). + '$abolish_all_in_module'(M). '$new_abolish'(A/V,M) :- atom(A), var(V), !, - '$abolish_all_atoms'(A,M). + '$abolish_all_atoms'(A,M). '$new_abolish'(Na//Ar1, M) :- - integer(Ar1), - !, - Ar is Ar1+2, - '$new_abolish'(Na//Ar, M). + integer(Ar1), + !, + Ar is Ar1+2, + '$new_abolish'(Na//Ar, M). '$new_abolish'(Na/Ar, M) :- - functor(H, Na, Ar), - '$is_dynamic'(H, M), !, - '$abolishd'(H, M). + functor(H, Na, Ar), + '$is_dynamic'(H, M), !, + '$abolishd'(H, M). '$new_abolish'(Na/Ar, M) :- % succeed for undefined procedures. - functor(T, Na, Ar), - '$undefined'(T, M), !. + functor(T, Na, Ar), + '$undefined'(T, M), !. '$new_abolish'(Na/Ar, M) :- - '$do_error'(permission_error(modify,static_procedure,Na/Ar),abolish(M:Na/Ar)). + '$do_error'(permission_error(modify,static_procedure,Na/Ar),abolish(M:Na/Ar)). '$new_abolish'(T, M) :- - '$do_error'(type_error(predicate_indicator,T),abolish(M:T)). + '$do_error'(type_error(predicate_indicator,T),abolish(M:T)). -'$abolish_all'(M) :- +'$abolish_all_in_module'(M) :- '$current_predicate'(Na, M, S, _), functor(S, Na, Ar), - '$new_abolish'(Na/Ar, M), - fail. -'$abolish_all'(_). + '$new_abolish'(Na/Ar, M), + fail. +'$abolish_all_in_module'(_). '$abolish_all_atoms'(Na, M) :- '$current_predicate'(Na,M,S,_), functor(S, Na, Ar), - '$new_abolish'(Na/Ar, M), - fail. + '$new_abolish'(Na/Ar, M), + fail. '$abolish_all_atoms'(_,_). '$check_error_in_predicate_indicator'(V, Msg) :- - var(V), !, - '$do_error'(instantiation_error, Msg). + var(V), !, + '$do_error'(instantiation_error, Msg). '$check_error_in_predicate_indicator'(M:S, Msg) :- !, - '$check_error_in_module'(M, Msg), - '$check_error_in_predicate_indicator'(S, Msg). + '$check_error_in_module'(M, Msg), + '$check_error_in_predicate_indicator'(S, Msg). '$check_error_in_predicate_indicator'(S, Msg) :- - S \= _/_, - S \= _//_, !, - '$do_error'(type_error(predicate_indicator,S), Msg). + S \= _/_, + S \= _//_, !, + '$do_error'(type_error(predicate_indicator,S), Msg). '$check_error_in_predicate_indicator'(Na/_, Msg) :- - var(Na), !, - '$do_error'(instantiation_error, Msg). + var(Na), !, + '$do_error'(instantiation_error, Msg). '$check_error_in_predicate_indicator'(Na/_, Msg) :- - \+ atom(Na), !, - '$do_error'(type_error(atom,Na), Msg). + \+ atom(Na), !, + '$do_error'(type_error(atom,Na), Msg). '$check_error_in_predicate_indicator'(_/Ar, Msg) :- - var(Ar), !, - '$do_error'(instantiation_error, Msg). + var(Ar), !, + '$do_error'(instantiation_error, Msg). '$check_error_in_predicate_indicator'(_/Ar, Msg) :- - \+ integer(Ar), !, - '$do_error'(type_error(integer,Ar), Msg). + \+ integer(Ar), !, + '$do_error'(type_error(integer,Ar), Msg). '$check_error_in_predicate_indicator'(_/Ar, Msg) :- - Ar < 0, !, - '$do_error'(domain_error(not_less_than_zero,Ar), Msg). + Ar < 0, !, + '$do_error'(domain_error(not_less_than_zero,Ar), Msg). % not yet implemented! %'$check_error_in_predicate_indicator'(Na/Ar, Msg) :- % Ar < maxarity, !, % '$do_error'(type_error(representation_error(max_arity),Ar), Msg). '$check_error_in_module'(M, Msg) :- - var(M), !, - '$do_error'(instantiation_error, Msg). + var(M), !, + '$do_error'(instantiation_error, Msg). '$check_error_in_module'(M, Msg) :- - \+ atom(M), !, - '$do_error'(type_error(atom,M), Msg). + \+ atom(M), !, + '$do_error'(type_error(atom,M), Msg). '$old_abolish'(V,M) :- var(V), !, - ( true -> % current_prolog_flag(language, sicstus) -> - '$do_error'(instantiation_error,abolish(M:V)) - ; - '$abolish_all_old'(M) - ). + ( true -> % current_prolog_flag(language, sicstus) -> + '$do_error'(instantiation_error,abolish(M:V)) + ; + '$abolish_all_old'(M) + ). '$old_abolish'(N/A, M) :- !, - '$abolish'(N, A, M). + '$abolish'(N, A, M). '$old_abolish'(A,M) :- atom(A), !, - ( current_prolog_flag(language, iso) -> - '$do_error'(type_error(predicate_indicator,A),abolish(M:A)) - ; - '$abolish_all_atoms_old'(A,M) - ). + ( current_prolog_flag(language, iso) -> + '$do_error'(type_error(predicate_indicator,A),abolish(M:A)) + ; + '$abolish_all_atoms_old'(A,M) + ). '$old_abolish'([], _) :- !. '$old_abolish'([H|T], M) :- !, '$old_abolish'(H, M), '$old_abolish'(T, M). '$old_abolish'(T, M) :- - '$do_error'(type_error(predicate_indicator,T),abolish(M:T)). + '$do_error'(type_error(predicate_indicator,T),abolish(M:T)). '$abolish_all_old'(M) :- '$current_predicate'(Na, M, S, _), - functor( S, Na, Ar ), - '$abolish'(Na, Ar, M), - fail. + functor( S, Na, Ar ), + '$abolish'(Na, Ar, M), + fail. '$abolish_all_old'(_). '$abolish_all_atoms_old'(Na, M) :- '$current_predicate'(Na, M, S, _), - functor(S, Na, Ar), - '$abolish'(Na, Ar, M), - fail. + functor(S, Na, Ar), + '$abolish'(Na, Ar, M), + fail. '$abolish_all_atoms_old'(_,_). '$abolishs'(G, M) :- '$system_predicate'(G,M), !, - functor(G,Name,Arity), - '$do_error'(permission_error(modify,static_procedure,Name/Arity),abolish(M:G)). + functor(G,Name,Arity), + '$do_error'(permission_error(modify,static_procedure,Name/Arity),abolish(M:G)). '$abolishs'(G, Module) :- - current_prolog_flag(language, sicstus), % only do this in sicstus mode - '$undefined'(G, Module), - functor(G,Name,Arity), - print_message(warning,no_match(abolish(Module:Name/Arity))). + current_prolog_flag(language, sicstus), % only do this in sicstus mode + '$undefined'(G, Module), + functor(G,Name,Arity), + print_message(warning,no_match(abolish(Module:Name/Arity))). '$abolishs'(G, M) :- - '$is_multifile'(G,M), - functor(G,Name,Arity), - recorded('$mf','$mf_clause'(_,Name,Arity,M,_Ref),R), - erase(R), + '$is_multifile'(G,M), + functor(G,Name,Arity), + recorded('$mf','$mf_clause'(_,Name,Arity,M,_Ref),R), + erase(R), % no need erase(Ref), - fail. + fail. '$abolishs'(T, M) :- - recorded('$import','$import'(_,M,_,_,T,_,_),R), - erase(R), - fail. + recorded('$import','$import'(_,M,_,_,T,_,_),R), + erase(R), + fail. '$abolishs'(G, M) :- - '$purge_clauses'(G, M), fail. + '$purge_clauses'(G, M), fail. '$abolishs'(_, _). /** @pred stash_predicate(+ _Pred_) @@ -426,16 +426,16 @@ Make predicate _Pred_ invisible to new code, and to `current_predicate/2`, functor can be declared. **/ stash_predicate(P0) :- - strip_module(P0, M, P), - '$stash_predicate2'(P, M). + strip_module(P0, M, P), + '$stash_predicate2'(P, M). '$stash_predicate2'(V, M) :- var(V), !, - '$do_error'(instantiation_error,stash_predicate(M:V)). + '$do_error'(instantiation_error,stash_predicate(M:V)). '$stash_predicate2'(N/A, M) :- !, - functor(S,N,A), - '$stash_predicate'(S, M) . + functor(S,N,A), + '$stash_predicate'(S, M) . '$stash_predicate2'(PredDesc, M) :- - '$do_error'(type_error(predicate_indicator,PredDesc),stash_predicate(M:PredDesc)). + '$do_error'(type_error(predicate_indicator,PredDesc),stash_predicate(M:PredDesc)). /** @pred hide_predicate(+ _Pred_) Make predicate _Pred_ invisible to `current_predicate/2`, @@ -443,9 +443,9 @@ Make predicate _Pred_ invisible to `current_predicate/2`, **/ hide_predicate(P0) :- - '$yap_strip_module'(P0, M, P), - must_be_of_type(callable, M:P), - '$hide_predicate'(P, M). + '$yap_strip_module'(P0, M, P), + must_be_of_type(callable, M:P), + '$hide_predicate'(P, M). /** @pred predicate_property( _P_, _Prop_) is iso @@ -492,13 +492,13 @@ or built-in. */ predicate_property(Pred,Prop) :- ( - current_predicate(_,Pred), - '$yap_strip_module'(Pred, Mod, TruePred) + current_predicate(_,Pred), + '$yap_strip_module'(Pred, Mod, TruePred) ; '$current_predicate'(_,M,Pred,system), '$yap_strip_module'(M:Pred, Mod, TruePred) ), - + ( '$pred_exists'(TruePred, Mod) -> @@ -506,41 +506,41 @@ predicate_property(Pred,Prop) :- NPred = TruePred ; '$get_undefined_pred'(TruePred, Mod, NPred, M) - ), + ), '$predicate_property'(NPred,M,Mod,Prop). '$predicate_property'(P,M,_,built_in) :- - '$is_system_predicate'(P,M). + '$is_system_predicate'(P,M). '$predicate_property'(P,M,_,source) :- - '$predicate_flags'(P,M,F,F), - F /\ 0x00400000 =\= 0. + '$predicate_flags'(P,M,F,F), + F /\ 0x00400000 =\= 0. '$predicate_property'(P,M,_,tabled) :- - '$predicate_flags'(P,M,F,F), - F /\ 0x00000040 =\= 0. + '$predicate_flags'(P,M,F,F), + F /\ 0x00000040 =\= 0. '$predicate_property'(P,M,_,dynamic) :- - '$is_dynamic'(P,M). + '$is_dynamic'(P,M). '$predicate_property'(P,M,_,static) :- - \+ '$is_dynamic'(P,M), - \+ '$undefined'(P,M). + \+ '$is_dynamic'(P,M), + \+ '$undefined'(P,M). '$predicate_property'(P,M,_,meta_predicate(Q)) :- - functor(P,Na,Ar), - prolog:'$meta_predicate'(Na,M,Ar,Q). + functor(P,Na,Ar), + prolog:'$meta_predicate'(Na,M,Ar,Q). '$predicate_property'(P,M,_,multifile) :- - '$is_multifile'(P,M). + '$is_multifile'(P,M). '$predicate_property'(P,M,_,public) :- - '$is_public'(P,M). + '$is_public'(P,M). '$predicate_property'(P,M,_,thread_local) :- - '$is_thread_local'(P,M). + '$is_thread_local'(P,M). '$predicate_property'(P,M,M,exported) :- - functor(P,N,A), - once(recorded('$module','$module'(_TFN,M,_S,Publics,_L),_)), - lists:memberchk(N/A,Publics). + functor(P,N,A), + once(recorded('$module','$module'(_TFN,M,_S,Publics,_L),_)), + lists:memberchk(N/A,Publics). '$predicate_property'(P,M,M0,imported_from(M0)) :- M \= M0. '$predicate_property'(P,Mod,_,number_of_clauses(NCl)) :- - '$number_of_clauses'(P,Mod,NCl). + '$number_of_clauses'(P,Mod,NCl). '$predicate_property'(P,Mod,_,file(F)) :- - '$owner_file'(P,Mod,F). + '$owner_file'(P,Mod,F). /** @@ -552,22 +552,22 @@ Given predicate _P_, _NCls_ is the number of clauses for indices to those clauses (in bytes). */ predicate_statistics(V,NCls,Sz,ISz) :- var(V), !, - '$do_error'(instantiation_error,predicate_statistics(V,NCls,Sz,ISz)). + '$do_error'(instantiation_error,predicate_statistics(V,NCls,Sz,ISz)). predicate_statistics(P0,NCls,Sz,ISz) :- - strip_module(P0, M, P), - '$predicate_statistics'(P,M,NCls,Sz,ISz). + strip_module(P0, M, P), + '$predicate_statistics'(P,M,NCls,Sz,ISz). '$predicate_statistics'(M:P,_,NCls,Sz,ISz) :- !, - '$predicate_statistics'(P,M,NCls,Sz,ISz). + '$predicate_statistics'(P,M,NCls,Sz,ISz). '$predicate_statistics'(P,M,NCls,Sz,ISz) :- - '$is_log_updatable'(P, M), !, - '$lu_statistics'(P,NCls,Sz,ISz,M). + '$is_log_updatable'(P, M), !, + '$lu_statistics'(P,NCls,Sz,ISz,M). '$predicate_statistics'(P,M,_,_,_) :- - '$is_system_predicate'(P,M), !, fail. + '$is_system_predicate'(P,M), !, fail. '$predicate_statistics'(P,M,_,_,_) :- - '$undefined'(P,M), !, fail. + '$undefined'(P,M), !, fail. '$predicate_statistics'(P,M,NCls,Sz,ISz) :- - '$static_pred_statistics'(P,M,NCls,Sz,ISz). + '$static_pred_statistics'(P,M,NCls,Sz,ISz). /** @pred predicate_erased_statistics( _P_, _NCls_, _Sz_, _IndexSz_) @@ -580,36 +580,36 @@ of space required to store indices to those clauses (in bytes). */ predicate_erased_statistics(P,NCls,Sz,ISz) :- var(P), !, - current_predicate(_,P), - predicate_erased_statistics(P,NCls,Sz,ISz). + current_predicate(_,P), + predicate_erased_statistics(P,NCls,Sz,ISz). predicate_erased_statistics(P0,NCls,Sz,ISz) :- - strip_module(P0,M,P), - '$predicate_erased_statistics'(M:P,NCls,Sz,_,ISz). + strip_module(P0,M,P), + '$predicate_erased_statistics'(M:P,NCls,Sz,_,ISz). /** @pred current_predicate( _A_, _P_) Defines the relation: _P_ is a currently defined predicate whose name is the atom _A_. */ current_predicate(A,T0) :- - '$yap_strip_module'(T0, M, T), + '$yap_strip_module'(T0, M, T), ( var(Mod) -> - '$all_current_modules'(M) + '$all_current_modules'(M) ; - true + true ), (nonvar(T) -> functor(T, A, _) ; true ), - ( - '$current_predicate'(A,M, T, user) + ( + '$current_predicate'(A,M, T, user) ; - (nonvar(T) + (nonvar(T) -> '$imported_predicate'(T, M, T1, M1) ; '$generate_imported_predicate'(T, M, T1, M1) ), - functor(T1, A, _), - \+ '$is_system_predicate'(T1,M1) + functor(T1, A, _), + \+ '$is_system_predicate'(T1,M1) ). /** @pred system_predicate( ?_P_ ) @@ -617,7 +617,7 @@ current_predicate(A,T0) :- Defines the relation: indicator _P_ refers to a currently defined system predicate. */ system_predicate(P0) :- - '$yap_strip_module'(P0, M0, P), + '$yap_strip_module'(P0, M0, P), ( M= M0 ; M0 \= user, M = user ; M0 \= prolog, M = prolog ), ( var(P) @@ -668,7 +668,7 @@ system_predicate(P0) :- */ system_predicate(A, P0) :- - '$yap_strip_module'(P0, M, P), + '$yap_strip_module'(P0, M, P), ( nonvar(P) -> @@ -688,35 +688,35 @@ system_predicate(A, P0) :- _Na_ is the name of the predicate, and _Ar_ its arity. */ current_predicate(F0) :- - '$yap_strip_module'(F0, M, F), - must_bind_to_type( predicate_indicator, F ), - '$c_i_predicate'( F, M ). + '$yap_strip_module'(F0, M, F), + must_bind_to_type( predicate_indicator, F ), + '$c_i_predicate'( F, M ). '$c_i_predicate'( A/N, M ) :- - !, - ( - ground(A/N) - -> - atom(A), integer(N), - functor(S, A, N), - current_predicate(A, M:S) - ; - current_predicate(A, M:S), - functor(S, A, N) - ). + !, + ( + ground(A/N) + -> + atom(A), integer(N), + functor(S, A, N), + current_predicate(A, M:S) + ; + current_predicate(A, M:S), + functor(S, A, N) + ). '$c_i_predicate'( A//N, M ) :- - ( - ground(A) - -> - atom(A), integer(N), - N2 is N+2, - functor(S, A, N2), - current_predicate(A, M:S) - ; - current_predicate(A, M:S), - functor(S, A, N2), - N is N2-2 - ). + ( + ground(A) + -> + atom(A), integer(N), + N2 is N+2, + functor(S, A, N2), + current_predicate(A, M:S) + ; + current_predicate(A, M:S), + functor(S, A, N2), + N is N2-2 + ). /** @pred current_key(? _A_,? _K_) @@ -726,17 +726,17 @@ name is the atom _A_. It can be used to generate all the keys for the internal data-base. */ current_key(A,K) :- - '$current_predicate'(A,idb,K,user). + '$current_predicate'(A,idb,K,user). % do nothing for now. '$noprofile'(_, _). '$ifunctor'(Pred,Na,Ar) :- - (Ar > 0 -> - functor(Pred, Na, Ar) - ; - Pred = Na - ). + (Ar > 0 -> + functor(Pred, Na, Ar) + ; + Pred = Na + ). /** @pred compile_predicates(: _ListOfNameArity_) @@ -752,68 +752,69 @@ of the program that is generated at runtime but does not change during the remainder of the program execution. */ compile_predicates(Ps) :- - '$current_module'(Mod), - '$compile_predicates'(Ps, Mod, compile_predicates(Ps)). + '$current_module'(Mod), + '$compile_predicates'(Ps, Mod, compile_predicates(Ps)). '$compile_predicates'(V, _, Call) :- - var(V), !, - '$do_error'(instantiation_error,Call). + var(V), !, + '$do_error'(instantiation_error,Call). '$compile_predicates'(M:Ps, _, Call) :- - '$compile_predicates'(Ps, M, Call). + '$compile_predicates'(Ps, M, Call). '$compile_predicates'([], _, _). '$compile_predicates'([P|Ps], M, Call) :- - '$compile_predicate'(P, M, Call), - '$compile_predicates'(Ps, M, Call). + '$compile_predicate'(P, M, Call), + '$compile_predicates'(Ps, M, Call). '$compile_predicate'(P, _M, Call) :- - var(P), !, - '$do_error'(instantiation_error,Call). + var(P), !, + '$do_error'(instantiation_error,Call). '$compile_predicate'(M:P, _, Call) :- - '$compile_predicate'(P, M, Call). + '$compile_predicate'(P, M, Call). '$compile_predicate'(Na/Ar, Mod, _Call) :- - functor(G, Na, Ar), - findall([G|B],clause(Mod:G,B),Cls), - abolish(Mod:Na,Ar), - '$add_all'(Cls, Mod). + functor(G, Na, Ar), + findall([G|B],clause(Mod:G,B),Cls), + abolish(Mod:Na,Ar), + '$add_all'(Cls, Mod). '$add_all'([], _). '$add_all'([[G|B]|Cls], Mod) :- - assert_static(Mod:(G:-B)), - '$add_all'(Cls, Mod). + assert_static(Mod:(G:-B)), + '$add_all'(Cls, Mod). clause_property(ClauseRef, file(FileName)) :- - ( recorded('$mf','$mf_clause'(FileName,_Name,_Arity,_Module,ClauseRef),_R) - -> true - ; - instance_property(ClauseRef, 2, FileName) ). + ( recorded('$mf','$mf_clause'(FileName,_Name,_Arity,_Module,ClauseRef),_R) + -> true + ; + instance_property(ClauseRef, 2, FileName) ). clause_property(ClauseRef, source(FileName)) :- - ( recorded('$mf','$mf_clause'(FileName,_Name,_Arity,_Module,ClauseRef),_R) - -> true - ; - instance_property(ClauseRef, 2, FileName) ). + ( recorded('$mf','$mf_clause'(FileName,_Name,_Arity,_Module,ClauseRef),_R) + -> true + ; + instance_property(ClauseRef, 2, FileName) ). clause_property(ClauseRef, line_count(LineNumber)) :- - instance_property(ClauseRef, 4, LineNumber), - LineNumber > 0. + instance_property(ClauseRef, 4, LineNumber), + LineNumber > 0. clause_property(ClauseRef, fact) :- - instance_property(ClauseRef, 3, true). + instance_property(ClauseRef, 3, true). clause_property(ClauseRef, erased) :- - instance_property(ClauseRef, 0, true). + instance_property(ClauseRef, 0, true). clause_property(ClauseRef, predicate(PredicateIndicator)) :- - instance_property(ClauseRef, 1, PredicateIndicator). + instance_property(ClauseRef, 1, PredicateIndicator). '$set_predicate_attribute'(M:N/Ar, Flag, V) :- - functor(P, N, Ar), - '$set_flag'(P, M, Flag, V). + functor(P, N, Ar), + '$set_flag'(P, M, Flag, V). %% '$set_flag'(P, M, trace, off) :- % set a predicate flag % '$set_flag'(P, M, trace, off) :- - '$predicate_flags'(P,M,F,F), + '$predicate_flags'(P,M,F,F), FN is F \/ 0x400000000, - '$predicate_flags'(P,M,F,FN). + '$predicate_flags'(P,M,F,FN). /** @} */ + From 8f5fd1ddc29184c0210e6d8051d901771e59829c Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 1 Aug 2018 03:08:10 +0100 Subject: [PATCH 20/57] 6.4.1 --- CMakeLists.txt | 2 +- packages/python/pyio.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 70b1c797e..f74d6cc0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -374,7 +374,7 @@ set(YAP_FOUND ON) set(YAP_MAJOR_VERSION 6) set(YAP_MINOR_VERSION 4) -set(YAP_PATCH_VERSION 0) +set(YAP_PATCH_VERSION 1) set(YAP_FULL_VERSION ${YAP_MAJOR_VERSION}.${YAP_MINOR_VERSION}.${YAP_PATCH_VERSION}) diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 1812b5774..d5033b862 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -134,9 +134,9 @@ static bool pygetLine(StreamDesc *rl_iostream, int sno) { PyObject *user_line; StreamDesc *s = YAP_GetStreamFromId(sno); //term_t tg = python_acquire_GIL(); - if (1) { //!strcmp(RepAtom(s->name)->StrOfAE,"input")) { + if (!strcmp(RepAtom(s->name)->StrOfAE,"input") && ) { // note that input may change - PyObject *pystream = PyDict_GetItemString( Py_B``, "input"); + PyObject *pystream = PyDict_GetItemString( Py_Builtins, "input"); if (pystream == NULL) { if ((err = PyErr_Occurred())) { PyErr_Print(); From e455d6cc6a3ecfcb09af1130700909f918572285 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 6 Aug 2018 21:09:02 +0100 Subject: [PATCH 21/57] mark visit with ,, instead of [] --- C/utilpreds.c | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/C/utilpreds.c b/C/utilpreds.c index fab75ad12..b1ff1d476 100644 --- a/C/utilpreds.c +++ b/C/utilpreds.c @@ -372,7 +372,7 @@ handle_cp_overflow(int res, tr_fr_ptr TR0, UInt arity, Term t) switch(res) { case -1: if (!Yap_gcl((ASP-HR)*sizeof(CELL), arity+1, ENV, gc_P(P,CP))) { - Yap_Error(RESOURCE_ERROR_STACK, TermNil, LOCAL_ErrorMessage); + Yap_Error(RESOURCE_ERROR_STACK, TermFoundVar, LOCAL_ErrorMessage); return 0L; } return Deref(XREGS[arity+1]); @@ -1349,7 +1349,7 @@ static Term vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, Ter to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1377,7 +1377,7 @@ static Term vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, Ter to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1683,7 +1683,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, } { CELL *npt0 = RepPair(d0); - if(IsAtomicTerm(Deref(npt0[0]))) { + if(Deref(npt0[0]) == TermFoundVar) { pt0 = npt0; pt0_end = pt0 + 1; continue; @@ -1694,7 +1694,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1722,7 +1722,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1741,7 +1741,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, derefa_body(d0, ptd0, attvars_in_term_unk, attvars_in_term_nvar); if (IsAttVar(ptd0)) { /* do or pt2 are unbound */ - *ptd0 = TermNil; + *ptd0 = TermFoundVar; /* next make sure noone will see this as a variable again */ if (TR > (tr_fr_ptr)LOCAL_TrailTop - 256) { /* Trail overflow */ @@ -1767,7 +1767,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1963,7 +1963,7 @@ static Term vars_within_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2160,7 +2160,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2188,7 +2188,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2205,7 +2205,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, derefa_body(d0, ptd0, vars_within_term_unk, vars_within_term_nvar); /* do or pt2 are unbound */ - *ptd0 = TermNil; + *ptd0 = TermFoundVar; /* leave an empty slot to fill in later */ if (HR+1024 > ASP) { goto global_overflow; @@ -2350,7 +2350,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2378,7 +2378,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2395,7 +2395,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end derefa_body(d0, ptd0, vars_within_term_unk, vars_within_term_nvar); /* do or pt2 are unbound */ - *ptd0 = TermNil; + *ptd0 = TermFoundVar; /* leave an empty slot to fill in later */ if (HR+1024 > ASP) { goto global_overflow; @@ -2507,7 +2507,7 @@ static Term bind_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2535,7 +2535,7 @@ static Term bind_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2706,7 +2706,7 @@ static Term non_singletons_in_complex_term(register CELL *pt0, register CELL *pt to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2735,7 +2735,7 @@ static Term non_singletons_in_complex_term(register CELL *pt0, register CELL *pt to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -2864,7 +2864,7 @@ static Int ground_complex_term(register CELL *pt0, register CELL *pt0_end USES_R to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2892,7 +2892,7 @@ static Int ground_complex_term(register CELL *pt0, register CELL *pt0_end USES_R to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3043,7 +3043,7 @@ static Int sz_ground_complex_term(register CELL *pt0, register CELL *pt0_end, in to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -3072,7 +3072,7 @@ static Int sz_ground_complex_term(register CELL *pt0, register CELL *pt0_end, in to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3191,7 +3191,7 @@ static Int var_in_complex_term(register CELL *pt0, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -3221,7 +3221,7 @@ static Int var_in_complex_term(register CELL *pt0, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3251,7 +3251,7 @@ static Int var_in_complex_term(register CELL *pt0, return(TRUE); } /* do or pt2 are unbound */ - *ptd0 = TermNil; + *ptd0 = TermFoundVar; /* next make sure noone will see this as a variable again */ TrailTerm(TR++) = (CELL)ptd0; } @@ -4628,7 +4628,7 @@ loop: to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermNil; + *pt0 = TermFoundVar; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -4661,7 +4661,7 @@ loop: to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermNil; + *pt0 = TermFoundVar; #endif d0 = ArityOfFunctor(f); pt0 = ap2; From 05733938c1c0a254917fde7db1acd951651fa795 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 7 Aug 2018 17:20:43 +0100 Subject: [PATCH 22/57] android --- CXX/yapi.cpp | 38 ++++++++++++++++++---------- CXX/yapt.hh | 9 +++++-- os/readterm.c | 5 ---- packages/myddas/myddas_shared.c | 18 +++++++------ packages/myddas/sqlite3/sqlitest.yap | 12 +++++---- packages/swig/yap.i | 35 ++++++++++++------------- 6 files changed, 67 insertions(+), 50 deletions(-) diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index c50947e81..cc2587370 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -255,19 +255,31 @@ YAPApplTerm::YAPApplTerm(YAPFunctor f, YAPTerm ts[]) { RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, std::vector ts) { - BACKUP_H(); - arity_t arity = ts.size(); - Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); - Term o = Yap_MkNewApplTerm(ff, arity); - Term *tt = RepAppl(o) + 1; - for (arity_t i = 0; i < arity; i++) - tt[i] = ts[i]; - mk(o); +YAPApplTerm::YAPApplTerm(const std::string f, std::vector ts) { + BACKUP_H(); + arity_t arity = ts.size(); + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + for (arity_t i = 0; i < arity; i++) + tt[i] = ts[i]; + mk(o); RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1) { +YAPApplTerm::YAPApplTerm(const std::string f, std::vector ts) { + BACKUP_H(); + arity_t arity = ts.size(); + Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); + Term o = Yap_MkNewApplTerm(ff, arity); + Term *tt = RepAppl(o) + 1; + for (arity_t i = 0; i < arity; i++) + tt[i] = ts[i].term(); + mk(o); + RECOVER_H(); +} + +YAPApplTerm::YAPApplTerm(const std::string f, YAPTerm a1) { BACKUP_H(); arity_t arity = 1; Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); @@ -278,7 +290,7 @@ YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1) { RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2) { +YAPApplTerm::YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2) { BACKUP_H(); arity_t arity = 2; Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); @@ -290,7 +302,7 @@ YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2) { RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3) { +YAPApplTerm::YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3) { BACKUP_H(); arity_t arity = 3; Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); @@ -303,7 +315,7 @@ YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3) { RECOVER_H(); } -YAPApplTerm::YAPApplTerm(std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3, YAPTerm a4) { +YAPApplTerm::YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3, YAPTerm a4) { BACKUP_H(); arity_t arity = 4; Functor ff = Yap_MkFunctor(Yap_LookupAtom(f.c_str()), arity); diff --git a/CXX/yapt.hh b/CXX/yapt.hh index 59ca8da63..c7086702f 100644 --- a/CXX/yapt.hh +++ b/CXX/yapt.hh @@ -307,12 +307,17 @@ YAPApplTerm(Functor f, Term ts[]) { mk(Yap_MkNewApplTerm(Yap_MkFunctor(Yap_LookupAtom(s.c_str()), arity), arity)); }; - YAPApplTerm(const std::string s, std::vector ts); + YAPApplTerm(const std::string s, std::vector ts); + YAPApplTerm(const std::string s, std::vector ts); YAPApplTerm(YAPFunctor f); inline Functor functor() { return FunctorOfTerm(gt()); } inline YAPFunctor getFunctor() { return YAPFunctor(FunctorOfTerm(gt())); } + YAPApplTerm(const std::string f, YAPTerm a1); + YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2); + YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3); + YAPApplTerm(const std::string f, YAPTerm a1, YAPTerm a2, YAPTerm a3, YAPTerm a4); - Term getArg(arity_t i) { + Term getArg(arity_t i) { BACKUP_MACHINE_REGS(); Term t0 = gt(); Term tf; diff --git a/os/readterm.c b/os/readterm.c index 4eac3b162..1fdad1a7f 100644 --- a/os/readterm.c +++ b/os/readterm.c @@ -835,11 +835,6 @@ static parser_state_t initParser(Term opts, FEnv *fe, REnv *re, int inp_stream, LOCAL_ErrorMessage = NULL; fe->old_TR = TR; LOCAL_Error_TYPE = YAP_NO_ERROR; - __android_log_print(ANDROID_LOG_INFO, "YAPDroid ", " open %s, %d", - CurrentModule == 0 - ? "prolog" - : RepAtom(AtomOfTerm(CurrentModule))->StrOfAE, - inp_stream); LOCAL_SourceFileName = GLOBAL_Stream[inp_stream].name; LOCAL_eot_before_eof = false; fe->tpos = StreamPosition(inp_stream); diff --git a/packages/myddas/myddas_shared.c b/packages/myddas/myddas_shared.c index 0631929f3..e150165e3 100644 --- a/packages/myddas/myddas_shared.c +++ b/packages/myddas/myddas_shared.c @@ -15,12 +15,15 @@ * * *************************************************************************/ #include "Yap.h" -#ifdef USE_MYDDAS #include "Yatom.h" -#include "cut_c.h" -#include "myddas.h" #include + + +#ifdef USE_MYDDAS + +#include "myddas.h" + #ifdef MYDDAS_STATS #include "myddas_statistics.h" #endif @@ -678,6 +681,8 @@ void Yap_MYDDAS_delete_all_myddas_structs(void) { #endif } +#endif + void init_myddas(void) { CACHE_REGS if (myddas_initialised) @@ -701,9 +706,6 @@ void init_myddas(void) { Yap_MYDDAS_delete_all_myddas_structs(); #if defined MYDDAS_ODBC Yap_InitBackMYDDAS_ODBCPreds(); -#endif -#endif -#if defined MYDDAS_ODBC Yap_InitMYDDAS_ODBCPreds(); #endif #if defined MYDDAS_TOP_LEVEL && \ @@ -711,9 +713,9 @@ void init_myddas(void) { Yap_InitMYDDAS_TopLevelPreds(); #endif c_db_initialize_myddas(PASS_REGS1); -#ifdef __ANDROiD__ +#ifdef __ANDROID__ init_sqlite3(); - #endif +#endif #endif myddas_initialised = true; CurrentModule = cm; diff --git a/packages/myddas/sqlite3/sqlitest.yap b/packages/myddas/sqlite3/sqlitest.yap index f11bd77d3..4c34fd54c 100644 --- a/packages/myddas/sqlite3/sqlitest.yap +++ b/packages/myddas/sqlite3/sqlitest.yap @@ -13,12 +13,14 @@ main_ :- fail. main_ . -:- if yap_flag(android,true). +:- if( yap_flag(android,true) ). +init :- + db_open(sqlite3, '/data/user/0/pt.up.yap/files/chinook.db', _, _), + !, + writeln('chinook has landed'). + init :- catch(db_open(sqlite3,'chinook.db',_,_), _, fail), - !. -init :- - db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _), % db_open(sqlite3, 'chinook.db', _, _), writeln('chinook has landed'). :- else. @@ -26,7 +28,7 @@ init :- db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _), % db_open(sqlite3, 'chinook.db', _, _), writeln('chinook has landed'). -:-endif +:-endif. go :- writeln(('db_import')), diff --git a/packages/swig/yap.i b/packages/swig/yap.i index aa5a8b1ce..85b6b92cb 100644 --- a/packages/swig/yap.i +++ b/packages/swig/yap.i @@ -124,6 +124,19 @@ YAPError = _yap.YAPError %typecheck(0) YAPTerm { $1 = !PyUnicode_Check($input); } + %exception { + try { + $action + } catch (const std::out_of_range& e) { + SWIG_exception(SWIG_IndexError, e.what()); + } catch (const std::exception& e) { + SWIG_exception(SWIG_RuntimeError, e.what()); + } catch (...) { + SWIG_exception(SWIG_RuntimeError, "unknown exception"); + } + } + + #else %typemap(in) arity_t { (jlong)($input); } @@ -139,19 +152,6 @@ YAPError = _yap.YAPError // Language independent exception handler // simplified version %include - - %exception { - try { - $action - } catch (const std::out_of_range& e) { - SWIG_exception(SWIG_IndexError, e.what()); - } catch (const std::exception& e) { - SWIG_exception(SWIG_RuntimeError, e.what()); - } catch (...) { - SWIG_exception(SWIG_RuntimeError, "unknown exception"); - } - } - #endif @@ -351,8 +351,9 @@ static void }; %init %{ - PyObject * pYAPError = PyErr_NewException("_yap.YAPError", NULL, NULL); - Py_INCREF(pYAPError); - PyModule_AddObject(m, "YAPError", pYAPError); - +#ifdef SWIGYTHON + PyObject * pYAPError = PyErr_NewException("_yap.YAPError", NULL, NULL); + Py_INCREF(pYAPError); + PyModule_AddObject(m, "YAPError", pYAPError); +#endif %} From 6cdd35b6e12efa25bdc8f0cda7269c30973b03d0 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 7 Aug 2018 17:25:05 +0100 Subject: [PATCH 23/57] text --- C/text.c | 7 +++++++ H/YapText.h | 40 +++++++++++++++++++++------------------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/C/text.c b/C/text.c index b1b78aeb9..2409307bd 100644 --- a/C/text.c +++ b/C/text.c @@ -445,6 +445,13 @@ unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { Yap_ThrowError(LOCAL_Error_TYPE, inp->val.t, "while reading text in"); } } + + if ((inp->val.t == TermNil) && inp->type & YAP_STRING_PREFER_LIST ) + { + out = Malloc(4); + memset(out, 0, 4); + POPRET( out ); + } if (IsAtomTerm(inp->val.t) && inp->type & YAP_STRING_ATOM) { // this is a term, extract to a buffer, and representation is wide // Yap_DebugPlWriteln(inp->val.t); diff --git a/H/YapText.h b/H/YapText.h index ff3edd105..ee3cec3b1 100644 --- a/H/YapText.h +++ b/H/YapText.h @@ -179,19 +179,20 @@ extern Term Yap_tokRep(void *tokptr); // standard strings -typedef enum { - YAP_STRING_STRING = 0x1, /// target is a string term - YAP_STRING_CODES = 0x2, /// target is a list of integer codes - YAP_STRING_ATOMS = 0x4, /// target is a list of kength-1 atom - YAP_STRING_ATOMS_CODES = 0x6, /// targt is list of atoms or codes - YAP_STRING_CHARS = 0x8, /// target is a buffer, with byte-sized units - YAP_STRING_WCHARS = 0x10, /// target is a buffer of wide chars - YAP_STRING_ATOM = 0x20, /// tarfet is an ayom - YAP_STRING_INT = 0x40, /// target is an integer term - YAP_STRING_FLOAT = 0x80, /// target is a floar term - YAP_STRING_BIG = 0x100, /// target is an big num term - YAP_STRING_DATUM = 0x200, /// associated with previous 3, use actual object if type, not tern - YAP_STRING_LENGTH = 0x400, /// input: length is fixed; output: return integer with length +typedef enum +{ + YAP_STRING_STRING = 0x1, /// target is a string term + YAP_STRING_CODES = 0x2, /// target is a list of integer codes + YAP_STRING_ATOMS = 0x4, /// target is a list of kength-1 atom + YAP_STRING_ATOMS_CODES = 0x6, /// targt is list of atoms or codes + YAP_STRING_CHARS = 0x8, /// target is a buffer, with byte-sized units + YAP_STRING_WCHARS = 0x10, /// target is a buffer of wide chars + YAP_STRING_ATOM = 0x20, /// tarfet is an ayom + YAP_STRING_INT = 0x40, /// target is an integer term + YAP_STRING_FLOAT = 0x80, /// target is a floar term + YAP_STRING_BIG = 0x100, /// target is an big num term + YAP_STRING_DATUM = 0x200, /// associated with previous 3, use actual object if type, not tern + YAP_STRING_LENGTH = 0x400, /// input: length is fixed; output: return integer with length YAP_STRING_NTH = 0x800, /// input: ignored; output: nth char YAP_STRING_TERM = 0x1000, // Generic term, if nothing else given YAP_STRING_DIFF = 0x2000, // difference list @@ -204,7 +205,8 @@ typedef enum { YAP_STRING_UPCASE = 0x100000, // output on malloced buffer YAP_STRING_DOWNCASE = 0x200000, // output on malloced buffer YAP_STRING_IN_TMP = 0x400000, // temporary space has been allocated - YAP_STRING_OUTPUT_TERM = 0x800000 // when we're not sure + YAP_STRING_OUTPUT_TERM = 0x800000, // when we're not sure + YAP_STRING_PREFER_LIST = 0x1000000 // when we're not sure } enum_seq_type_t; typedef UInt seq_type_t; @@ -522,7 +524,7 @@ static inline Term Yap_AtomSWIToListOfAtoms(Term t0 USES_REGS) { inp.val.t = t0; inp.type = YAP_STRING_ATOM | YAP_STRING_STRING | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES; + YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES; out.val.uc = NULL; out.type = YAP_STRING_ATOMS; @@ -547,8 +549,8 @@ static inline Term Yap_AtomSWIToListOfCodes(Term t0 USES_REGS) { inp.val.t = t0; inp.type = YAP_STRING_ATOM | YAP_STRING_STRING | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES |YAP_STRING_ATOMS_CODES |YAP_STRING_ATOMS_CODES | - YAP_STRING_TERM; + YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES | YAP_STRING_ATOMS_CODES | YAP_STRING_ATOMS_CODES | + YAP_STRING_TERM ; out.val.uc = NULL; out.type = YAP_STRING_CODES; @@ -588,7 +590,7 @@ static inline Term Yap_AtomSWIToString(Term t0 USES_REGS) { inp.val.t = t0; inp.type = YAP_STRING_ATOM | YAP_STRING_STRING | YAP_STRING_INT | - YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES; + YAP_STRING_FLOAT | YAP_STRING_BIG | YAP_STRING_ATOMS_CODES ; out.val.uc = NULL; out.type = YAP_STRING_STRING; out.enc = ENC_ISO_UTF8; @@ -958,7 +960,7 @@ static inline Term Yap_ListSWIToString(Term t0 USES_REGS) { inp.val.t = t0; inp.type = YAP_STRING_STRING | YAP_STRING_ATOM | YAP_STRING_ATOMS_CODES | YAP_STRING_INT | YAP_STRING_FLOAT | YAP_STRING_BIG | - YAP_STRING_OUTPUT_TERM; + YAP_STRING_OUTPUT_TERM | YAP_STRING_PREFER_LIST; out.val.uc = NULL; out.type = YAP_STRING_STRING; out.enc = ENC_ISO_UTF8; From 4a048aad7d87b90359494746a072f1ae516af702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 8 Aug 2018 20:45:35 +0100 Subject: [PATCH 24/57] name/2 fix --- C/atomic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C/atomic.c b/C/atomic.c index a23ac1b57..96be7955b 100755 --- a/C/atomic.c +++ b/C/atomic.c @@ -326,7 +326,7 @@ restart_aux: return false; } // verify if an atom, int, float or bi§gnnum - NewT = Yap_AtomicToListOfCodes(t1 PASS_REGS); + NewT = Yap_AtomSWIToListOfCodes(t1 PASS_REGS); if (NewT) { pop_text_stack(l); return Yap_unify(NewT, ARG2); From 1fbd0c49ba6f42b0999fb5de281d65933e7d8806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 8 Aug 2018 20:46:47 +0100 Subject: [PATCH 25/57] compile --- packages/python/pyio.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/python/pyio.c b/packages/python/pyio.c index d5033b862..8869e4d7c 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -134,10 +134,11 @@ static bool pygetLine(StreamDesc *rl_iostream, int sno) { PyObject *user_line; StreamDesc *s = YAP_GetStreamFromId(sno); //term_t tg = python_acquire_GIL(); - if (!strcmp(RepAtom(s->name)->StrOfAE,"input") && ) { + if (!strcmp(RepAtom(s->name)->StrOfAE,"input") ) { // note that input may change - PyObject *pystream = PyDict_GetItemString( Py_Builtins, "input"); + PyObject *pystream = PyDict_GetItemString( py_Builtin, "input"); if (pystream == NULL) { + PyObject *err; if ((err = PyErr_Occurred())) { PyErr_Print(); Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); @@ -159,7 +160,7 @@ static bool pygetLine(StreamDesc *rl_iostream, int sno) { PyErr_SetString(err, "Error in getLine\n"); Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); } - rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = myrl_line; + rl_iostream->u.irl.ptr = rl_iostream->u.irl.buf = (unsigned char *)myrl_line; return true; } From 015efac6dfee0393bcd851f8b9c878bcccb67482 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 02:06:30 +0100 Subject: [PATCH 26/57] version --- include/YapInterface.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/YapInterface.h b/include/YapInterface.h index 03535a8a9..dd7f2c250 100755 --- a/include/YapInterface.h +++ b/include/YapInterface.h @@ -34,7 +34,7 @@ The following routines export the YAP internals and architecture. #define __YAP_PROLOG__ 1 #ifndef YAPVERSION -#define YAPVERSION 60000 +#define YAPVERSION YAP_NUMERIC_VERSION #endif #include "YapDefs.h" From 3b186a064a76806273768cfc6a8b5e49cba6f06a Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 02:07:25 +0100 Subject: [PATCH 27/57] listing --- pl/listing.yap | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/pl/listing.yap b/pl/listing.yap index 12ea3f428..a764bc4dc 100644 --- a/pl/listing.yap +++ b/pl/listing.yap @@ -225,6 +225,7 @@ Write clause _C_ on stream _S_ as if written by listing/0. */ portray_clause(Stream, Clause) :- copy_term_nat(Clause, CopiedClause), +writeln(c:CopiedClause), '$portray_clause'(Stream, CopiedClause), fail. portray_clause(_, _). @@ -235,8 +236,8 @@ Write clause _C_ as if written by listing/0. */ portray_clause(Clause) :- - current_output(Stream), - portray_clause(Stream, Clause). + current_output(Stream), + portray_clause(Stream, Clause). '$portray_clause'(Stream, (Pred :- true)) :- !, '$beautify_vars'(Pred), @@ -256,8 +257,8 @@ portray_clause(Clause) :- '$write_body'((P,Q), I, T, Stream) :- !, '$write_body'(P,I,T, Stream), - put(Stream, 0',), - '$write_body'(Q,I,',',Stream). + put(Stream, 0',), %' + '$write_body'(Q,I,',',Stream). '$write_body'((P->Q;S),I,_, Stream) :- !, format(Stream, '~n~*c(',[I,0' ]), @@ -312,33 +313,43 @@ portray_clause(Clause) :- '$write_disj'(S,_,I,C,Stream) :- '$write_body'(S,I,C,Stream). - '$beforelit'('(',_,Stream) :- !, format(Stream,' ',[]). -'$beforelit'(_,I,Stream) :- format(Stream,'~n~*c',[I,0' ]). +'$beforelit'(_,I,Stream) :- format(Stream,'~n~*c',[I,0' ]). %' + '$beautify_vars'(T) :- - '$list_get_vars'(T,[],L), + var(T), + !, + '$list_transform'([T],0). +'$beautify_vars'(T) :- + primitive(T), + !. +'$beautify_vars'(T) :- + T =.. [_|Vs0], + '$list_get_vars'(Vs0,[],L), msort(L,SL), '$list_transform'(SL,0). +'$list_get_vars'([], Vs, Vs). +'$list_get_vars'([A|Args], Vs0, Vs) :- + '$list_get_vars_'(A, Vs0, Vs1 ), + '$list_get_vars'(Args, Vs1, Vs). -'$list_get_vars'(V,L,[V|L] ) :- var(V), !. -'$list_get_vars'(Atomic, M, M) :- +'$list_get_vars_'(V,L,[V|L] ) :- + var(V), !. +'$list_get_vars_'(Atomic, Vs, Vs) :- primitive(Atomic), !. -'$list_get_vars'([Arg|Args], M, N) :- !, - '$list_get_vars'(Arg, M, K), - '$list_get_vars'(Args, K, N). -'$list_get_vars'(Term, M, N) :- +'$list_get_vars_'(Term, Vs0, Vs) :- Term =.. [_|Args], - '$list_get_vars'(Args, M, N). + '$list_get_vars'(Args, Vs0, Vs). '$list_transform'([],_) :- !. '$list_transform'([X,Y|L],M) :- X == Y, + !, X = '$VAR'(M), - !, N is M+1, '$list_transform'(L,N). '$list_transform'(['$VAR'(-1)|L],M) :- !, From 4a28e5861aec7cff99aa8cc8ab53f822bf5f2c68 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 02:07:57 +0100 Subject: [PATCH 28/57] reexport --- pl/consult.yap | 7 +++++-- pl/modules.yap | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pl/consult.yap b/pl/consult.yap index d193cab5c..d3967e0a4 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -1347,8 +1347,11 @@ account the following observations: */ '$reexport'( TOpts, File, Reexport, Imports, OldF ) :- ( Reexport == false -> true ; - '$lf_opt'('$parent_topts', TOpts, OldTOpts), - '$lf_opt'('$context_module', OldTOpts, OldContextModule), + ( '$lf_opt'('$parent_topts', TOpts, OldTOpts), + '$lf_opt'('$context_module', OldTOpts, OldContextModule) + ; + OldContextModule = user + ), '$import_to_current_module'(File, OldContextModule, Imports, _, TOpts), '$extend_exports'(File, Imports, OldF ) ). diff --git a/pl/modules.yap b/pl/modules.yap index 3dcfb5e2e..625094b1d 100644 --- a/pl/modules.yap +++ b/pl/modules.yap @@ -429,6 +429,7 @@ export_list(Module, List) :- '$do_import'(T, Module, ContextModule), '$add_to_imports'(Tab, Module, ContextModule). +%'$do_import'(K, _, _) :- writeln(K), fail. '$do_import'(op(Prio,Assoc,Name), _Mod, ContextMod) :- op(Prio,Assoc,ContextMod:Name). '$do_import'(N0/K0-N0/K0, Mod, Mod) :- !. From af7584e1f3d5671968e010c025f40a263f1a1042 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 02:10:30 +0100 Subject: [PATCH 29/57] reexport --- pl/consult.yap | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pl/consult.yap b/pl/consult.yap index d3967e0a4..f4afdb88e 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -1349,6 +1349,8 @@ account the following observations: ( Reexport == false -> true ; ( '$lf_opt'('$parent_topts', TOpts, OldTOpts), '$lf_opt'('$context_module', OldTOpts, OldContextModule) + -> + true ; OldContextModule = user ), From d5c1ca716ec229034d593cc20c7e51e0f9600ceb Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 15:38:47 +0100 Subject: [PATCH 30/57] Write should not destroy the term . --- C/write.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/C/write.c b/C/write.c index b7e33dcb1..e4f613af0 100644 --- a/C/write.c +++ b/C/write.c @@ -85,14 +85,27 @@ typedef struct write_globs { static bool callPortray(Term t, int sno USES_REGS) { PredEntry *pe; - Int b0 = LCL0 - (CELL *)B; + //Int b0 = LCL0 - (CELL *)B; + CELL *pt; + arity_t i, a; + Functor f; + if ((pe = RepPredProp(Yap_GetPredPropByFunc(FunctorPortray, USER_MODULE))) == NULL || + pe->OpcodeOfPred != FAIL_OPCODE || pe->OpcodeOfPred != UNDEF_OPCODE) + return false; + if (IsApplTerm(t)) { + f = FunctorOfTerm(t); + a = ArityOfFunctor(f); + pt = RepAppl(t)+1; + } else { + a = 2; + pt = RepPair(t); + } + for (i=0; i < a; i++) XREGS[i+1] = pt[i]; UNLOCK(GLOBAL_Stream[sno].streamlock); - if ((pe = RepPredProp(Yap_GetPredPropByFunc(FunctorPortray, USER_MODULE))) && - pe->OpcodeOfPred != FAIL_OPCODE && pe->OpcodeOfPred != UNDEF_OPCODE && - Yap_execute_pred(pe, &t, true PASS_REGS)) { - choiceptr B0 = (choiceptr)(LCL0 - b0); - Yap_fail_all(B0 PASS_REGS); + if (Yap_execute_pred(pe, NULL, true PASS_REGS)) { + //choiceptr B0 = (choiceptr)(LCL0 - b0); + //Yap_fail_all(B0 PASS_REGS); LOCK(GLOBAL_Stream[sno].streamlock); return true; } @@ -716,10 +729,13 @@ static CELL *restore_from_write(struct rewind_term *rwt, if (wglb->Keep_terms) { ptr = Yap_GetPtrFromSlot(rwt->u_sd.s.ptr); + // restore original term. + *ptr = Yap_GetFromSlot(rwt->u_sd.s.old); Yap_RecoverSlots(2, rwt->u_sd.s.old); // printf("leak=%d %d\n", LOCALCurSlot,rwt->u_sd.s.old) ; } else { ptr = rwt->u_sd.d.ptr; + *ptr = rwt->u_sd.d.old; } rwt->u_sd.s.ptr = 0; return ptr; From ecab37f72cb80f762aa69706a5d0738d14142157 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 9 Aug 2018 16:42:43 +0100 Subject: [PATCH 31/57] write infinite terms --- C/exec.c | 2 ++ C/write.c | 42 +++++++++++++++------- H/ATOMS | 2 ++ H/generated/iatoms.h | 2 ++ H/generated/ratoms.h | 2 ++ H/generated/tatoms.h | 3 ++ packages/ProbLog/problog_learning_lbdd.yap | 4 +-- pl/yio.yap | 2 +- 8 files changed, 43 insertions(+), 16 deletions(-) diff --git a/C/exec.c b/C/exec.c index c4fd7c8bb..64045c8d9 100755 --- a/C/exec.c +++ b/C/exec.c @@ -1615,6 +1615,8 @@ void Yap_fail_all(choiceptr bb USES_REGS) { saved_p = P; saved_cp = CP; /* prune away choicepoints */ + if (B == bb) + return; while (B->cp_b && B->cp_b != bb && B->cp_ap != NOCODE) { B = B->cp_b; #ifdef YAPOR diff --git a/C/write.c b/C/write.c index e4f613af0..2ecb069d2 100644 --- a/C/write.c +++ b/C/write.c @@ -687,9 +687,10 @@ static void putUnquotedString(Term string, struct write_globs *wglb) static Term from_pointer(CELL *ptr0, struct rewind_term *rwt, struct write_globs *wglb) { CACHE_REGS - Term t; + Term t, ti; CELL *ptr = ptr0; - + int i = 0; + while (IsVarTerm(*ptr) && !IsUnboundVar(ptr)) ptr = (CELL *)*ptr; t = *ptr; @@ -701,9 +702,13 @@ static Term from_pointer(CELL *ptr0, struct rewind_term *rwt, if (!IsAtomicTerm(t) && !IsVarTerm(t)) { while (x) { - if (Yap_GetDerefedFromSlot(x->u_sd.s.old) == t) - return TermFoundVar; + if (Yap_GetDerefedFromSlot(x->u_sd.s.old) == t) { + ti = MkIntegerTerm(i); + return Yap_MkApplTerm(FunctorDoubleHat, 1, &ti); + } x = x->parent; + i++; + } } } else { @@ -713,9 +718,12 @@ static Term from_pointer(CELL *ptr0, struct rewind_term *rwt, struct rewind_term *x = rwt->parent; while (x) { - if (x->u_sd.d.old == t) - return TermFoundVar; + if (x->u_sd.d.old == t) { + ti = MkIntegerTerm(i); + return Yap_MkApplTerm(FunctorDoubleHat, 1, &ti); + } x = x->parent; + i++; } } } @@ -790,20 +798,23 @@ static void write_var(CELL *t, struct write_globs *wglb, } } -static Term check_infinite_loop(Term t, struct rewind_term *x, +static int check_infinite_loop(Term t, struct rewind_term *x, struct write_globs *wglb) { CACHE_REGS - if (wglb->Keep_terms) { + int i =0; + if (wglb->Keep_terms) { while (x) { if (Yap_GetFromSlot(x->u_sd.s.old) == t) - return TermFoundVar; + return i; x = x->parent; + i++; } } else { while (x) { if (x->u_sd.d.old == t) - return TermFoundVar; + return i; x = x->parent; + i++; } } return t; @@ -826,9 +837,16 @@ static void write_list(Term t, int direction, int depth, ti = TailOfTerm(t); if (IsVarTerm(ti)) break; - if (!IsPairTerm(ti) || - !IsPairTerm((ti = check_infinite_loop(ti, rwt, wglb)))) + if (!IsPairTerm(ti)) break; + int i; + if ((i = check_infinite_loop(ti, rwt, wglb))>0) { + char s[1024]; + snprintf(s, 1023, "%d", i); + wrputs(" ^^(", wglb->stream); + wrputs(s, wglb->stream); + wrputs(") ", wglb->stream); + } ndirection = RepPair(ti) - RepPair(t); /* make sure we're not trapped in loops */ if (ndirection > 0) { diff --git a/H/ATOMS b/H/ATOMS index 1ff435a26..ee1e1418d 100644 --- a/H/ATOMS +++ b/H/ATOMS @@ -187,6 +187,7 @@ A GlobalSp N "global_sp" A GlobalTrie N "global_trie" A GoalExpansion N "goal_expansion" A Hat N "^" +A DoubleHat N "^^" A HERE N "\n <====HERE====> \n" A HandleThrow F "$handle_throw" A Heap N "heap" @@ -535,6 +536,7 @@ F GoalExpansion2 GoalExpansion 2 F GoalExpansion GoalExpansion 3 F HandleThrow HandleThrow 3 F Hat Hat 2 +F DoubleHat DoubleHat 1 F I I 2 F Id Id 1 F Info1 Info 1 diff --git a/H/generated/iatoms.h b/H/generated/iatoms.h index 7616134c7..b3f184cce 100644 --- a/H/generated/iatoms.h +++ b/H/generated/iatoms.h @@ -182,6 +182,7 @@ AtomGlobalTrie = Yap_LookupAtom("global_trie"); TermGlobalTrie = MkAtomTerm(AtomGlobalTrie); AtomGoalExpansion = Yap_LookupAtom("goal_expansion"); TermGoalExpansion = MkAtomTerm(AtomGoalExpansion); AtomHat = Yap_LookupAtom("^"); TermHat = MkAtomTerm(AtomHat); + AtomDoubleHat = Yap_LookupAtom("^^"); TermDoubleHat = MkAtomTerm(AtomDoubleHat); AtomHERE = Yap_LookupAtom("\n <====HERE====> \n"); TermHERE = MkAtomTerm(AtomHERE); AtomHandleThrow = Yap_FullLookupAtom("$handle_throw"); TermHandleThrow = MkAtomTerm(AtomHandleThrow); AtomHeap = Yap_LookupAtom("heap"); TermHeap = MkAtomTerm(AtomHeap); @@ -530,6 +531,7 @@ FunctorGoalExpansion = Yap_MkFunctor(AtomGoalExpansion,3); FunctorHandleThrow = Yap_MkFunctor(AtomHandleThrow,3); FunctorHat = Yap_MkFunctor(AtomHat,2); + FunctorDoubleHat = Yap_MkFunctor(AtomDoubleHat,1); FunctorI = Yap_MkFunctor(AtomI,2); FunctorId = Yap_MkFunctor(AtomId,1); FunctorInfo1 = Yap_MkFunctor(AtomInfo,1); diff --git a/H/generated/ratoms.h b/H/generated/ratoms.h index 8e999c339..df594d9f8 100644 --- a/H/generated/ratoms.h +++ b/H/generated/ratoms.h @@ -182,6 +182,7 @@ AtomGlobalTrie = AtomAdjust(AtomGlobalTrie); TermGlobalTrie = MkAtomTerm(AtomGlobalTrie); AtomGoalExpansion = AtomAdjust(AtomGoalExpansion); TermGoalExpansion = MkAtomTerm(AtomGoalExpansion); AtomHat = AtomAdjust(AtomHat); TermHat = MkAtomTerm(AtomHat); + AtomDoubleHat = AtomAdjust(AtomDoubleHat); TermDoubleHat = MkAtomTerm(AtomDoubleHat); AtomHERE = AtomAdjust(AtomHERE); TermHERE = MkAtomTerm(AtomHERE); AtomHandleThrow = AtomAdjust(AtomHandleThrow); TermHandleThrow = MkAtomTerm(AtomHandleThrow); AtomHeap = AtomAdjust(AtomHeap); TermHeap = MkAtomTerm(AtomHeap); @@ -530,6 +531,7 @@ FunctorGoalExpansion = FuncAdjust(FunctorGoalExpansion); FunctorHandleThrow = FuncAdjust(FunctorHandleThrow); FunctorHat = FuncAdjust(FunctorHat); + FunctorDoubleHat = FuncAdjust(FunctorDoubleHat); FunctorI = FuncAdjust(FunctorI); FunctorId = FuncAdjust(FunctorId); FunctorInfo1 = FuncAdjust(FunctorInfo1); diff --git a/H/generated/tatoms.h b/H/generated/tatoms.h index c1b5bd3f1..7cb730631 100644 --- a/H/generated/tatoms.h +++ b/H/generated/tatoms.h @@ -182,6 +182,7 @@ X_API EXTERNAL Atom AtomGlobalSp; X_API EXTERNAL Term TermGlobalSp; X_API EXTERNAL Atom AtomGlobalTrie; X_API EXTERNAL Term TermGlobalTrie; X_API EXTERNAL Atom AtomGoalExpansion; X_API EXTERNAL Term TermGoalExpansion; X_API EXTERNAL Atom AtomHat; X_API EXTERNAL Term TermHat; +X_API EXTERNAL Atom AtomDoubleHat; X_API EXTERNAL Term TermDoubleHat; X_API EXTERNAL Atom AtomHERE; X_API EXTERNAL Term TermHERE; X_API EXTERNAL Atom AtomHandleThrow; X_API EXTERNAL Term TermHandleThrow; X_API EXTERNAL Atom AtomHeap; X_API EXTERNAL Term TermHeap; @@ -614,6 +615,8 @@ X_API EXTERNAL Functor FunctorHandleThrow; X_API EXTERNAL Functor FunctorHat; +X_API EXTERNAL Functor FunctorDoubleHat; + X_API EXTERNAL Functor FunctorI; X_API EXTERNAL Functor FunctorId; diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index f31333bc6..8ec462595 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -207,8 +207,6 @@ :- module(learning,[do_learning/1, do_learning/2, - set_problog_flag/2, - problog_flag/2, reset_learning/0 ]). @@ -630,7 +628,7 @@ init_one_query(QueryID,Query,Type) :- rb_new(H0), maplist_to_hash(MapList, H0, Hash), Tree \= [], -% writeln(Dir:Tree:MapList), + writeln(QueryID), tree_to_grad(Tree, Hash, [], Grad), recordz(QueryID,bdd(Dir, Grad, MapList),_) ) diff --git a/pl/yio.yap b/pl/yio.yap index bd1e1a037..2bd10b270 100644 --- a/pl/yio.yap +++ b/pl/yio.yap @@ -181,7 +181,7 @@ display(Stream, T) :- /* interface to user portray */ '$portray'(T) :- \+ '$undefined'(portray(_),user), - '$system_catch'(call(portray(T)),user,Error,user:'$Error'(Error)), !, + catch(user:portray(T),user,Error,user:'$Error'(Error)), !, set_value('$portray',true), fail. '$portray'(_) :- set_value('$portray',false), fail. From f329a715dd22f81439628d9c3297990cb5ce9d05 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 10 Aug 2018 03:40:56 +0100 Subject: [PATCH 32/57] write rat trees --- C/utilpreds.c | 2 +- C/write.c | 394 ++++++++++++++++++++++++-------------------------- 2 files changed, 187 insertions(+), 209 deletions(-) diff --git a/C/utilpreds.c b/C/utilpreds.c index b1ff1d476..5f32a870c 100644 --- a/C/utilpreds.c +++ b/C/utilpreds.c @@ -1685,7 +1685,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, CELL *npt0 = RepPair(d0); if(Deref(npt0[0]) == TermFoundVar) { pt0 = npt0; - pt0_end = pt0 + 1; + pt0_end = pt0; continue; } } diff --git a/C/write.c b/C/write.c index 2ecb069d2..feb611069 100644 --- a/C/write.c +++ b/C/write.c @@ -71,11 +71,13 @@ typedef struct rewind_term { typedef struct write_globs { StreamDesc *stream; - int Quote_illegal, Ignore_ops, Handle_vars, Use_portray, Portray_delays; - int Keep_terms; - int Write_Loops; - int Write_strings; - int last_atom_minus; + bool Quote_illegal, Ignore_ops, Handle_vars, Use_portray, Portray_delays; + bool Keep_terms; + bool Write_Loops; + bool Write_strings; + bool last_atom_minus; + char *buf; + size_t buf_size; UInt MaxDepth, MaxArgs; wtype lw; } wglbs; @@ -128,6 +130,12 @@ static void writeTerm(Term, int, int, int, struct write_globs *, #define wrputc(WF, X) \ (X)->stream_wputc(X - GLOBAL_Stream, WF) /* writes a character */ +inline static void wrputs(char *s, StreamDesc *stream) { + int c; + while ((c = *s++)) + wrputc(c, stream); +} + /* protect bracket from merging with previoous character. avoid stuff like not (2,3) -> not(2,3) or @@ -170,6 +178,91 @@ static void protect_close_number(struct write_globs *wglb, int used_bracket) { last_minus = FALSE; } + +static void output_infinite_loop( int i, struct rewind_term *x,struct write_globs *wglb ) +{ + int l = push_text_stack(); + if ( wglb->buf == NULL) { + wglb->buf = Malloc(256); + wglb->buf[0] = '\0'; + wglb->buf_size = 255;; + } + char *s = wglb->buf+strlen(wglb->buf); + snprintf(s, 256-strlen(wglb->buf)-1,"^@(%i)",i); + wrputs(s , wglb->stream); + pop_text_stack(l); + wglb->buf = NULL; + wglb->buf_size = 0; +} + + +static bool has_infinite_loop(Term t, struct rewind_term *x,struct write_globs *wglb ) +{ + int i = 1; + // if (!wglb->Write_Loops) { + // return false; + // } + if (wglb->Keep_terms) { + while (x) { + if (t == Yap_GetFromHandle(x->u_sd.s.old)) { + output_infinite_loop(i, x, wglb); + return true; + } + x = x->parent; + i++; + } + } else { + while (x) { + if (t == x->u_sd.d.old) { + output_infinite_loop(i, x, wglb); + return true; + } + x = x->parent; + i++; + } + } + return false; +} + +static bool protected(Term t0, struct rewind_term *rwt, + struct write_globs *wglb) { + CACHE_REGS + Term t; + struct rewind_term *x = rwt->parent; + + t = Deref(t0); + if (wglb->Keep_terms) { + + if (!IsAtomicTerm(t) && !IsVarTerm(t)) { + if (has_infinite_loop(t,x,wglb)) + return false; + } + rwt->u_sd.s.old = Yap_InitSlot(t); + + } else { + rwt->u_sd.d.old = t; + if (!IsVarTerm(t) && !IsAtomicTerm(t)) { + if (has_infinite_loop(t,x,wglb)) + return false; + } + } + return true; +} + +static Term restore_parent(struct rewind_term *rwt, + struct write_globs *wglb) { + CACHE_REGS + + if (wglb->Keep_terms) { + Term t = Yap_GetFromSlot(rwt->parent->u_sd.s.old); + // resre original term. + // printf("leak=%d %d\n", LOCALCurSlot,rwt->u_sd.s.old) ; + return t; + } else { + return rwt->parent->u_sd.d.old; + } +} + static void wrputn(Int n, struct write_globs *wglb) /* writes an integer */ { @@ -189,12 +282,6 @@ static void wrputn(Int n, protect_close_number(wglb, ob); } -inline static void wrputs(char *s, StreamDesc *stream) { - int c; - while ((c = *s++)) - wrputc(c, stream); -} - #ifdef USE_GMP static char *ensure_space(size_t sz) { @@ -275,7 +362,8 @@ static void writebig(Term t, int p, int depth, int rinfixarg, return; } else if (big_tag == BIG_RATIONAL) { Term trat = Yap_RatTermToApplTerm(t); - writeTerm(trat, p, depth, rinfixarg, wglb, rwt); + if (protected(trat, rwt, wglb)) + writeTerm(trat, p, depth, rinfixarg, wglb, rwt); return; #endif } else if (big_tag >= USER_BLOB_START && big_tag < USER_BLOB_END) { @@ -285,7 +373,9 @@ static void writebig(Term t, int p, int depth, int rinfixarg, blob_info = big_tag; if (GLOBAL_OpaqueHandlers && (f = GLOBAL_OpaqueHandlers[blob_info].write_handler)) { - (f)(wglb->stream->file, big_tag, ExternalBlobFromTerm(t), 0); + if (protected(t, rwt, wglb)) { + f(wglb->stream->file, big_tag, ExternalBlobFromTerm(t), 0); + } return; } } @@ -684,71 +774,6 @@ static void putUnquotedString(Term string, struct write_globs *wglb) lastw = alphanum; } -static Term from_pointer(CELL *ptr0, struct rewind_term *rwt, - struct write_globs *wglb) { - CACHE_REGS - Term t, ti; - CELL *ptr = ptr0; - int i = 0; - - while (IsVarTerm(*ptr) && !IsUnboundVar(ptr)) - ptr = (CELL *)*ptr; - t = *ptr; - if (wglb->Keep_terms) { - struct rewind_term *x = rwt->parent; - - rwt->u_sd.s.old = Yap_InitSlot(t); - rwt->u_sd.s.ptr = Yap_InitSlot((CELL)ptr0); - - if (!IsAtomicTerm(t) && !IsVarTerm(t)) { - while (x) { - if (Yap_GetDerefedFromSlot(x->u_sd.s.old) == t) { - ti = MkIntegerTerm(i); - return Yap_MkApplTerm(FunctorDoubleHat, 1, &ti); - } - x = x->parent; - i++; - - } - } - } else { - rwt->u_sd.d.old = t; - rwt->u_sd.d.ptr = ptr0; - if (!IsVarTerm(t) && !IsAtomicTerm(t)) { - struct rewind_term *x = rwt->parent; - - while (x) { - if (x->u_sd.d.old == t) { - ti = MkIntegerTerm(i); - return Yap_MkApplTerm(FunctorDoubleHat, 1, &ti); - } - x = x->parent; - i++; - } - } - } - return t; -} - -static CELL *restore_from_write(struct rewind_term *rwt, - struct write_globs *wglb) { - CACHE_REGS - CELL *ptr; - - if (wglb->Keep_terms) { - ptr = Yap_GetPtrFromSlot(rwt->u_sd.s.ptr); - // restore original term. - *ptr = Yap_GetFromSlot(rwt->u_sd.s.old); - Yap_RecoverSlots(2, rwt->u_sd.s.old); - // printf("leak=%d %d\n", LOCALCurSlot,rwt->u_sd.s.old) ; - } else { - ptr = rwt->u_sd.d.ptr; - *ptr = rwt->u_sd.d.old; - } - rwt->u_sd.s.ptr = 0; - return ptr; -} - /* writes an unbound variable */ static void write_var(CELL *t, struct write_globs *wglb, struct rewind_term *rwt) { @@ -765,27 +790,26 @@ static void write_var(CELL *t, struct write_globs *wglb, exts ext = ExtFromCell(t); struct rewind_term nrwt; nrwt.parent = rwt; - nrwt.u_sd.s.ptr = 0; - + wglb->Portray_delays = FALSE; if (ext == attvars_ext) { yhandle_t h = Yap_InitHandle((CELL)t); attvar_record *attv = RepAttVar(t); - CELL *l = &attv->Value; /* dirty low-level hack, check atts.h */ + Term l = attv->Value; /* dirty low-level hack, check atts.h */ wrputs("$AT(", wglb->stream); write_var(t, wglb, rwt); wrputc(',', wglb->stream); - writeTerm(from_pointer(l, &nrwt, wglb), 999, 1, FALSE, wglb, &nrwt); - l = restore_from_write(&nrwt, wglb); + if (protected(l, &nrwt, wglb)) + writeTerm(l, 999, 1, FALSE, wglb, &nrwt); wrputc(',', wglb->stream); attv = RepAttVar((CELL *)Yap_GetFromHandle(h)); - l = &attv->Value; - ; - l++; - writeTerm(from_pointer(l, &nrwt, wglb), 999, 1, FALSE, wglb, &nrwt); - restore_from_write(&nrwt, wglb); + CELL *lp = &attv->Value; + + l = lp[1]; + if (!protected(l, &nrwt, wglb)) + writeTerm(l, 999, 1, FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); } wglb->Portray_delays = TRUE; @@ -798,107 +822,55 @@ static void write_var(CELL *t, struct write_globs *wglb, } } -static int check_infinite_loop(Term t, struct rewind_term *x, - struct write_globs *wglb) { - CACHE_REGS - int i =0; - if (wglb->Keep_terms) { - while (x) { - if (Yap_GetFromSlot(x->u_sd.s.old) == t) - return i; - x = x->parent; - i++; - } - } else { - while (x) { - if (x->u_sd.d.old == t) - return i; - x = x->parent; - i++; - } - } - return t; -} -static void write_list(Term t, int direction, int depth, +static void write_list(Term t, long int dir, int depth, struct write_globs *wglb, struct rewind_term *rwt) { Term ti; struct rewind_term nrwt; nrwt.parent = rwt; - nrwt.u_sd.s.ptr = 0; - + long int dir0 = 0; + yhandle_t sl = Yap_NewSlots(1); while (1) { - int ndirection; - int do_jump; - - writeTerm(from_pointer(RepPair(t), &nrwt, wglb), 999, depth + 1, FALSE, - wglb, &nrwt); - t = AbsPair(restore_from_write(&nrwt, wglb)); - ti = TailOfTerm(t); - if (IsVarTerm(ti)) - break; - if (!IsPairTerm(ti)) - break; - int i; - if ((i = check_infinite_loop(ti, rwt, wglb))>0) { - char s[1024]; - snprintf(s, 1023, "%d", i); - wrputs(" ^^(", wglb->stream); - wrputs(s, wglb->stream); - wrputs(") ", wglb->stream); - } - ndirection = RepPair(ti) - RepPair(t); - /* make sure we're not trapped in loops */ - if (ndirection > 0) { - do_jump = (direction <= 0); - } else if (ndirection == 0) { - wrputc(',', wglb->stream); - putAtom(AtomFoundVar, wglb->Quote_illegal, wglb); - lastw = separator; - return; - } else { - do_jump = (direction >= 0); + Term head = HeadOfTerm(t); + Yap_PutInSlot( sl, t); + if (protected(head, &nrwt, wglb)) { + writeTerm( head, 999, depth + 1, false, wglb, &nrwt); } + t = Yap_GetFromSlot(sl); + ti = TailOfTerm(t); + depth++; if (wglb->MaxDepth != 0 && depth > wglb->MaxDepth) { if (lastw == symbol || lastw == separator) { - wrputc(' ', wglb->stream); + wrputc(' ', wglb->stream); } wrputc('|', wglb->stream); putAtom(Atom3Dots, wglb->Quote_illegal, wglb); return; } lastw = separator; - direction = ndirection; depth++; - if (do_jump) + dir0 = dir; + if (IsVarTerm(ti)) break; + if (!IsPairTerm(ti)) + break; + dir = RepPair(ti)-RepPair(t); + t = ti; wrputc(',', wglb->stream); - t = ti; - } - if (IsPairTerm(ti)) { - Term nt = from_pointer(RepPair(t) + 1, &nrwt, wglb); - /* we found an infinite loop */ - if (IsAtomTerm(nt)) { - if (lastw == symbol || lastw == separator) { - wrputc(' ', wglb->stream); - } - wrputc('|', wglb->stream); - writeTerm(nt, 999, depth, FALSE, wglb, rwt); - } else { - /* keep going on the list */ - wrputc(',', wglb->stream); - write_list(nt, direction, depth, wglb, &nrwt); + if (!protected(t, &nrwt,wglb)) { + return; } - restore_from_write(&nrwt, wglb); - } else if (ti != MkAtomTerm(AtomNil)) { + if (dir*dir0 <0 ) + return write_list(ti, dir, depth, wglb, &nrwt); + } + if (ti != MkAtomTerm(AtomNil)) { if (lastw == symbol || lastw == separator) { wrputc(' ', wglb->stream); } wrputc('|', wglb->stream); lastw = separator; - writeTerm(from_pointer(RepPair(t) + 1, &nrwt, wglb), 999, depth, FALSE, - wglb, &nrwt); - restore_from_write(&nrwt, wglb); + if (protected(ti, &nrwt, wglb)) + writeTerm(ti, 999, depth, FALSE, wglb, &nrwt); } } @@ -921,7 +893,6 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (IsVarTerm(t)) { write_var((CELL *)t, wglb, &nrwt); } else if (IsIntTerm(t)) { - wrputn((Int)IntOfTerm(t), wglb); } else if (IsAtomTerm(t)) { putAtom(AtomOfTerm(t), wglb->Quote_illegal, wglb); @@ -929,14 +900,15 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (wglb->Ignore_ops) { wrputs("'.'(", wglb->stream); lastw = separator; - - writeTerm(from_pointer(RepPair(t), &nrwt, wglb), 999, depth + 1, FALSE, + Term nt = HeadOfTerm(t); + if (protected(nt, &nrwt, wglb)) + writeTerm(nt, 999, depth + 1, FALSE, wglb, &nrwt); - t = AbsPair(restore_from_write(&nrwt, wglb)); + t = restore_parent(&nrwt, wglb); wrputs(",", wglb->stream); - writeTerm(from_pointer(RepPair(t) + 1, &nrwt, wglb), 999, depth + 1, + if (protected(nt, &nrwt, wglb)) + writeTerm(nt, 999, depth + 1, FALSE, wglb, &nrwt); - restore_from_write(&nrwt, wglb); wrclose_bracket(wglb, TRUE); return; } @@ -1002,9 +974,10 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, *p++; lastw = separator; /* cannot use the term directly with the SBA */ - writeTerm(from_pointer(p, &nrwt, wglb), 999, depth + 1, FALSE, wglb, - &nrwt); - p = restore_from_write(&nrwt, wglb) + 1; + if (protected(nt, &nrwt, wglb)) + writeTerm(nt, 999, depth + 1, + FALSE, wglb, &nrwt); + t = restore_parent(&nrwt, wglb); if (*p) wrputc(',', wglb->stream); argno++; @@ -1020,7 +993,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } if (!wglb->Ignore_ops && Arity == 1 && Yap_IsPrefixOp(atom, &op, &rp)) { Term tright = ArgOfTerm(1, t); - int bracket_right = !IsVarTerm(tright) && IsAtomTerm(tright) && + bool bracket_right = !IsVarTerm(tright) && IsAtomTerm(tright) && Yap_IsOp(AtomOfTerm(tright)); if (op > p) { wropen_bracket(wglb, TRUE); @@ -1032,9 +1005,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } else if (atom == AtomMinus) { last_minus = TRUE; } - writeTerm(from_pointer(RepAppl(t) + 1, &nrwt, wglb), rp, depth + 1, TRUE, - wglb, &nrwt); - restore_from_write(&nrwt, wglb); + if (protected(tright, &nrwt, wglb)) + writeTerm(tright, rp, depth + 1, TRUE, wglb, &nrwt); if (bracket_right) { wrclose_bracket(wglb, TRUE); } @@ -1049,14 +1021,12 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, Yap_IsPosfixOp(atom, &op, &lp)) { Term tleft = ArgOfTerm(1, t); - int bracket_left, offset; + int bracket_left; if (Arity != 1) { tleft = ArgOfTerm(1, t); - offset = 2; } else { tleft = ArgOfTerm(1, t); - offset = 1; } bracket_left = !IsVarTerm(tleft) && IsAtomTerm(tleft) && Yap_IsOp(AtomOfTerm(tleft)); @@ -1067,9 +1037,9 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_left) { wropen_bracket(wglb, TRUE); } - writeTerm(from_pointer(RepAppl(t) + offset, &nrwt, wglb), lp, depth + 1, - rinfixarg, wglb, &nrwt); - restore_from_write(&nrwt, wglb); + if (protected(tleft, &nrwt, wglb)) + writeTerm(tleft, lp, depth + 1, rinfixarg, wglb, &nrwt); + t = restore_parent(&nrwt, wglb); if (bracket_left) { wrclose_bracket(wglb, TRUE); } @@ -1114,9 +1084,9 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_left) { wropen_bracket(wglb, TRUE); } - writeTerm(from_pointer(RepAppl(t) + 1, &nrwt, wglb), lp, depth + 1, - rinfixarg, wglb, &nrwt); - t = AbsAppl(restore_from_write(&nrwt, wglb) - 1); + if (protected(tleft, &nrwt, wglb)) + writeTerm(tleft, lp, depth + 1, rinfixarg, wglb, &nrwt); + t = restore_parent(&nrwt, wglb); if (bracket_left) { wrclose_bracket(wglb, TRUE); } @@ -1135,9 +1105,10 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_right) { wropen_bracket(wglb, TRUE); } - writeTerm(from_pointer(RepAppl(t) + 2, &nrwt, wglb), rp, depth + 1, TRUE, - wglb, &nrwt); - restore_from_write(&nrwt, wglb); + tright = ArgOfTerm(2, t); + if (protected(tright, &nrwt, wglb)) + writeTerm(tright, rp, depth + 1, TRUE, + wglb, &nrwt); if (bracket_right) { wrclose_bracket(wglb, TRUE); } @@ -1177,20 +1148,19 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } else { wrputs("'$VAR'(", wglb->stream); lastw = separator; - writeTerm(from_pointer(RepAppl(t) + 1, &nrwt, wglb), 999, depth + 1, - FALSE, wglb, &nrwt); - restore_from_write(&nrwt, wglb); + writeTerm(ti, 999, depth + 1, FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); } } else if (!wglb->Ignore_ops && functor == FunctorBraces) { wrputc('{', wglb->stream); lastw = separator; - writeTerm(from_pointer(RepAppl(t) + 1, &nrwt, wglb), GLOBAL_MaxPriority, + Term t1 = ArgOfTerm(1,t); + if (protected(t1, &nrwt, wglb)) writeTerm(t1, GLOBAL_MaxPriority, depth + 1, FALSE, wglb, &nrwt); - restore_from_write(&nrwt, wglb); wrputc('}', wglb->stream); lastw = separator; } else if (atom == AtomArray) { + Term ti; wrputc('{', wglb->stream); lastw = separator; for (op = 1; op <= Arity; ++op) { @@ -1198,9 +1168,10 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, wrputs("...", wglb->stream); break; } - writeTerm(from_pointer(RepAppl(t) + op, &nrwt, wglb), 999, depth + 1, - FALSE, wglb, &nrwt); - t = AbsAppl(restore_from_write(&nrwt, wglb) - op); + ti = ArgOfTerm(op,t); + if (protected(ti, &nrwt, wglb)) + writeTerm(ti, 999, depth + 1,FALSE, wglb, &nrwt); + t = restore_parent(&nrwt, wglb); if (op != Arity) { wrputc(',', wglb->stream); lastw = separator; @@ -1213,19 +1184,23 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, lastw = separator; wropen_bracket(wglb, FALSE); for (op = 1; op <= Arity; ++op) { + Term ti; if (op == wglb->MaxArgs) { wrputc('.', wglb->stream); wrputc('.', wglb->stream); wrputc('.', wglb->stream); break; } - writeTerm(from_pointer(RepAppl(t) + op, &nrwt, wglb), 999, depth + 1, + ti = ArgOfTerm(op,t); + + if (protected(ti, &nrwt, wglb)) + writeTerm(ti, 999, depth + 1, FALSE, wglb, &nrwt); - restore_from_write(&nrwt, wglb); - if (op != Arity) { - wrputc(',', wglb->stream); - lastw = separator; - } + if (op != Arity) { + t = restore_parent(&nrwt, wglb); + wrputc(',', wglb->stream); + lastw = separator; + } } wrclose_bracket(wglb, TRUE); } @@ -1240,7 +1215,7 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, { CACHE_REGS struct write_globs wglb; - struct rewind_term rwt; + struct rewind_term nrwt; yhandle_t sls = Yap_CurrentSlot(); int lvl = push_text_stack(); @@ -1259,15 +1234,19 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, wglb.Portray_delays = flags & AttVar_Portray_f; wglb.MaxDepth = max_depth; wglb.MaxArgs = max_depth; + wglb.Write_Loops = flags & Unfold_cyclics_f; + wglb.buf = NULL; + wglb.buf_size = 0; /* notice: we must have ASP well set when using portray, otherwise we cannot make recursive Prolog calls */ wglb.Keep_terms = (flags & (Use_portray_f | To_heap_f)); /* initialize wglb */ - rwt.parent = NULL; + nrwt.parent = NULL; wglb.Ignore_ops = flags & Ignore_ops_f; wglb.Write_strings = flags & BackQuote_String_f; /* protect slots for portray */ - writeTerm(from_pointer(&t, &rwt, &wglb), priority, 1, FALSE, &wglb, &rwt); + protected(t, &nrwt, &wglb); + writeTerm(t, priority, 1, FALSE, &wglb, &nrwt); if (flags & New_Line_f) { if (flags & Fullstop_f) { wrputc('.', wglb.stream); @@ -1281,7 +1260,6 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, wrputc(' ', wglb.stream); } } - restore_from_write(&rwt, &wglb); Yap_CloseSlots(sls); pop_text_stack(lvl); } From 208ed54b4526793fca4f27d675b2c37bf9bf3e4c Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 15 Aug 2018 01:29:20 +0100 Subject: [PATCH 33/57] rational trees. --- C/attvar.c | 2 +- C/errors.c | 16 +- C/text.c | 4 +- C/utilpreds.c | 340 ++++++++++++++++++++++++++++++++++++------- C/write.c | 335 +++++++++++++++--------------------------- H/ATOMS | 3 + H/Yapproto.h | 5 +- H/generated/iatoms.h | 3 + H/generated/ratoms.h | 3 + H/generated/tatoms.h | 5 + include/YapStreams.h | 2 +- os/writeterm.c | 2 +- pl/meta.yap | 4 +- pl/preddyns.yap | 80 +++++----- 14 files changed, 488 insertions(+), 316 deletions(-) diff --git a/C/attvar.c b/C/attvar.c index eeb4ec8b3..441c27064 100644 --- a/C/attvar.c +++ b/C/attvar.c @@ -193,7 +193,7 @@ static void WakeAttVar(CELL *pt1, CELL reg2 USES_REGS) { if (!IsVarTerm(attv->Value) || !IsUnboundVar(&attv->Value)) { /* oops, our goal is on the queue to be woken */ if (!Yap_unify(attv->Value, reg2)) { - AddFailToQueue(PASS_REGS1); + AddFailToQueue(PASS_REGS1); } return; } diff --git a/C/errors.c b/C/errors.c index 5cd46bf6a..3a3e4cf54 100755 --- a/C/errors.c +++ b/C/errors.c @@ -334,7 +334,7 @@ bool Yap_PrintWarning(Term twarning) { (err = LOCAL_ActiveError->errorNo)) { fprintf(stderr, "%% Warning %s while processing error: %s %s\n", Yap_TermToBuffer(twarning, - Quote_illegal_f | Ignore_ops_f | Unfold_cyclics_f), + Quote_illegal_f | Ignore_ops_f), Yap_errorClassName(Yap_errorClass(err)), Yap_errorName(err)); return false; } @@ -649,7 +649,7 @@ bool Yap_MkErrorRecord(yap_error_descriptor_t *r, const char *file, r->culprit = NULL; } else { r->culprit = Yap_TermToBuffer( - where, Quote_illegal_f | Ignore_ops_f | Unfold_cyclics_f); + where, Quote_illegal_f | Ignore_ops_f); } if (LOCAL_consult_level > 0) { r->prologParserFile = Yap_ConsultingFile(PASS_REGS1)->StrOfAE; @@ -1152,7 +1152,7 @@ yap_error_descriptor_t *Yap_UserError(Term t, yap_error_descriptor_t *i) { n = t2; } i->errorGoal = Yap_TermToBuffer( - n, Quote_illegal_f | Ignore_ops_f | Unfold_cyclics_f); + n, Quote_illegal_f | Ignore_ops_f ); } Yap_prolog_add_culprit(i PASS_REGS); return i; @@ -1183,22 +1183,22 @@ static Int is_callable(USES_REGS1) { // Term Context = Deref(ARG2); while (true) { if (IsVarTerm(G)) { - Yap_Error(INSTANTIATION_ERROR, G, NULL); + Yap_ThrowError(INSTANTIATION_ERROR, G, NULL); return false; } if (IsApplTerm(G)) { Functor f = FunctorOfTerm(G); if (IsExtensionFunctor(f)) { - Yap_Error(TYPE_ERROR_CALLABLE, G, NULL); + Yap_ThrowError(TYPE_ERROR_CALLABLE, G, NULL); } if (f == FunctorModule) { Term tm = ArgOfTerm(1, G); if (IsVarTerm(tm)) { - Yap_Error(INSTANTIATION_ERROR, G, NULL); + Yap_ThrowError(INSTANTIATION_ERROR, G, NULL); return false; } if (!IsAtomTerm(tm)) { - Yap_Error(TYPE_ERROR_CALLABLE, G, NULL); + Yap_ThrowError(TYPE_ERROR_CALLABLE, G, NULL); return false; } G = ArgOfTerm(2, G); @@ -1208,7 +1208,7 @@ static Int is_callable(USES_REGS1) { } else if (IsPairTerm(G) || IsAtomTerm(G)) { return true; } else { - Yap_Error(TYPE_ERROR_CALLABLE, G, NULL); + Yap_ThrowError(TYPE_ERROR_CALLABLE, G, NULL); return false; } } diff --git a/C/text.c b/C/text.c index 88c4c2d0d..e74885a93 100644 --- a/C/text.c +++ b/C/text.c @@ -544,7 +544,7 @@ unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { #endif if (inp->type & YAP_STRING_TERM) { pop_text_stack(lvl); - return Yap_TermToBuffer(inp->val.t, 0); + return (unsigned char *)Yap_TermToBuffer(inp->val.t, 0); } if (inp->type & YAP_STRING_CHARS) { @@ -558,7 +558,7 @@ unsigned char *Yap_readText(seq_tv_t *inp USES_REGS) { } pop_text_stack(lvl); - return inp->val.c; + return inp->val.uc; } if (inp->type & YAP_STRING_WCHARS) { // printf("%S\n",inp->val.w); diff --git a/C/utilpreds.c b/C/utilpreds.c index 5f32a870c..9378353e4 100644 --- a/C/utilpreds.c +++ b/C/utilpreds.c @@ -77,12 +77,12 @@ static int copy_complex_term(CELL *pt0, CELL *pt0_end, int share, int newattvs, CELL *ptf, CELL *HLow USES_REGS) { - struct cp_frame *to_visit0, *to_visit = (struct cp_frame *)Yap_PreAllocCodeSpace(); + struct cp_frame *to_visit0, *to_visit = (struct cp_frame *)Yap_PreAllocCodeSpace() ; CELL *HB0 = HB; tr_fr_ptr TR0 = TR; int ground = TRUE; - HB = HLow; + HB = HR; to_visit0 = to_visit; loop: while (pt0 < pt0_end) { @@ -361,7 +361,7 @@ trail_overflow: reset_trail(TR0); LOCAL_Error_Size = (ADDR)AuxSp-(ADDR)to_visit0; return -3; -} + } static Term @@ -372,7 +372,7 @@ handle_cp_overflow(int res, tr_fr_ptr TR0, UInt arity, Term t) switch(res) { case -1: if (!Yap_gcl((ASP-HR)*sizeof(CELL), arity+1, ENV, gc_P(P,CP))) { - Yap_Error(RESOURCE_ERROR_STACK, TermFoundVar, LOCAL_ErrorMessage); + Yap_Error(RESOURCE_ERROR_STACK, TermNil, LOCAL_ErrorMessage); return 0L; } return Deref(XREGS[arity+1]); @@ -531,25 +531,266 @@ p_copy_term_no_delays( USES_REGS1 ) /* copy term t to a new instance */ +typedef struct bp_frame { + CELL *start_cp; + CELL *end_cp; + CELL *to; + CELL *oldp; + CELL oldv; +} bp_frame_t; + + + typedef struct copy_frame { CELL *start_cp; CELL *end_cp; CELL *to; } copy_frame_t; -static Term * -add_to_list( Term *out_e, Term v, Term t USES_REGS) +static Term +add_to_list( Term inp, Term v, Term t PASS_REGS) { - Term ta[2], tv; + Term ta[2]; ta[0] = v; ta[1] = t; - *out_e = tv = MkPairTerm(Yap_MkApplTerm( FunctorEq, 2, ta ), TermNil); - return RepPair(tv)+1; + return MkPairTerm(Yap_MkApplTerm( FunctorEq, 2, ta ), inp); } + static int -break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term oi, CELL *HLow USES_REGS) +break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *vout, Term vin,CELL *HLow USES_REGS) +{ + + struct bp_frame *to_visit0, *to_visit = (struct bp_frame *)Yap_PreAllocCodeSpace() ; + CELL *HB0 = HB; + tr_fr_ptr TR0 = TR; + + HB = HR; + to_visit0 = to_visit; + loop: + while (pt0 < pt0_end) { + register CELL d0; + register CELL *ptd0; + ++ pt0; + ptd0 = pt0; + d0 = *ptd0; + deref_head(d0, copy_term_unk); + copy_term_nvar: + { + if (IsPairTerm(d0)) { + CELL *ap2 = RepPair(d0); + if (IN_BETWEEN(HB, ap2[0],HR)) { + RESET_VARIABLE(pt0); + vin = add_to_list(vin, (CELL)(pt0), *ap2 ); + continue; + } + *ptf = AbsPair(HR); + ptf++; + if (to_visit+1 >= (struct bp_frame *)AuxSp) { + goto heap_overflow; + } + to_visit->start_cp = pt0; + to_visit->end_cp = pt0_end; + to_visit->to = ptf; + to_visit->oldp = ap2; + d0 = to_visit->oldv = ap2[0]; + /* fool the system into thinking we had a variable there */ + to_visit ++; + pt0 = ap2; + pt0_end = ap2 + 1; + ptf = HR; + *ap2 = AbsPair(HR); + HR += 2; + if (HR > ASP - 2048) { + goto overflow; + } + if (IsVarTerm(d0) && d0 == (CELL)ap2) { + RESET_VARIABLE(ptf); + ptf++; + continue; + } + deref_head(d0, copy_term_unk); + } else if (IsApplTerm(d0)) { + register Functor f; + register CELL *ap2; + /* store the terms to visit */ + ap2 = RepAppl(d0); + if (IN_BETWEEN(HB, ap2[1],HR)) { + RESET_VARIABLE(pt0); + vin = add_to_list(vin, (CELL)pt0, ap2[1] ); + continue; + } + f = (Functor)(*ap2); + + if (IsExtensionFunctor(f)) { + *ptf++ = d0; /* you can just copy other extensions. */ + continue; + } + arity_t arity = ArityOfFunctor(f); + *ptf = AbsAppl(HR); + ptf++; + if (to_visit+1 >= (struct bp_frame *)AuxSp) { + goto heap_overflow; + } + ap2++; + to_visit->start_cp = pt0; + to_visit->end_cp = pt0_end; + to_visit->to = ptf; + to_visit->oldp = ap2; + d0 = to_visit->oldv = ap2[0]; + /* fool the system into thinking we had a variable there */ + to_visit ++; + pt0 = ap2; + pt0_end = ap2 + arity; + if (HR > ASP - 2048) { + goto overflow; + } + if (IsVarTerm(d0) && d0 == (CELL)pt0) { + RESET_VARIABLE(ptf); + ptf++; + continue; + } + deref_head(d0, copy_term_unk); + } else { + /* just copy atoms or integers */ + *ptf++ = d0; + } + continue; + } + + derefa_body(d0, ptd0, copy_term_unk, copy_term_nvar); + *ptf++ = (CELL) ptd0; + } + /* Do we still have compound terms to visit */ + if (to_visit > to_visit0) { + to_visit --; + *to_visit->oldp = to_visit->oldv; + ptf = to_visit->to; + pt0 = to_visit->start_cp; + pt0_end = to_visit->end_cp; + goto loop; + } + + /* restore our nice, friendly, term to its original state */ + HB = HB0; + *vout = vin; + return true; + + overflow: + /* oops, we're in trouble */ + HR = HLow; + /* we've done it */ + /* restore our nice, friendly, term to its original state */ + HB = HB0; +#ifdef RATIONAL_TREES + while (to_visit > to_visit0) { + to_visit --; + pt0 = to_visit->start_cp; + pt0_end = to_visit->end_cp; + ptf = to_visit->to; + *to_visit->oldp = to_visit->oldv; + } +#endif + reset_trail(TR0); + /* follow chain of multi-assigned variables */ + return -1; + + heap_overflow: + /* oops, we're in trouble */ + HR = HLow; + /* we've done it */ + /* restore our nice, friendly, term to its original state */ + HB = HB0; +#ifdef RATIONAL_TREES + while (to_visit > to_visit0) { + to_visit --; + pt0 = to_visit->start_cp; + pt0_end = to_visit->end_cp; + ptf = to_visit->to; + *to_visit->oldp = to_visit->oldv; + } +#endif + reset_trail(TR0); + LOCAL_Error_Size = (ADDR)AuxSp-(ADDR)to_visit0; + return -3; +} + + + Term +Yap_BreakRational(Term inp, UInt arity, Term *to, Term ti USES_REGS) { + Term t = Deref(inp); + Term tii = ti; + tr_fr_ptr TR0 = TR; + + if (IsVarTerm(t)) { + *to = ti; + return t; + } else if (IsPrimitiveTerm(t)) { + *to = ti; + return t; + } else if (IsPairTerm(t)) { + Term tf; + CELL *ap; + CELL *Hi; + + restart_list: + ap = RepPair(t); + Hi = HR; + tf = AbsPair(HR); + HR += 2; + { + Int res; + if ((res = break_rationals_complex_term(ap-1, ap+1, Hi, to, ti, Hi PASS_REGS)) < 0) { + HR = Hi; + if ((t = handle_cp_overflow(res, TR0, arity, t))== 0L) + return FALSE; + goto restart_list; + } else if (*to == tii) { + HR = Hi; + return t; + } else { + return AbsPair(Hi); + } + } + } else { + Functor f; + Term tf; + CELL *HB0; + CELL *ap; + + restart_appl: + f = FunctorOfTerm(t); + if (IsExtensionFunctor(f)) { + *to = ti; + return t; + } + HB0 = HR; + ap = RepAppl(t); + tf = AbsAppl(HR); + HR[0] = (CELL)f; + arity = ArityOfFunctor(f); + HR += 1+arity; + + { + Int res; + if ((res = break_rationals_complex_term(ap, ap+(arity), HB0+1, to, ti, HB0 PASS_REGS)) < 0) { + HR = HB0; + if ((t = handle_cp_overflow(res, TR0, arity, t))== 0L) + return FALSE; + goto restart_appl; + } else if (*to == ti) { + HR = HB0; + return t; + } else { + return AbsAppl(HB0); + } + } + } +} + + static int +break_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term oi, CELL *HLow USES_REGS) { struct copy_frame *to_visit0, *to_visit = (struct copy_frame *)Yap_PreAllocCodeSpace(); @@ -586,7 +827,7 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term if (!IsVarTerm(*newp)) { Term v = (CELL)newp, t = *newp; RESET_VARIABLE(newp); - of = add_to_list( of, v, t PASS_REGS); + oi = add_to_list( oi, v, t PASS_REGS); } *ptf++ = (CELL)newp; continue; @@ -667,8 +908,7 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term /* restore our nice, friendly, term to its original state */ HB = HB0; reset_trail(TR0); - RESET_VARIABLE(of); - Yap_unify((CELL)of, oi); + *of = oi; return TRUE; overflow: @@ -677,14 +917,12 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term /* we've done it */ /* restore our nice, friendly, term to its original state */ HB = HB0; -#ifdef RATIONAL_TREES while (to_visit > to_visit0) { to_visit --; pt0 = to_visit->start_cp; pt0_end = to_visit->end_cp; ptf = to_visit->to; } -#endif reset_trail(TR0); /* follow chain of multi-assigned variables */ return -1; @@ -695,28 +933,27 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *of, Term /* we've done it */ /* restore our nice, friendly, term to its original state */ HB = HB0; -#ifdef RATIONAL_TREES while (to_visit > to_visit0) { to_visit --; pt0 = to_visit->start_cp; pt0_end = to_visit->end_cp; ptf = to_visit->to; } -#endif reset_trail(TR0); LOCAL_Error_Size = (ADDR)AuxSp-(ADDR)to_visit0; return -3; } - -static Term -BreakRational(Term inp, UInt arity, Term *of, Term oi USES_REGS) { + Term +Yap_BreakTerm(Term inp, UInt arity, Term *to, Term ti USES_REGS) { Term t = Deref(inp); tr_fr_ptr TR0 = TR; if (IsVarTerm(t)) { + *to = ti; return t; } else if (IsPrimitiveTerm(t)) { + *to = ti; return t; } else { CELL *ap; @@ -728,7 +965,7 @@ BreakRational(Term inp, UInt arity, Term *of, Term oi USES_REGS) { { int res; - if ((res = break_rationals_complex_term(ap-1, ap, Hi, of, oi, Hi PASS_REGS)) < 0) { + if ((res = break_complex_term(ap-1, ap, Hi, to, ti, Hi PASS_REGS)) < 0) { HR = Hi; if ((t = handle_cp_overflow(res, TR0, arity, t))== 0L) return FALSE; @@ -739,11 +976,12 @@ BreakRational(Term inp, UInt arity, Term *of, Term oi USES_REGS) { } } + static Int p_break_rational( USES_REGS1 ) { Term tf; - return Yap_unify(ARG2, BreakRational(ARG1, 4, &tf, ARG4 PASS_REGS)) && + return Yap_unify(ARG2, Yap_BreakTerm(ARG1, 4, &tf, ARG4 PASS_REGS)) && Yap_unify(tf, ARG3); } @@ -752,7 +990,7 @@ static Int p_break_rational3( USES_REGS1 ) { Term tf; - return Yap_unify(ARG2, BreakRational(ARG1, 4, &tf, TermNil PASS_REGS)) && + return Yap_unify(ARG2, Yap_BreakTerm(ARG1, 4, &tf, TermNil PASS_REGS)) && Yap_unify(tf, ARG3); } @@ -1349,7 +1587,7 @@ static Term vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, Ter to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1377,7 +1615,7 @@ static Term vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, Ter to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1683,9 +1921,9 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, } { CELL *npt0 = RepPair(d0); - if(Deref(npt0[0]) == TermFoundVar) { + if(IsAtomicTerm(Deref(npt0[0]))) { pt0 = npt0; - pt0_end = pt0; + pt0_end = pt0 + 1; continue; } } @@ -1694,7 +1932,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1722,7 +1960,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1741,7 +1979,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, derefa_body(d0, ptd0, attvars_in_term_unk, attvars_in_term_nvar); if (IsAttVar(ptd0)) { /* do or pt2 are unbound */ - *ptd0 = TermFoundVar; + *ptd0 = TermNil; /* next make sure noone will see this as a variable again */ if (TR > (tr_fr_ptr)LOCAL_TrailTop - 256) { /* Trail overflow */ @@ -1767,7 +2005,7 @@ static Term attvars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -1963,7 +2201,7 @@ static Term vars_within_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2160,7 +2398,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2188,7 +2426,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2205,7 +2443,7 @@ static Term new_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end, derefa_body(d0, ptd0, vars_within_term_unk, vars_within_term_nvar); /* do or pt2 are unbound */ - *ptd0 = TermFoundVar; + *ptd0 = TermNil; /* leave an empty slot to fill in later */ if (HR+1024 > ASP) { goto global_overflow; @@ -2350,7 +2588,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2378,7 +2616,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2395,7 +2633,7 @@ static Term free_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end derefa_body(d0, ptd0, vars_within_term_unk, vars_within_term_nvar); /* do or pt2 are unbound */ - *ptd0 = TermFoundVar; + *ptd0 = TermNil; /* leave an empty slot to fill in later */ if (HR+1024 > ASP) { goto global_overflow; @@ -2507,7 +2745,7 @@ static Term bind_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2535,7 +2773,7 @@ static Term bind_vars_in_complex_term(register CELL *pt0, register CELL *pt0_end to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2706,7 +2944,7 @@ static Term non_singletons_in_complex_term(register CELL *pt0, register CELL *pt to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2735,7 +2973,7 @@ static Term non_singletons_in_complex_term(register CELL *pt0, register CELL *pt to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -2864,7 +3102,7 @@ static Int ground_complex_term(register CELL *pt0, register CELL *pt0_end USES_R to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -2892,7 +3130,7 @@ static Int ground_complex_term(register CELL *pt0, register CELL *pt0_end USES_R to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3043,7 +3281,7 @@ static Int sz_ground_complex_term(register CELL *pt0, register CELL *pt0_end, in to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -3072,7 +3310,7 @@ static Int sz_ground_complex_term(register CELL *pt0, register CELL *pt0_end, in to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3191,7 +3429,7 @@ static Int var_in_complex_term(register CELL *pt0, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -3221,7 +3459,7 @@ static Int var_in_complex_term(register CELL *pt0, to_visit[1] = pt0_end; to_visit[2] = (CELL *)*pt0; to_visit += 3; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else /* store the terms to visit */ if (pt0 < pt0_end) { @@ -3251,7 +3489,7 @@ static Int var_in_complex_term(register CELL *pt0, return(TRUE); } /* do or pt2 are unbound */ - *ptd0 = TermFoundVar; + *ptd0 = TermNil; /* next make sure noone will see this as a variable again */ TrailTerm(TR++) = (CELL)ptd0; } @@ -4628,7 +4866,7 @@ loop: to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermFoundVar; + *pt0 = TermNil; #else if (pt0 < pt0_end) { to_visit[0] = pt0; @@ -4661,7 +4899,7 @@ loop: to_visit->end = pt0_end; to_visit->oval = *pt0; to_visit ++; - *pt0 = TermFoundVar; + *pt0 = TermNil; #endif d0 = ArityOfFunctor(f); pt0 = ap2; diff --git a/C/write.c b/C/write.c index feb611069..e02882f31 100644 --- a/C/write.c +++ b/C/write.c @@ -1,4 +1,3 @@ - /************************************************************************* * * * YAP Prolog * @@ -71,13 +70,11 @@ typedef struct rewind_term { typedef struct write_globs { StreamDesc *stream; - bool Quote_illegal, Ignore_ops, Handle_vars, Use_portray, Portray_delays; - bool Keep_terms; - bool Write_Loops; - bool Write_strings; - bool last_atom_minus; - char *buf; - size_t buf_size; + int Quote_illegal, Ignore_ops, Handle_vars, Use_portray, Portray_delays; + int Keep_terms; + int Write_Loops; + int Write_strings; + int last_atom_minus; UInt MaxDepth, MaxArgs; wtype lw; } wglbs; @@ -87,27 +84,14 @@ typedef struct write_globs { static bool callPortray(Term t, int sno USES_REGS) { PredEntry *pe; - //Int b0 = LCL0 - (CELL *)B; - CELL *pt; - arity_t i, a; - Functor f; - if ((pe = RepPredProp(Yap_GetPredPropByFunc(FunctorPortray, USER_MODULE))) == NULL || - pe->OpcodeOfPred != FAIL_OPCODE || pe->OpcodeOfPred != UNDEF_OPCODE) - return false; - if (IsApplTerm(t)) { - f = FunctorOfTerm(t); - a = ArityOfFunctor(f); - pt = RepAppl(t)+1; + Int b0 = LCL0 - (CELL *)B; - } else { - a = 2; - pt = RepPair(t); - } - for (i=0; i < a; i++) XREGS[i+1] = pt[i]; UNLOCK(GLOBAL_Stream[sno].streamlock); - if (Yap_execute_pred(pe, NULL, true PASS_REGS)) { - //choiceptr B0 = (choiceptr)(LCL0 - b0); - //Yap_fail_all(B0 PASS_REGS); + if ((pe = RepPredProp(Yap_GetPredPropByFunc(FunctorPortray, USER_MODULE))) && + pe->OpcodeOfPred != FAIL_OPCODE && pe->OpcodeOfPred != UNDEF_OPCODE && + Yap_execute_pred(pe, &t, true PASS_REGS)) { + choiceptr B0 = (choiceptr)(LCL0 - b0); + Yap_fail_all(B0 PASS_REGS); LOCK(GLOBAL_Stream[sno].streamlock); return true; } @@ -116,6 +100,11 @@ static bool callPortray(Term t, int sno USES_REGS) { return false; } +#define PROTECT(t,F) { \ + yhandle_t yt = Yap_InitHandle(t); \ + F; \ + t = Yap_PopHandle(yt); \ + } static void wrputn(Int, struct write_globs *); static void wrputf(Float, struct write_globs *); static void wrputref(CODEADDR, int, struct write_globs *); @@ -130,12 +119,6 @@ static void writeTerm(Term, int, int, int, struct write_globs *, #define wrputc(WF, X) \ (X)->stream_wputc(X - GLOBAL_Stream, WF) /* writes a character */ -inline static void wrputs(char *s, StreamDesc *stream) { - int c; - while ((c = *s++)) - wrputc(c, stream); -} - /* protect bracket from merging with previoous character. avoid stuff like not (2,3) -> not(2,3) or @@ -178,91 +161,6 @@ static void protect_close_number(struct write_globs *wglb, int used_bracket) { last_minus = FALSE; } - -static void output_infinite_loop( int i, struct rewind_term *x,struct write_globs *wglb ) -{ - int l = push_text_stack(); - if ( wglb->buf == NULL) { - wglb->buf = Malloc(256); - wglb->buf[0] = '\0'; - wglb->buf_size = 255;; - } - char *s = wglb->buf+strlen(wglb->buf); - snprintf(s, 256-strlen(wglb->buf)-1,"^@(%i)",i); - wrputs(s , wglb->stream); - pop_text_stack(l); - wglb->buf = NULL; - wglb->buf_size = 0; -} - - -static bool has_infinite_loop(Term t, struct rewind_term *x,struct write_globs *wglb ) -{ - int i = 1; - // if (!wglb->Write_Loops) { - // return false; - // } - if (wglb->Keep_terms) { - while (x) { - if (t == Yap_GetFromHandle(x->u_sd.s.old)) { - output_infinite_loop(i, x, wglb); - return true; - } - x = x->parent; - i++; - } - } else { - while (x) { - if (t == x->u_sd.d.old) { - output_infinite_loop(i, x, wglb); - return true; - } - x = x->parent; - i++; - } - } - return false; -} - -static bool protected(Term t0, struct rewind_term *rwt, - struct write_globs *wglb) { - CACHE_REGS - Term t; - struct rewind_term *x = rwt->parent; - - t = Deref(t0); - if (wglb->Keep_terms) { - - if (!IsAtomicTerm(t) && !IsVarTerm(t)) { - if (has_infinite_loop(t,x,wglb)) - return false; - } - rwt->u_sd.s.old = Yap_InitSlot(t); - - } else { - rwt->u_sd.d.old = t; - if (!IsVarTerm(t) && !IsAtomicTerm(t)) { - if (has_infinite_loop(t,x,wglb)) - return false; - } - } - return true; -} - -static Term restore_parent(struct rewind_term *rwt, - struct write_globs *wglb) { - CACHE_REGS - - if (wglb->Keep_terms) { - Term t = Yap_GetFromSlot(rwt->parent->u_sd.s.old); - // resre original term. - // printf("leak=%d %d\n", LOCALCurSlot,rwt->u_sd.s.old) ; - return t; - } else { - return rwt->parent->u_sd.d.old; - } -} - static void wrputn(Int n, struct write_globs *wglb) /* writes an integer */ { @@ -282,6 +180,12 @@ static void wrputn(Int n, protect_close_number(wglb, ob); } +inline static void wrputs(char *s, StreamDesc *stream) { + int c; + while ((c = *s++)) + wrputc(c, stream); +} + #ifdef USE_GMP static char *ensure_space(size_t sz) { @@ -362,8 +266,7 @@ static void writebig(Term t, int p, int depth, int rinfixarg, return; } else if (big_tag == BIG_RATIONAL) { Term trat = Yap_RatTermToApplTerm(t); - if (protected(trat, rwt, wglb)) - writeTerm(trat, p, depth, rinfixarg, wglb, rwt); + writeTerm(trat, p, depth, rinfixarg, wglb, rwt); return; #endif } else if (big_tag >= USER_BLOB_START && big_tag < USER_BLOB_END) { @@ -373,9 +276,7 @@ static void writebig(Term t, int p, int depth, int rinfixarg, blob_info = big_tag; if (GLOBAL_OpaqueHandlers && (f = GLOBAL_OpaqueHandlers[blob_info].write_handler)) { - if (protected(t, rwt, wglb)) { - f(wglb->stream->file, big_tag, ExternalBlobFromTerm(t), 0); - } + (f)(wglb->stream->file, big_tag, ExternalBlobFromTerm(t), 0); return; } } @@ -774,7 +675,6 @@ static void putUnquotedString(Term string, struct write_globs *wglb) lastw = alphanum; } -/* writes an unbound variable */ static void write_var(CELL *t, struct write_globs *wglb, struct rewind_term *rwt) { CACHE_REGS @@ -790,26 +690,21 @@ static void write_var(CELL *t, struct write_globs *wglb, exts ext = ExtFromCell(t); struct rewind_term nrwt; nrwt.parent = rwt; - + nrwt.u_sd.s.ptr = 0; + wglb->Portray_delays = FALSE; if (ext == attvars_ext) { - yhandle_t h = Yap_InitHandle((CELL)t); attvar_record *attv = RepAttVar(t); - Term l = attv->Value; /* dirty low-level hack, check atts.h */ + CELL *l = &attv->Value; /* dirty low-level hack, check atts.h */ wrputs("$AT(", wglb->stream); write_var(t, wglb, rwt); wrputc(',', wglb->stream); - if (protected(l, &nrwt, wglb)) - writeTerm(l, 999, 1, FALSE, wglb, &nrwt); - wrputc(',', wglb->stream); - - attv = RepAttVar((CELL *)Yap_GetFromHandle(h)); - CELL *lp = &attv->Value; - - l = lp[1]; - if (!protected(l, &nrwt, wglb)) - writeTerm(l, 999, 1, FALSE, wglb, &nrwt); + PROTECT(*t,writeTerm(*l, 999, 1, FALSE, wglb, &nrwt)); + attv = RepAttVar(t); + wrputc(',', wglb->stream); + l++; + writeTerm(*l, 999, 1, FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); } wglb->Portray_delays = TRUE; @@ -823,54 +718,65 @@ static void write_var(CELL *t, struct write_globs *wglb, } -static void write_list(Term t, long int dir, int depth, +static void write_list(Term t, int direction, int depth, struct write_globs *wglb, struct rewind_term *rwt) { Term ti; struct rewind_term nrwt; nrwt.parent = rwt; - long int dir0 = 0; - yhandle_t sl = Yap_NewSlots(1); + nrwt.u_sd.s.ptr = 0; + while (1) { - Term head = HeadOfTerm(t); - Yap_PutInSlot( sl, t); - if (protected(head, &nrwt, wglb)) { - writeTerm( head, 999, depth + 1, false, wglb, &nrwt); - } - t = Yap_GetFromSlot(sl); + int ndirection; + int do_jump; + + PROTECT(t,writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE, + wglb, &nrwt)); ti = TailOfTerm(t); - depth++; + if (IsVarTerm(ti)) + break; + if (!IsPairTerm(ti)) + break; + ndirection = RepPair(ti) - RepPair(t); + /* make sure we're not trapped in loops */ + if (ndirection > 0) { + do_jump = (direction <= 0); + } else if (ndirection == 0) { + wrputc(',', wglb->stream); + putAtom(AtomFoundVar, wglb->Quote_illegal, wglb); + lastw = separator; + return; + } else { + do_jump = (direction >= 0); + } if (wglb->MaxDepth != 0 && depth > wglb->MaxDepth) { if (lastw == symbol || lastw == separator) { - wrputc(' ', wglb->stream); + wrputc(' ', wglb->stream); } wrputc('|', wglb->stream); putAtom(Atom3Dots, wglb->Quote_illegal, wglb); return; } lastw = separator; + direction = ndirection; depth++; - dir0 = dir; - if (IsVarTerm(ti)) + if (do_jump) break; - if (!IsPairTerm(ti)) - break; - dir = RepPair(ti)-RepPair(t); - t = ti; wrputc(',', wglb->stream); - if (!protected(t, &nrwt,wglb)) { - return; - } - if (dir*dir0 <0 ) - return write_list(ti, dir, depth, wglb, &nrwt); + t = ti; } - if (ti != MkAtomTerm(AtomNil)) { + if (IsPairTerm(ti)) { + /* we found an infinite loop */ + /* keep going on the list */ + wrputc(',', wglb->stream); + write_list(ti, direction, depth, wglb, &nrwt); + } else if (ti != MkAtomTerm(AtomNil)) { if (lastw == symbol || lastw == separator) { wrputc(' ', wglb->stream); } wrputc('|', wglb->stream); lastw = separator; - if (protected(ti, &nrwt, wglb)) - writeTerm(ti, 999, depth, FALSE, wglb, &nrwt); + writeTerm(ti, 999, depth, FALSE, + wglb, &nrwt); } } @@ -893,6 +799,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (IsVarTerm(t)) { write_var((CELL *)t, wglb, &nrwt); } else if (IsIntTerm(t)) { + wrputn((Int)IntOfTerm(t), wglb); } else if (IsAtomTerm(t)) { putAtom(AtomOfTerm(t), wglb->Quote_illegal, wglb); @@ -900,14 +807,11 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (wglb->Ignore_ops) { wrputs("'.'(", wglb->stream); lastw = separator; - Term nt = HeadOfTerm(t); - if (protected(nt, &nrwt, wglb)) - writeTerm(nt, 999, depth + 1, FALSE, - wglb, &nrwt); - t = restore_parent(&nrwt, wglb); + + PROTECT( t, writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE, + wglb, &nrwt)); wrputs(",", wglb->stream); - if (protected(nt, &nrwt, wglb)) - writeTerm(nt, 999, depth + 1, + writeTerm(TailOfTerm(t), 999, depth + 1, FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); return; @@ -974,10 +878,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, *p++; lastw = separator; /* cannot use the term directly with the SBA */ - if (protected(nt, &nrwt, wglb)) - writeTerm(nt, 999, depth + 1, - FALSE, wglb, &nrwt); - t = restore_parent(&nrwt, wglb); + PROTECT( t, writeTerm(*p, 999, depth + 1, FALSE, wglb, + &nrwt) ); if (*p) wrputc(',', wglb->stream); argno++; @@ -993,7 +895,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } if (!wglb->Ignore_ops && Arity == 1 && Yap_IsPrefixOp(atom, &op, &rp)) { Term tright = ArgOfTerm(1, t); - bool bracket_right = !IsVarTerm(tright) && IsAtomTerm(tright) && + int bracket_right = !IsVarTerm(tright) && IsAtomTerm(tright) && Yap_IsOp(AtomOfTerm(tright)); if (op > p) { wropen_bracket(wglb, TRUE); @@ -1005,8 +907,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } else if (atom == AtomMinus) { last_minus = TRUE; } - if (protected(tright, &nrwt, wglb)) - writeTerm(tright, rp, depth + 1, TRUE, wglb, &nrwt); + writeTerm(tright, rp, depth + 1, TRUE, + wglb, &nrwt); if (bracket_right) { wrclose_bracket(wglb, TRUE); } @@ -1021,12 +923,14 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, Yap_IsPosfixOp(atom, &op, &lp)) { Term tleft = ArgOfTerm(1, t); - int bracket_left; + int bracket_left, offset; if (Arity != 1) { tleft = ArgOfTerm(1, t); + offset = 2; } else { tleft = ArgOfTerm(1, t); + offset = 1; } bracket_left = !IsVarTerm(tleft) && IsAtomTerm(tleft) && Yap_IsOp(AtomOfTerm(tleft)); @@ -1037,9 +941,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_left) { wropen_bracket(wglb, TRUE); } - if (protected(tleft, &nrwt, wglb)) - writeTerm(tleft, lp, depth + 1, rinfixarg, wglb, &nrwt); - t = restore_parent(&nrwt, wglb); + writeTerm(ArgOfTerm(offset,t), lp, depth + 1, + rinfixarg, wglb, &nrwt); if (bracket_left) { wrclose_bracket(wglb, TRUE); } @@ -1084,9 +987,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_left) { wropen_bracket(wglb, TRUE); } - if (protected(tleft, &nrwt, wglb)) - writeTerm(tleft, lp, depth + 1, rinfixarg, wglb, &nrwt); - t = restore_parent(&nrwt, wglb); + PROTECT(t,writeTerm(ArgOfTerm(1,t), lp, depth + 1, + rinfixarg, wglb, &nrwt)); if (bracket_left) { wrclose_bracket(wglb, TRUE); } @@ -1105,10 +1007,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (bracket_right) { wropen_bracket(wglb, TRUE); } - tright = ArgOfTerm(2, t); - if (protected(tright, &nrwt, wglb)) - writeTerm(tright, rp, depth + 1, TRUE, - wglb, &nrwt); + writeTerm(ArgOfTerm(2,t), rp, depth + 1, TRUE, + wglb, &nrwt); if (bracket_right) { wrclose_bracket(wglb, TRUE); } @@ -1148,19 +1048,18 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, } else { wrputs("'$VAR'(", wglb->stream); lastw = separator; - writeTerm(ti, 999, depth + 1, FALSE, wglb, &nrwt); + writeTerm(ArgOfTerm(1, t), 999, depth + 1, + FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); } } else if (!wglb->Ignore_ops && functor == FunctorBraces) { wrputc('{', wglb->stream); lastw = separator; - Term t1 = ArgOfTerm(1,t); - if (protected(t1, &nrwt, wglb)) writeTerm(t1, GLOBAL_MaxPriority, + writeTerm(ArgOfTerm(1, t), GLOBAL_MaxPriority, depth + 1, FALSE, wglb, &nrwt); wrputc('}', wglb->stream); lastw = separator; } else if (atom == AtomArray) { - Term ti; wrputc('{', wglb->stream); lastw = separator; for (op = 1; op <= Arity; ++op) { @@ -1168,40 +1067,37 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, wrputs("...", wglb->stream); break; } - ti = ArgOfTerm(op,t); - if (protected(ti, &nrwt, wglb)) - writeTerm(ti, 999, depth + 1,FALSE, wglb, &nrwt); - t = restore_parent(&nrwt, wglb); + writeTerm(ArgOfTerm(op, t), 999, depth + 1, + FALSE, wglb, &nrwt); if (op != Arity) { + PROTECT(t, writeTerm(ArgOfTerm(op, t), 999, depth + 1, + FALSE, wglb, &nrwt)); wrputc(',', wglb->stream); lastw = separator; } } + writeTerm(ArgOfTerm(op, t), 999, depth + 1, + FALSE, wglb, &nrwt); wrputc('}', wglb->stream); lastw = separator; } else { putAtom(atom, wglb->Quote_illegal, wglb); lastw = separator; wropen_bracket(wglb, FALSE); - for (op = 1; op <= Arity; ++op) { - Term ti; + for (op = 1; op < Arity; ++op) { if (op == wglb->MaxArgs) { wrputc('.', wglb->stream); wrputc('.', wglb->stream); wrputc('.', wglb->stream); break; } - ti = ArgOfTerm(op,t); - - if (protected(ti, &nrwt, wglb)) - writeTerm(ti, 999, depth + 1, - FALSE, wglb, &nrwt); - if (op != Arity) { - t = restore_parent(&nrwt, wglb); - wrputc(',', wglb->stream); - lastw = separator; - } + PROTECT(t,writeTerm(ArgOfTerm(op, t), 999, depth + 1, + FALSE, wglb, &nrwt)); + wrputc(',', wglb->stream); + lastw = separator; } + writeTerm(ArgOfTerm(op, t), 999, depth + 1, + FALSE, wglb, &nrwt); wrclose_bracket(wglb, TRUE); } } @@ -1215,7 +1111,7 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, { CACHE_REGS struct write_globs wglb; - struct rewind_term nrwt; + struct rewind_term rwt; yhandle_t sls = Yap_CurrentSlot(); int lvl = push_text_stack(); @@ -1234,19 +1130,30 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, wglb.Portray_delays = flags & AttVar_Portray_f; wglb.MaxDepth = max_depth; wglb.MaxArgs = max_depth; - wglb.Write_Loops = flags & Unfold_cyclics_f; - wglb.buf = NULL; - wglb.buf_size = 0; /* notice: we must have ASP well set when using portray, otherwise we cannot make recursive Prolog calls */ wglb.Keep_terms = (flags & (Use_portray_f | To_heap_f)); /* initialize wglb */ - nrwt.parent = NULL; + rwt.parent = NULL; wglb.Ignore_ops = flags & Ignore_ops_f; wglb.Write_strings = flags & BackQuote_String_f; + if (!(flags & Ignore_cyclics_f) && Yap_do_low_level_trace) { + Term ts[2]; + Yap_do_low_level_trace=false; + Yap_DebugPlWriteln(t); + ts[0] = Yap_BreakRational(t, 0, ts+1, TermNil PASS_REGS); + fprintf(stderr, "%lx %lx %lx\n", t, ts[0], ts[1]); + //Yap_DebugPlWriteln(ts[0]); + //ap_DebugPlWriteln(ts[1[); + if (ts[1] != TermNil) { + t = Yap_MkApplTerm( FunctorAtSymbol, 2, ts); + Yap_DebugPlWriteln(ts[0]); + Yap_DebugPlWriteln(ts[1]); + } + Yap_do_low_level_trace = true; + } /* protect slots for portray */ - protected(t, &nrwt, &wglb); - writeTerm(t, priority, 1, FALSE, &wglb, &nrwt); + writeTerm(t, priority, 1, FALSE, &wglb, &rwt); if (flags & New_Line_f) { if (flags & Fullstop_f) { wrputc('.', wglb.stream); diff --git a/H/ATOMS b/H/ATOMS index ee1e1418d..8c2ed1f44 100644 --- a/H/ATOMS +++ b/H/ATOMS @@ -7,6 +7,7 @@ // This is supported by YAP directly // A Dot N "." // +A AtSymbol N "@" A 3Dots N "..." A Abol F "$abol" A Access N "access" @@ -463,6 +464,8 @@ F DoubleArrow DoubleArrow 2 F As As 2 F Assert1 Assert 1 F Assert Assert 2 +F At At 2 +F AtSymbol AtSymbol 2 F AtFoundOne FoundVar 2 F Atom Atom 1 F Att1 Att1 3 diff --git a/H/Yapproto.h b/H/Yapproto.h index 89c85cc56..11021bc2b 100755 --- a/H/Yapproto.h +++ b/H/Yapproto.h @@ -493,7 +493,10 @@ extern Int Yap_TermHash(Term, Int, Int, int); extern Int Yap_NumberVars(Term, Int, bool); extern Term Yap_TermVariables(Term t, UInt arity USES_REGS); extern Term Yap_UnNumberTerm(Term, int); -extern Int Yap_SkipList(Term *, Term **); +extern Int Yap_SkipList(Term *, Term **); +extern Term Yap_BreakRational(Term inp, UInt arity, Term *of, Term oi USES_REGS); +extern Term Yap_BreakTerml(Term inp, UInt arity, Term *of, Term oi USES_REGS); + /* yap.c */ /* write.c */ diff --git a/H/generated/iatoms.h b/H/generated/iatoms.h index b3f184cce..0863a5e7c 100644 --- a/H/generated/iatoms.h +++ b/H/generated/iatoms.h @@ -2,6 +2,7 @@ /* This file, iatoms.h, was generated automatically by "yap -L misc/buildatoms" {lease do not update, update misc/ATOMS instead */ + AtomAtSymbol = Yap_LookupAtom("@"); TermAtSymbol = MkAtomTerm(AtomAtSymbol); Atom3Dots = Yap_LookupAtom("..."); AtomAbol = Yap_FullLookupAtom("$abol"); TermAbol = MkAtomTerm(AtomAbol); AtomAccess = Yap_LookupAtom("access"); TermAccess = MkAtomTerm(AtomAccess); @@ -458,6 +459,8 @@ FunctorAs = Yap_MkFunctor(AtomAs,2); FunctorAssert1 = Yap_MkFunctor(AtomAssert,1); FunctorAssert = Yap_MkFunctor(AtomAssert,2); + FunctorAt = Yap_MkFunctor(AtomAt,2); + FunctorAtSymbol = Yap_MkFunctor(AtomAtSymbol,2); FunctorAtFoundOne = Yap_MkFunctor(AtomFoundVar,2); FunctorAtom = Yap_MkFunctor(AtomAtom,1); FunctorAtt1 = Yap_MkFunctor(AtomAtt1,3); diff --git a/H/generated/ratoms.h b/H/generated/ratoms.h index df594d9f8..6f06ebf24 100644 --- a/H/generated/ratoms.h +++ b/H/generated/ratoms.h @@ -2,6 +2,7 @@ /* This file, ratoms.h, was generated automatically by "yap -L misc/buildatoms" {lease do not update, update misc/ATOMS instead */ + AtomAtSymbol = AtomAdjust(AtomAtSymbol); TermAtSymbol = MkAtomTerm(AtomAtSymbol); Atom3Dots = AtomAdjust(Atom3Dots); AtomAbol = AtomAdjust(AtomAbol); TermAbol = MkAtomTerm(AtomAbol); AtomAccess = AtomAdjust(AtomAccess); TermAccess = MkAtomTerm(AtomAccess); @@ -458,6 +459,8 @@ FunctorAs = FuncAdjust(FunctorAs); FunctorAssert1 = FuncAdjust(FunctorAssert1); FunctorAssert = FuncAdjust(FunctorAssert); + FunctorAt = FuncAdjust(FunctorAt); + FunctorAtSymbol = FuncAdjust(FunctorAtSymbol); FunctorAtFoundOne = FuncAdjust(FunctorAtFoundOne); FunctorAtom = FuncAdjust(FunctorAtom); FunctorAtt1 = FuncAdjust(FunctorAtt1); diff --git a/H/generated/tatoms.h b/H/generated/tatoms.h index 7cb730631..0980f6f4d 100644 --- a/H/generated/tatoms.h +++ b/H/generated/tatoms.h @@ -2,6 +2,7 @@ /* This file, tatoms.h, was generated automatically by "yap -L misc/buildatoms" {lease do not update, update misc/ATOMS instead */ +X_API EXTERNAL Atom AtomAtSymbol; X_API EXTERNAL Term TermAtSymbol; X_API EXTERNAL Atom Atom3Dots; X_API EXTERNAL Atom AtomAbol; X_API EXTERNAL Term TermAbol; X_API EXTERNAL Atom AtomAccess; X_API EXTERNAL Term TermAccess; @@ -469,6 +470,10 @@ X_API EXTERNAL Functor FunctorAssert1; X_API EXTERNAL Functor FunctorAssert; +X_API EXTERNAL Functor FunctorAt; + +X_API EXTERNAL Functor FunctorAtSymbol; + X_API EXTERNAL Functor FunctorAtFoundOne; X_API EXTERNAL Functor FunctorAtom; diff --git a/include/YapStreams.h b/include/YapStreams.h index d0468afc0..4eff718b6 100644 --- a/include/YapStreams.h +++ b/include/YapStreams.h @@ -194,7 +194,7 @@ typedef enum { /* we accept two domains for the moment, IPV6 may follow */ #define Handle_vars_f 0x04 #define Use_portray_f 0x08 #define To_heap_f 0x10 -#define Unfold_cyclics_f 0x20 +#define Ignore_cyclics_f 0x20 #define Use_SWI_Stream_f 0x40 #define BackQuote_String_f 0x80 #define AttVar_None_f 0x100 diff --git a/os/writeterm.c b/os/writeterm.c index 4e7bdc34d..972af199e 100644 --- a/os/writeterm.c +++ b/os/writeterm.c @@ -232,7 +232,7 @@ static bool write_term(int output_stream, Term t, xarg *args USES_REGS) { } } if (args[WRITE_CYCLES].used && args[WRITE_CYCLES].tvalue == TermFalse) { - flags |= Unfold_cyclics_f; + flags |= Ignore_cyclics_f; } if (args[WRITE_QUOTED].used && args[WRITE_QUOTED].tvalue == TermTrue) { flags |= Quote_illegal_f; diff --git a/pl/meta.yap b/pl/meta.yap index f62f78f41..0930c138c 100644 --- a/pl/meta.yap +++ b/pl/meta.yap @@ -88,7 +88,7 @@ meta_predicate(P) :- %% new context module. '$is_mt'(H, B, HM, _SM, M, (context_module(CM),B), CM) :- '$yap_strip_module'(HM:H, M, NH), - '$module_transparent'(_, M, _, NH), !. + '$module_transparent'(_, M, _, NH), !. '$is_mt'(_H, B, _HM, _SM, BM, B, BM). @@ -442,7 +442,7 @@ meta_predicate(P) :- '$module_u_vars'(HM , H, UVars), % collect head variables in % expanded positions % support for SWI's meta primitive. - '$is_mt'(H, B, HM, SM, M, IB, BM), + '$is_mt'(H, B, HM, SM, M, IB, BM), '$expand_goals'(IB, B1, BO1, HM, SM, BM, UVars-H), ( '$full_clause_optimisation'(H, BM, BO1, BO) diff --git a/pl/preddyns.yap b/pl/preddyns.yap index 330720737..28a063df5 100644 --- a/pl/preddyns.yap +++ b/pl/preddyns.yap @@ -250,56 +250,66 @@ Retract all the clauses whose head matches the goal _G_. Goal _G_ must be a call to a dynamic predicate. */ -retractall(M:V) :- !, - '$retractall'(V,M). retractall(V) :- - '$current_module'(M), - '$retractall'(V,M). + '$yap_strip_module'(V,M,P), + is_callable(M,P), + '$retractall'(P,M). -'$retractall'(V,M) :- var(V), !, - '$do_error'(instantiation_error,retract(M:V)). -'$retractall'(M:V,_) :- !, - '$retractall'(V,M). '$retractall'(T,M) :- - functor(T,Na,Ar), - ( - '$is_log_updatable'(T, M) -> - ( '$is_multifile'(T, M) -> - '$retractall_lu_mf'(T,M,Na,Ar) - ; - '$retractall_lu'(T,M) - ) - ; - \+ callable(T) -> - '$do_error'(type_error(callable,T),retractall(T)) - ; - '$undefined'(T,M) -> - '$dynamic'(Na/Ar,M), ! - ; - '$is_dynamic'(T,M) -> + functor(T,Na,Ar), + ( + '$is_log_updatable'(T, M) + -> + '$retractall_lu_pred'(T, M, Na, Ar) + ; + '$undefined'(T,M) + -> + '$dynamic'(Na/Ar,M) + ; + '$is_dynamic'(T,M) + -> '$erase_all_clauses_for_dynamic'(T, M) - ; - '$do_error'(permission_error(modify,static_procedure,Na/Ar),retractall(T)) - ). + ; + '$do_error'(permission_error(modify,static_procedure,Na/Ar),retractall(T)) + ). + +'$retractall_lu_pred'(T, M, Na, Ar) :- + ( + '$is_multifile'(T, M) + -> + '$retractall_lu_mf'(T,M,Na,Ar) + ; + '$retractall_lu'(T,M) + ). '$retractall_lu'(T,M) :- - '$free_arguments'(T), !, - ( '$purge_clauses'(T,M), fail ; true ). + '$free_arguments'(T), !, + ( '$purge_clauses'(T,M), fail ; true ). '$retractall_lu'(T,M) :- - '$log_update_clause'(T,M,_,R), - erase(R), - fail. + '$log_update_clause'(T,M,_,R), + erase(R), + fail. '$retractall_lu'(_,_). '$retractall_lu_mf'(T,M,Na,Ar) :- - '$log_update_clause'(T,M,_,R), - ( recorded('$mf','$mf_clause'(_,Na,Ar,M,R),MR), erase(MR), fail ; true), + '$log_update_clause'(T,M,_,R), + '$erase_lu_mf_clause'(Na,Ar,M,R), + fail. +'$retractall_lu_mf'(_T,_M,_Na,Ar). + +'$erase_lu_mf_clause'(Na,Ar,M,R) :- + recorded('$mf','$mf_clause'(_,Na,Ar,M,R),MR), + erase(MR), + fail. +'$erase_lu_mf_clause'(_Na,_Ar,_M,R) :- erase(R), fail. '$retractall_lu_mf'(_,_,_,_). '$erase_all_clauses_for_dynamic'(T, M) :- - '$recordedp'(M:T,(T :- _),R), erase(R), fail. + '$recordedp'(M:T,(T :- _),R), + erase(R), + fail. '$erase_all_clauses_for_dynamic'(T,M) :- '$recordedp'(M:T,_,_), fail. '$erase_all_clauses_for_dynamic'(_,_). From dc6a21dbc519c45e2b053af4f4f4a32cd4f74584 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 17 Aug 2018 17:35:02 +0100 Subject: [PATCH 34/57] rational trees, problog, lbfgs --- packages/yap-lbfgs/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 packages/yap-lbfgs/CMakeLists.txt diff --git a/packages/yap-lbfgs/CMakeLists.txt b/packages/yap-lbfgs/CMakeLists.txt new file mode 100644 index 000000000..9dfb59cd0 --- /dev/null +++ b/packages/yap-lbfgs/CMakeLists.txt @@ -0,0 +1,41 @@ +CMAKE_MINIMUM_REQUIRED ( VERSION 2.8 ) + +PROJECT ( YAP_RAPTOR C ) + +SET ( YAP_RAPTOR_VERSION 0.1) + +if (NOT YAP_FOUND) + FIND_PACKAGE(YAP REQUIRED) +ENDIF (NOT YAP_FOUND) +IF (NOT YAP_FOUND) + MESSAGE (SEND_ERROR "YAP was not found!") +ENDIF (NOT YAP_FOUND) + + set (LBFGS_SRC liblbfgs-1.10) + + INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/include + ${CMAKE_CURRENT_BINARY_DIR} + ) + + SET ( LBFGS_SOURCES + + ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_ansi.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_double.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_float.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/lbfgs.c yap_lbfgs.c) + + add_library(LBFGS + ${LBFGS_SOURCES}) + + TARGET_LINK_LIBRARIES(LBFGS + libYap + ) + + + install(TARGETS LBFGS + LIBRARY DESTINATION ${YAP_INSTALL_DLLDIR} + RUNTIME DESTINATION ${YAP_INSTALL_DLLDIR} + ARCHIVE DESTINATION ${libdir} + + ) + + INSTALL(FILES lbfgs.yap DESTINATION ${libpl}) + From 244ee465c41b9f53b26a695dcea2059c1b6b414f Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 19 Aug 2018 14:39:12 +0100 Subject: [PATCH 35/57] python --- C/write.c | 2 +- packages/python/pl2py.c | 5 +-- packages/python/py2pl.c | 2 +- packages/python/pybips.c | 40 +++++++++++++------ packages/python/pyio.c | 6 +-- packages/python/pypreds.c | 2 +- .../python/yap_kernel/yap_ipython/yapi.py | 1 + packages/swig/yap.i | 2 +- 8 files changed, 37 insertions(+), 23 deletions(-) diff --git a/C/write.c b/C/write.c index e02882f31..537dbd6e9 100644 --- a/C/write.c +++ b/C/write.c @@ -1137,7 +1137,7 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, rwt.parent = NULL; wglb.Ignore_ops = flags & Ignore_ops_f; wglb.Write_strings = flags & BackQuote_String_f; - if (!(flags & Ignore_cyclics_f) && Yap_do_low_level_trace) { + if (!(flags & Ignore_cyclics_f) && false) { Term ts[2]; Yap_do_low_level_trace=false; Yap_DebugPlWriteln(t); diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index e20b6d08d..0aa023f59 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -1,4 +1,5 @@ + #include "Yap.h" #include "py4yap.h" @@ -259,8 +260,6 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { return out; } else { PyObject *no = find_term_obj(o, &t0, false); - if (no == o) - return NULL; return yap_to_python(t0, eval, no, cvt); } } else { @@ -418,7 +417,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { PL_reset_term_refs(arg); YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "t(...)->python"); } - PyObject *a = term_to_python(arg, eval, o, cvt); + PyObject *a = term_to_python(arg, eval, NULL, cvt); if (a) { if (PyTuple_SetItem(rc, i, a) < 0) { PL_reset_term_refs(arg); diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 46ba1f7df..91e5eaf2b 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -226,7 +226,7 @@ bool python_assign(term_t t, PyObject *exp, PyObject *context) { return python_to_term(exp, t); } - case PL_STRING: { + case PL_STRING: { char *s = NULL; size_t l; PL_get_string_chars(t, &s,&l); diff --git a/packages/python/pybips.c b/packages/python/pybips.c index 01ef55862..6b1e088a2 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -12,21 +12,29 @@ #include "py4yap.h" static PyObject *finalLookup(PyObject *i, const char *s) { - PyObject *rc; + PyObject *os = PyUnicode_FromString(s), *rc = NULL; if (i == NULL) return NULL; + if (strcmp(s, "none") == 0) return Py_None; - if (PyDict_Check(i)) { - if ((rc = PyDict_GetItemString(i, s))) - return rc; - } if (PyModule_Check(i)) { - if ((rc = PyDict_GetItemString(i, s))) - return rc; + i = PyModule_GetDict(i); + } + + if (PyDict_Check(i)) + { + if (PyDict_Contains(i, os) == 1) { + rc = PyDict_GetItem(i, os); } - if (PyObject_HasAttrString(i, s)) { - return PyObject_GetAttrString(i, s); + } + if (!rc && PyObject_HasAttr(i, os)) { + rc = PyObject_GetAttr(i, os); + } + if (rc) + { + Py_IncRef(rc); + return rc; } return NULL; } @@ -69,6 +77,10 @@ PyObject *lookupPySymbol(const char *sp, PyObject *pContext, PyObject **duc) { if ((out = finalLookup(py_Builtin, sp))) { return out; } + if ((out = finalLookup(py_Atoms, sp))) + { + return out; + } PyObject *py_Local = PyEval_GetLocals(); if ((out = finalLookup(py_Local, sp)) && out != Py_None) { return out; @@ -479,7 +491,7 @@ static PyObject *bip_sum(term_t t) { } #if PY_MAJOR_VERSION < 3 if (PyInt_CheckExact(item)) { - 764PyFPE_START_PROTECT("add", Py_DECREF(item); Py_DECREF(iter); + PyFPE_START_PROTECT("add", Py_DECREF(item); Py_DECREF(iter); return 0)f_result += (double)PyInt_AS_LONG(item); PyFPE_END_PROTECT(f_result) Py_DECREF(item); continue; @@ -1079,6 +1091,8 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { PyObject *key = PyUnicode_FromString(sk); AOK(PL_get_arg(2, tleft, tleft), NULL); PyObject *val = term_to_python(tleft, true, o, cvt); + if (val == NULL) + return NULL; PyDict_SetItem(pyDict, key, val); } else { indict = false; @@ -1110,9 +1124,9 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { PyObject *rc; if (ys && PyCallable_Check(ys)) { - PyObject_Print(ys, stderr, 0); - PyObject_Print(pArgs, stderr, 0); - PyObject_Print(pyDict, stderr, 0); + //PyObject_Print(ys, stderr, 0); + // PyObject_Print(pArgs, stderr, 0); + // PyObject_Print(pyDict, stderr, 0); // PyObject_Print(pArgs, stderr, 0); // PyObject_Print(o, stderr, 0); diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 8869e4d7c..79258248a 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -131,7 +131,7 @@ static bool py_close(int sno) { static bool pygetLine(StreamDesc *rl_iostream, int sno) { // term_t ctk = python_acquire_GIL(); const char *myrl_line; - PyObject *user_line; + PyObject *user_line, *prompt; StreamDesc *s = YAP_GetStreamFromId(sno); //term_t tg = python_acquire_GIL(); if (!strcmp(RepAtom(s->name)->StrOfAE,"input") ) { @@ -144,10 +144,10 @@ static bool pygetLine(StreamDesc *rl_iostream, int sno) { Yap_ThrowError(SYSTEM_ERROR_GET_FAILED, YAP_MkIntTerm(sno), err); } } - user_line = PyObject_CallFunctionObjArgs(pystream, NULL); + user_line = PyObject_CallFunctionObjArgs(pystream, PyUnicode_FromString("?- ") , NULL); } else { PyObject *readl = PyObject_GetAttrString(s->u.private_data, "readline"); - user_line = PyObject_CallFunction(readl, NULL); + user_line = PyObject_CallFunction(readl, PyUnicode_FromString("?- ") , NULL); } myrl_line = PyUnicode_AsUTF8(user_line); if (myrl_line == NULL) diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 52aa94297..14e23dd62 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -648,7 +648,7 @@ static int python_import(term_t mname, term_t mod) { foreign_t rc = address_to_term(pModule, mod); if (do_as) { - PyObject_SetAttrString(py_Main, as, pModule); + PyModule_AddObject(py_Main, as, pModule); } python_release_GIL(t0); pyErrorAndReturn(rc); diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 4808e18f4..55a54ed49 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -648,6 +648,7 @@ class YAPRun: raw_cell, store_history, silent, shell_futures) self.result = interactiveshell.ExecutionResult(info) + self.result.error_before_exec = None if (raw_cell == "") or raw_cell.isspace(): self.shell.last_execution_succeeded = True diff --git a/packages/swig/yap.i b/packages/swig/yap.i index 85b6b92cb..e1c04863f 100644 --- a/packages/swig/yap.i +++ b/packages/swig/yap.i @@ -35,7 +35,7 @@ class YAPEngine; #if defined(SWIGPYTHON) %pythoncode %{ -YAPError = _yap.YAPError +# YAPError = _yap.YAPError %} %typemap(typecheck) Term* { From 3344dcaf7d4239e4a22061823f73406889e6afd6 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 19 Aug 2018 14:43:24 +0100 Subject: [PATCH 36/57] disable_inf_tree --- C/write.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/C/write.c b/C/write.c index e02882f31..dcf68f7fd 100644 --- a/C/write.c +++ b/C/write.c @@ -784,7 +784,6 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, struct write_globs *wglb, struct rewind_term *rwt) /* term to write */ /* context priority */ - { CACHE_REGS struct rewind_term nrwt; @@ -1137,21 +1136,16 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags, rwt.parent = NULL; wglb.Ignore_ops = flags & Ignore_ops_f; wglb.Write_strings = flags & BackQuote_String_f; - if (!(flags & Ignore_cyclics_f) && Yap_do_low_level_trace) { + if (false && !(flags & Ignore_cyclics_f)) { Term ts[2]; - Yap_do_low_level_trace=false; - Yap_DebugPlWriteln(t); - ts[0] = Yap_BreakRational(t, 0, ts+1, TermNil PASS_REGS); - fprintf(stderr, "%lx %lx %lx\n", t, ts[0], ts[1]); + ts[0] = Yap_BreakRational(t, 0, ts+1, TermNil PASS_REGS); + //fprintf(stderr, "%lx %lx %lx\n", t, ts[0], ts[1]); //Yap_DebugPlWriteln(ts[0]); //ap_DebugPlWriteln(ts[1[); if (ts[1] != TermNil) { t = Yap_MkApplTerm( FunctorAtSymbol, 2, ts); - Yap_DebugPlWriteln(ts[0]); - Yap_DebugPlWriteln(ts[1]); + } } - Yap_do_low_level_trace = true; - } /* protect slots for portray */ writeTerm(t, priority, 1, FALSE, &wglb, &rwt); if (flags & New_Line_f) { From 63e4b31787ccd1e639a062d33538fcdcd82e8430 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 21 Aug 2018 03:01:03 +0100 Subject: [PATCH 37/57] python --- C/arrays.c | 34 +++++++- C/utilpreds.c | 63 +++++++++------ CMakeLists.txt | 6 ++ packages/ProbLog/problog/logger.yap | 27 ++++--- packages/ProbLog/problog_learning_lbdd.yap | 56 +++++++------ packages/python/pl2py.c | 92 +++++++++------------- packages/python/py2pl.c | 37 ++++----- packages/python/py4yap.h | 17 ++-- packages/python/pybips.c | 9 +-- packages/python/pyio.c | 4 +- packages/python/pypreds.c | 2 +- packages/python/python.c | 24 +++--- packages/yap-lbfgs/CMakeLists.txt | 6 +- packages/yap-lbfgs/ex1.pl | 13 +-- packages/yap-lbfgs/lbfgs.pl | 12 +-- packages/yap-lbfgs/yap_lbfgs.c | 16 ++-- 16 files changed, 236 insertions(+), 182 deletions(-) diff --git a/C/arrays.c b/C/arrays.c index 7bb7aa43f..ea737a2dd 100644 --- a/C/arrays.c +++ b/C/arrays.c @@ -1025,8 +1025,39 @@ restart: return (FALSE); } + +#define CREATE_ARRAY_DEFS() \ + PAR("type", isatom, CREATE_ARRAY_TYPE), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("int", isnull, CREATE_ARRAY_INT), \ + PAR("dbref", isnull, CREATE_ARRAY_DBREF), \ + PAR("float", isnull, CREATE_ARRAY_FLOAT), \ + PAR("ptr", isnull, CREATE_ARRAY_PTR), \ + PAR("atom", isnull, CREATE_ARRAY_ATOM), \ + PAR("char", isnull, CREATE_ARRAY_CHAR), \ + PAR("unsigned_char", isnull, CREATE_UNSIGNED_CHAR), \ + PAR("nb_term", isnull, CREATE_ARRAY_NB_TERM), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ + PAR("close_on_abort", booleanFlag, OPEN_CLOSE_ON_ABORT), \ + PAR("create", isatom, OPEN_CREATE), \ + PAR("encoding", isatom, OPEN_ENCODING), \ + PAR("eof_action", isatom, OPEN_EOF_ACTION), \ + PAR("expand_filename", booleanFlag, OPEN_EXPAND_FILENAME), \ + PAR("file_name", isatom, OPEN_FILE_NAME), PAR("input", ok, OPEN_INPUT), \ + PAR("locale", isatom, OPEN_LOCALE), PAR("lock", isatom, OPEN_LOCK), \ + PAR("mode", isatom, OPEN_MODE), PAR("output", ok, OPEN_OUTPUT), \ + PAR("representation_errors", booleanFlag, OPEN_REPRESENTATION_ERRORS), \ + PAR("reposition", booleanFlag, OPEN_REPOSITION), \ + PAR("script", booleanFlag, OPEN_SCRIPT), PAR("type", isatom, OPEN_TYPE), \ + PAR("wait", booleanFlag, OPEN_WAIT), PAR(NULL, ok, OPEN_END) + /* create an array (+Name, + Size, +Props) */ -static Int /** @pred static_array(+ _Name_, + _Size_, + _Type_) @@ -1035,6 +1066,7 @@ static Int integer. The _Type_ must be bound to one of types mentioned previously. */ +static Int create_static_array(USES_REGS1) { Term ti = Deref(ARG2); Term t = Deref(ARG1); diff --git a/C/utilpreds.c b/C/utilpreds.c index 9378353e4..6562b9d93 100644 --- a/C/utilpreds.c +++ b/C/utilpreds.c @@ -568,7 +568,7 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *vout, Te HB = HR; to_visit0 = to_visit; - loop: + loop: while (pt0 < pt0_end) { register CELL d0; register CELL *ptd0; @@ -580,16 +580,18 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *vout, Te { if (IsPairTerm(d0)) { CELL *ap2 = RepPair(d0); - if (IN_BETWEEN(HB, ap2[0],HR)) { - RESET_VARIABLE(pt0); - vin = add_to_list(vin, (CELL)(pt0), *ap2 ); + fprintf(stderr, "%ld \n", RepPair(ap2[0])- ptf); + if (IsVarTerm(ap2[0]) && IN_BETWEEN(HB, (ap2[0]),HR)) { + Term v = MkVarTerm(); + *ptf = v; + vin = add_to_list(vin, (CELL)(ptf), AbsPair(ptf) ); + ptf++; continue; } - *ptf = AbsPair(HR); - ptf++; if (to_visit+1 >= (struct bp_frame *)AuxSp) { goto heap_overflow; } + *ptf++ = (CELL)(HR); to_visit->start_cp = pt0; to_visit->end_cp = pt0_end; to_visit->to = ptf; @@ -610,30 +612,35 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *vout, Te ptf++; continue; } - deref_head(d0, copy_term_unk); + d0 = Deref(d0); + if (!IsVarTerm(d0)) { + goto copy_term_nvar; + } else { + *ptf++ = d0; + } + continue; } else if (IsApplTerm(d0)) { register Functor f; register CELL *ap2; /* store the terms to visit */ - ap2 = RepAppl(d0); - if (IN_BETWEEN(HB, ap2[1],HR)) { - RESET_VARIABLE(pt0); - vin = add_to_list(vin, (CELL)pt0, ap2[1] ); - continue; - } - f = (Functor)(*ap2); - + ap2 = RepAppl(d0)+1; + f = (Functor)(ap2[-1]); if (IsExtensionFunctor(f)) { *ptf++ = d0; /* you can just copy other extensions. */ continue; } + if (IsApplTerm(ap2[0]) && IN_BETWEEN(HB, RepAppl(ap2[0]),HR)) { + RESET_VARIABLE(ptf); + vin = add_to_list(vin, (CELL)ptf, ap2[0] ); + ptf++; + continue; + } + arity_t arity = ArityOfFunctor(f); - *ptf = AbsAppl(HR); - ptf++; if (to_visit+1 >= (struct bp_frame *)AuxSp) { goto heap_overflow; } - ap2++; + *ptf++ = AbsAppl(HR); to_visit->start_cp = pt0; to_visit->end_cp = pt0_end; to_visit->to = ptf; @@ -642,16 +649,26 @@ break_rationals_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, Term *vout, Te /* fool the system into thinking we had a variable there */ to_visit ++; pt0 = ap2; - pt0_end = ap2 + arity; + pt0_end = ap2 + (arity-1); + ptf = HR; if (HR > ASP - 2048) { goto overflow; } - if (IsVarTerm(d0) && d0 == (CELL)pt0) { + *ptf++ =(CELL)f; + *ap2 = AbsAppl(HR); + HR += (arity+1); + if (IsVarTerm(d0) && d0 == (CELL)(ap2)) { RESET_VARIABLE(ptf); ptf++; continue; } - deref_head(d0, copy_term_unk); + d0 = Deref(d0); + if (!IsVarTerm(d0)) { + goto copy_term_nvar; + } else { + *ptf++ = d0; + } + continue; } else { /* just copy atoms or integers */ *ptf++ = d0; @@ -730,14 +747,12 @@ Yap_BreakRational(Term inp, UInt arity, Term *to, Term ti USES_REGS) { *to = ti; return t; } else if (IsPairTerm(t)) { - Term tf; CELL *ap; CELL *Hi; restart_list: ap = RepPair(t); Hi = HR; - tf = AbsPair(HR); HR += 2; { Int res; @@ -755,7 +770,6 @@ Yap_BreakRational(Term inp, UInt arity, Term *to, Term ti USES_REGS) { } } else { Functor f; - Term tf; CELL *HB0; CELL *ap; @@ -767,7 +781,6 @@ Yap_BreakRational(Term inp, UInt arity, Term *to, Term ti USES_REGS) { } HB0 = HR; ap = RepAppl(t); - tf = AbsAppl(HR); HR[0] = (CELL)f; arity = ArityOfFunctor(f); HR += 1+arity; diff --git a/CMakeLists.txt b/CMakeLists.txt index f74d6cc0a..c6b97dd1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -778,6 +778,12 @@ if (WITH_GECODE) add_subDIRECTORY(packages/gecode) endif () +option(WITH_LBFGS + "interface with lbfgs" ON) + +if (WITH_LBFGS) + add_subDIRECTORY(packages/yap-lbfgs) +endif () diff --git a/packages/ProbLog/problog/logger.yap b/packages/ProbLog/problog/logger.yap index ee06f7a95..295e3fb3d 100644 --- a/packages/ProbLog/problog/logger.yap +++ b/packages/ProbLog/problog/logger.yap @@ -238,11 +238,16 @@ logger_define_variable(Name,Type) :- bb_get(logger_variables,Variables), - member((Name,_),Variables), + member((Name,Type0),Variables), !, - throw(error(variable_redefined(logger_define_variable(Name,Type)))). + ( Type == Type0 + -> + write('redefining logger variable '),write(Name),write(' of type '), write(Type0), nl + ; + throw(error(variable_redefined(logger_define_variable(Name,Type))) + ). logger_define_variable(Name,Type) :- - ground(Name), + ground(Type), atomic(Name), !, logger_define_variable_intern(Type,Name). @@ -301,7 +306,8 @@ logger_set_delimiter(Delimiter) :- %= +Name, +Value %======================================================================== -logger_set_variable(Name,Value) :- +logger_set_variable(Name,Value) :- logger_set_variable_again(Name,Value). + /* atom_concat(logger_data_,Name,Key), ( bb_get(Key,null) @@ -312,11 +318,12 @@ logger_set_variable(Name,Value) :- bb_get(Key,_) -> ( - write('logger_set_variable, Variable '), - write(Name), - write(' is already set'), - nl, - fail + true + % write('logger_set_variable, Variable '), + % write(Name), + % write(' is already set'), + % nl %, + % fail ) ; ( write('logger_set_variable, unknown variable '), write(Name), @@ -325,7 +332,7 @@ logger_set_variable(Name,Value) :- ) ) ),!. - +*/ %======================================================================== %= Set the value of the variable name. If the value is already set or %= the old value is overwritten. If the variable does not exists, an diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index 8ec462595..7f61a3fb0 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -389,6 +389,8 @@ reset_learning :- do_learning(Iterations) :- do_learning(Iterations,-1). +:- spy do_learning/2. + do_learning(Iterations,Epsilon) :- current_predicate(user:example/4), !, @@ -512,29 +514,31 @@ init_learning :- % if yes, switch to problog_exact % continuous facts are not supported yet. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% problog_flag(init_method,(_,_,_,_,OldCall)), - %% ( - %% ( - %% continuous_fact(_), - %% OldCall\=problog_exact_save(_,_,_,_,_) - %% ) - %% -> - %% ( - %% format_learning(2,'Theory uses continuous facts.~nWill use problog_exact/3 as initalization method.~2n',[]), - %% set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) - %% ); - %% true - %% ), + problog_flag(continuous_facts, true), + !, + problog_flag(init_method,(_,_,_,_,OldCall)), + ( + ( + continuous_fact(_), + OldCall\=problog_exact_save(_,_,_,_,_) + ) + -> + ( + format_learning(2,'Theory uses continuous facts.~nWill use problog_exact/3 as initalization method.~2n',[]), + set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) + ); + true + ), - %% ( - %% problog_tabled(_) - %% -> - %% ( - %% format_learning(2,'Theory uses tabling.~nWill use problog_exact/3 as initalization method.~2n',[]), - %% set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) - %% ); - %% true - %% ), + ( + problog_tabled(_) + -> + ( + format_learning(2,'Theory uses tabling.~nWill use problog_exact/3 as initalization method.~2n',[]), + set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) + ); + true + ), succeeds_n_times(user:test_example(_,_,_,_),TestExampleCount), @@ -1001,6 +1005,7 @@ inv_sigmoid(T,InvSig) :- %======================================================================== save_old_probabilities :- + problog_flag(continous_facts, true), forall(tunable_fact(FactID,_), ( continuous_fact(FactID) @@ -1101,11 +1106,15 @@ gradient_descent :- save_old_probabilities, update_values, + reset_gradients. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % start set gradient to zero %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - forall(tunable_fact(FactID,_), + reset_gradients :- + problog_flag(continous_facts, true), + !, + forall(tunable_fact(FactID,_), ( continuous_fact(FactID) -> @@ -1487,6 +1496,7 @@ init_flags :- problog_define_flag(libbdd_init_method,problog_flag_validate_dummy,'ProbLog predicate to search proofs',(Query,Tree,problog:problog_kbest_as_bdd(Query,100,Tree)),learning_general,flags:learning_libdd_init_handler), problog_define_flag(alpha,problog_flag_validate_number,'weight of negative examples (auto=n_p/n_n)',auto,learning_general,flags:auto_handler), problog_define_flag(sigmoid_slope,problog_flag_validate_posnumber,'slope of sigmoid function',1.0,learning_general), + problog_define_flag(continuous_facts,problog_flag_validate_boolean,'support parameter learning of continuous distributions',1.0,learning_general), problog_define_flag(learning_rate,problog_flag_validate_posnumber,'Default learning rate (If line_search=false)',examples,learning_line_search,flags:examples_handler), problog_define_flag(line_search, problog_flag_validate_boolean,'estimate learning rate by line search',false,learning_line_search), diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index 0aa023f59..9a77f8341 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -116,40 +116,34 @@ X_API PyObject *string_to_python(const char *s, bool eval, PyObject *p0) { return s_to_python(s, eval, p0); } -static bool copy_to_dictionary(PyObject *dict, term_t targ, term_t taux, +static bool entry_to_dictionary(PyObject *dict, Term targ, bool eval, bool cvt) { - PyObject *lhs, *rhs; - term_t tleft = PL_new_term_ref(), tright = PL_new_term_ref(); - - functor_t fun; - - AOK(PL_get_functor(targ, &fun), false); - while (fun == FUNCTOR_comma2) { - AOK(PL_get_arg(1, targ, tleft), false); - if (!copy_to_dictionary(dict, tleft, taux, eval, cvt)) - return false; - AOK(PL_get_arg(2, targ, targ), false); - return copy_to_dictionary(dict, tright, taux, eval, cvt); + PyObject *lhs = NULL, *rhs; + Term t1, t2; + const char *s; + t1 = ArgOfTerm(1,targ); + if (YAP_IsAtomTerm(t1)) { + s = YAP_AtomName(YAP_AtomOfTerm(t1)); + } else if (IsStringTerm(t1)) { + s = YAP_StringOfTerm(t1); + } else if (IsIntegerTerm(t1)) { + lhs = PyLong_FromLong(IntegerOfTerm(t1)); + } else { + return false; } - // PyObject_Print(dict, stderr, 0); fprintf(stderr,"\n"); - // Py_DECREF(lhs); - // Py_DECREF(rhs); - - AOK(PL_get_arg(1, targ, tleft), false); - lhs = atom_to_python_string(tleft); + if (lhs == NULL) { - return FALSE; + lhs = PyUnicode_FromString(s); } - AOK(PL_get_arg(2, targ, tright), false); - rhs = term_to_python(tright, eval, NULL, cvt); + + t2 = ArgOfTerm(2,targ); + rhs = term_to_python(Yap_InitSlot(t2), eval, NULL, cvt); if (rhs == NULL) { PyErr_Print(); return false; } - return PyDict_SetItem(dict, lhs, rhs) >= 0; - // PyObject_Print(dict, stderr, 0); fprintf(stderr,"\n"); - // Py_DECREF(lhs); - // Py_DECREF(rhs); + + return PyDict_SetItem(dict, lhs, rhs) == 0; } /** @@ -266,10 +260,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { { term_t tail = PL_new_term_ref(); functor_t fun; - atom_t name; - int arity; - PyObject *rc; - + if (!PL_get_functor(t, &fun)) { PL_reset_term_refs(tail); YAPPy_ThrowError(SYSTEM_ERROR_INTERNAL, t, "list->python"); @@ -343,7 +334,6 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { if (fun == FUNCTOR_brackets1) { AOK(PL_get_arg(1, t, t), NULL); PyObject *ys = term_to_python(t, true, o, true), *rc; - PyObject_Print(ys,stderr,0);fprintf(stderr, "--- \n"); CHECK_CALL(ys, PyTuple_New(0), NULL); return rc; } @@ -384,33 +374,29 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { return PyComplex_FromDoubles(d1, d2); } if (fun == FUNCTOR_curly1) { - term_t targ = PL_new_term_ref(), taux = PL_new_term_ref(); - PyObject *dict; - - AOK(PL_get_arg(1, t, t), NULL); + PyObject *dict; + Term yt = ArgOfTerm(1,Yap_GetFromHandle(t)); if (!(dict = PyDict_New())) return NULL; Py_INCREF(dict); - DebugPrintf("Dict %p\n", dict); - - while (PL_is_functor(t, FUNCTOR_comma2)) { - AOK(PL_get_arg(1, t, targ), NULL); - AOK(PL_is_functor(targ, FUNCTOR_colon2), NULL); - - AOK(copy_to_dictionary(dict, targ, taux, eval, cvt), NULL); - AOK(PL_get_arg(2, t, t), NULL); - } - - if (PL_is_functor(t, FUNCTOR_colon2)) { - AOK(copy_to_dictionary(dict, t, taux, eval, cvt), NULL); - } - return dict; + while (IsApplTerm(yt) && FunctorOfTerm(yt) == FunctorComma) { + if (!entry_to_dictionary(dict, ArgOfTerm(1,yt), eval, cvt)) + return NULL; + yt = ArgOfTerm(2,yt); + } + if (entry_to_dictionary(dict, yt, eval, cvt)) + return dict; + else + return NULL; } + atom_t name; + int arity; + AOK(PL_get_name_arity(t, &name, &arity), NULL); if (name == ATOM_t) { int i; - rc = PyTuple_New(arity); + PyObject *rc = PyTuple_New(arity); for (i = 0; i < arity; i++) { term_t arg = PL_new_term_ref(); if (!PL_get_arg(i + 1, t, arg)) { @@ -428,11 +414,9 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } } if (eval) - rc = compound_to_pyeval(t, o, cvt); + return compound_to_pyeval(t, o, cvt); else - rc = compound_to_pytree(t, o, cvt); - PL_reset_term_refs(tail); - return rc; + return compound_to_pytree(t, o, cvt); } } } diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 91e5eaf2b..4e85b6ab5 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -133,8 +133,9 @@ else if (PyList_Check(pVal)) { if (sz == 0) return repr_term(pVal); Term t = TermNil; - for (i = sz; i > 0; --i) { - PyObject *p = PyTuple_GetItem(pVal, i); + for (i = sz; i > 0; ) { + -- i; + PyObject *p = PyList_GetItem(pVal, i); if (p == NULL) { PyErr_Clear(); return false; @@ -147,33 +148,33 @@ else if (PyList_Check(pVal)) { return t; } else if (PyDict_Check(pVal)) { - Py_ssize_t pos = 0; - int left = PyDict_Size(pVal); + Py_ssize_t pos = 0, tot = PyDict_Size(pVal); PyObject *key, *value; - Term f, *opt = &f, t; - if (left == 0) { - return repr_term(pVal); - } else { - while (PyDict_Next(pVal, &pos, &key, &value)) { - Term t0[2], to; + Term f, *opt = &f, t, to; + while (PyDict_Next(pVal, &pos, &key, &value)) { + Term t0[2]; t0[0] = python_to_term__(key); t0[1] = python_to_term__(value); to = Yap_MkApplTerm(FunctorModule, 2, t0); - if (left--) { + if (pos < tot) { t = Yap_MkNewApplTerm(FunctorComma, 2); - *opt = t; CELL *pt = RepAppl(t) + 1; pt[0] = to; - opt = pt + 1; + *opt = t; + opt = pt+1; } else { - *opt = t = to; + if (pos == 0) { + return repr_term(pVal); + } + + *opt = to; + break; } } - return Yap_MkApplTerm(FunctorBraces, 1, &t); + return Yap_MkApplTerm(FunctorBraces, 1, &f); } - }else { return repr_term(pVal); - } + } foreign_t python_to_term(PyObject *pVal, term_t t) { @@ -218,6 +219,7 @@ PyObject *py_Local, *py_Global; *python_assign. */ bool python_assign(term_t t, PyObject *exp, PyObject *context) { + PyErr_Print(); context = find_obj(context, t, false); // Yap_DebugPlWriteln(yt); switch (PL_term_type(t)) { @@ -244,7 +246,6 @@ bool python_assign(term_t t, PyObject *exp, PyObject *context) { context = py_Main; if (PyObject_SetAttrString(context, s, exp) == 0) return true; - PyErr_Print(); return false; } case PL_INTEGER: diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index 08ef95da8..280b9e1e8 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -82,15 +82,15 @@ extern functor_t FUNCTOR_dollar1, FUNCTOR_abs1, FUNCTOR_all1, FUNCTOR_any1, FUNCTOR_dot2; extern X_API PyObject *py_Main; -extern X_API PyObject *py_Builtin; extern X_API PyObject *py_Yapex; -extern X_API PyObject *py_Local; extern X_API PyObject *py_Atoms; -extern X_API PyObject *py_Global; extern X_API PyObject *py_Context; extern PyObject *Py_f2p; extern PyObject *py_Sys; -extern PyObject *py_ModDict; +#define py_ModDict PyImport_GetModuleDict() +#define py_Local PyEval_GetLocals() +#define py_Global PyEval_GetGlobals() +#define py_Builtin PyEval_GetBuiltins() extern X_API bool python_in_python; @@ -133,8 +133,13 @@ static inline int proper_ascii_string(const char *s) { static inline PyObject *atom_to_python_string(term_t t) { // Yap_DebugPlWrite(YAP_GetFromSlot(t)); fprintf(stderr, " here I // am\n"); - char *s = NULL; - if (!PL_get_atom_chars(t, &s)) + const char *s = NULL; + Term yapt = Yap_GetFromSlot(t); + if (IsStringTerm(yapt)) + s = StringOfTerm(yapt); + else if (IsAtomTerm(yapt)) + s = RepAtom(AtomOfTerm(yapt))->StrOfAE; + else return NULL; /* return __main__,s */ #if PY_MAJOR_VERSION < 3 diff --git a/packages/python/pybips.c b/packages/python/pybips.c index 6b1e088a2..8fbed2b3b 100644 --- a/packages/python/pybips.c +++ b/packages/python/pybips.c @@ -59,7 +59,6 @@ PyObject *PythonLookupSpecial(const char *s) { } static PyObject *builtin(const char *sp) { - PyObject *py_Builtin = PyEval_GetBuiltins(); return PyDict_GetItemString(py_Builtin, sp); } @@ -73,7 +72,6 @@ PyObject *lookupPySymbol(const char *sp, PyObject *pContext, PyObject **duc) { if ((out = finalLookup(py_Context, sp))) { return out; } - PyObject *py_Builtin = PyEval_GetBuiltins(); if ((out = finalLookup(py_Builtin, sp))) { return out; } @@ -81,12 +79,10 @@ PyObject *lookupPySymbol(const char *sp, PyObject *pContext, PyObject **duc) { { return out; } - PyObject *py_Local = PyEval_GetLocals(); if ((out = finalLookup(py_Local, sp)) && out != Py_None) { return out; } - PyObject *py_Global = PyEval_GetGlobals(); - if ((out = finalLookup(py_Global, sp))) { + if ((out = finalLookup(py_Global, sp))) { return out; } if ((out = finalLookup(py_ModDict, sp))) { @@ -980,6 +976,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { AOK(PL_get_arg(1, t, targ), NULL); ptr = term_to_python(targ, true, NULL, true); + if (!ptr) return NULL; return PyObject_Dir(ptr); {} } @@ -1123,7 +1120,7 @@ PyObject *compound_to_pyeval(term_t t, PyObject *context, bool cvt) { } PyObject *rc; - if (ys && PyCallable_Check(ys)) { + if ( PyCallable_Check(ys)) { //PyObject_Print(ys, stderr, 0); // PyObject_Print(pArgs, stderr, 0); // PyObject_Print(pyDict, stderr, 0); diff --git a/packages/python/pyio.c b/packages/python/pyio.c index 79258248a..de0aaa8a7 100644 --- a/packages/python/pyio.c +++ b/packages/python/pyio.c @@ -131,7 +131,7 @@ static bool py_close(int sno) { static bool pygetLine(StreamDesc *rl_iostream, int sno) { // term_t ctk = python_acquire_GIL(); const char *myrl_line; - PyObject *user_line, *prompt; + PyObject *user_line; StreamDesc *s = YAP_GetStreamFromId(sno); //term_t tg = python_acquire_GIL(); if (!strcmp(RepAtom(s->name)->StrOfAE,"input") ) { @@ -147,7 +147,7 @@ static bool pygetLine(StreamDesc *rl_iostream, int sno) { user_line = PyObject_CallFunctionObjArgs(pystream, PyUnicode_FromString("?- ") , NULL); } else { PyObject *readl = PyObject_GetAttrString(s->u.private_data, "readline"); - user_line = PyObject_CallFunction(readl, PyUnicode_FromString("?- ") , NULL); + user_line = PyObject_CallFunction(readl, "?- "); } myrl_line = PyUnicode_AsUTF8(user_line); if (myrl_line == NULL) diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 14e23dd62..b6121dde2 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -8,7 +8,7 @@ PyObject *py_Main; void pyErrorHandler__(int line, const char *file, const char *code) { // this code is called if a Python error is found. // int lvl = push_text_stack(); - PyObject *type, *val; + PyObject *type; // PyErr_Fetch(&type, &val, NULL); // PyErr_Print(); // Yap_ThrowError__(file,code,line,0, SYSTEM_ERROR_RUNTIME_PYTHON ,"Python diff --git a/packages/python/python.c b/packages/python/python.c index e0b3e22fa..5c287a36e 100644 --- a/packages/python/python.c +++ b/packages/python/python.c @@ -21,34 +21,30 @@ functor_t FUNCTOR_dollar1, FUNCTOR_abs1, FUNCTOR_all1, FUNCTOR_any1, FUNCTOR_as2 FUNCTOR_dot2, FUNCTOR_brackets1; X_API PyObject *py_Atoms; -X_API PyObject *py_Builtin; X_API PyObject *py_Yapex; X_API PyObject *py_Sys; X_API PyObject * pYAPError; PyObject *py_Context; -PyObject *py_ModDict; X_API PyObject *Py_f2p; extern X_API bool python_in_python; static void add_modules(void) { - py_Main = PyImport_AddModule("__main__"); + py_Atoms= PyDict_New(); + + if ( PyDict_Contains(PyImport_GetModuleDict(), PyUnicode_FromString("__main__"))) { + py_Main = PyDict_GetItemString(PyImport_GetModuleDict(),"__main__"); + } else { + py_Main = PyImport_ImportModule("__main__"); + } Py_INCREF(py_Main); - py_Sys = PyImport_AddModule("sys"); - py_Atoms = PyDict_New(); - Py_INCREF(py_Sys); - py_Builtin = PyImport_AddModule("__builtin__"); - Py_INCREF(py_Builtin); - py_ModDict = PyObject_GetAttrString(py_Sys, "modules"); - // py_Yapex = PyImport_ImportModule("yap4py.yapi"); - // PyObject *py_Yap = - py_Yapex = PyImport_AddModule("yap4py.yapi"); + py_Yapex = PyImport_ImportModule("yap4py.yapi"); if (py_Yapex) Py_INCREF(py_Yapex); Py_f2p = PythonLookup("f2p", NULL); if (!Py_f2p) - Py_f2p = PyList_New(0); + Py_f2p = PyDict_New(); Py_INCREF(Py_f2p); init_python_vfs(); } @@ -119,7 +115,7 @@ X_API bool do_init_python(void) { // PyGILState_STATE gstate = PyGILState_Ensure(); term_t t = PL_new_term_ref(); - if (!python_in_python) + if (!Py_IsInitialized()) Py_Initialize(); install_py_constants(); PL_reset_term_refs(t); diff --git a/packages/yap-lbfgs/CMakeLists.txt b/packages/yap-lbfgs/CMakeLists.txt index 9dfb59cd0..d36147063 100644 --- a/packages/yap-lbfgs/CMakeLists.txt +++ b/packages/yap-lbfgs/CMakeLists.txt @@ -16,11 +16,13 @@ ENDIF (NOT YAP_FOUND) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/include ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/include + ) SET ( LBFGS_SOURCES - ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_ansi.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_double.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_float.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/lbfgs.c yap_lbfgs.c) + ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_ansi.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_double.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_float.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/lbfgs.c ${CMAKE_CURRENT_SOURCE_DIR}/yap_lbfgs.c) add_library(LBFGS ${LBFGS_SOURCES}) @@ -37,5 +39,5 @@ ENDIF (NOT YAP_FOUND) ) - INSTALL(FILES lbfgs.yap DESTINATION ${libpl}) + INSTALL(FILES lbfgs.pl DESTINATION ${libpl}) diff --git a/packages/yap-lbfgs/ex1.pl b/packages/yap-lbfgs/ex1.pl index 536e8bbfb..1fe87598a 100644 --- a/packages/yap-lbfgs/ex1.pl +++ b/packages/yap-lbfgs/ex1.pl @@ -21,18 +21,19 @@ % This is the call back function which evaluates F and the gradient of F -evaluate(FX,_N,_Step) :- - optimizer_get_x(0,X0), +evaluate(FX,_N,_Step, Args) :- + X0 <== Args[0], FX is sin(X0), G0 is cos(X0), - optimizer_set_g(0,G0). + Args[0] <== G0. % This is the call back function which is invoked to report the progress % if the last argument is set to anywhting else than 0, the optimizer will % stop right now -progress(FX,X_Norm,G_Norm,Step,_N,Iteration,Ls,0) :- - optimizer_get_x(0,X0), - format('~d. Iteration : x0=~4f f(X)=~4f |X|=~4f |X\'|=~4f Step=~4f Ls=~4f~n',[Iteration,X0,FX,X_Norm,G_Norm,Step,Ls]). +progress(FX,X_Norm,G_Norm,Step,_N,Iteration,Ls,Args, 0) :- + X0 <== Args[0], + format('~d. Iteration : x0=~4f f(X)=~4f |X|=~4f |X\'|=~4f Step=~4f Ls=~4f~n', + [Iteration,X0,FX,X_Norm,G_Norm,Step,Ls]). diff --git a/packages/yap-lbfgs/lbfgs.pl b/packages/yap-lbfgs/lbfgs.pl index 2965481c2..f51ae0de8 100644 --- a/packages/yap-lbfgs/lbfgs.pl +++ b/packages/yap-lbfgs/lbfgs.pl @@ -154,7 +154,7 @@ yes */ :- dynamic initialized/0. -:- load_foreign_files(['yap_lbfgs'],[],'init_lbfgs_predicates'). +:- load_foreign_files(['libLBFGS'],[],'init_lbfgs_predicates'). /** @pred optimizer_initialize(+N,+Evaluate,+Progress) The same as before, except that the user module is the default @@ -187,12 +187,12 @@ optimizer_initialize(N,Module,Call_Evaluate,Call_Progress) :- % install call back predicates in the user module which call % the predicates given by the arguments - EvalGoal =.. [Call_Evaluate,E1,E2,E3], + EvalGoal =.. lbfgs_callback_evaluate(e(E1,E2,E3)), ProgressGoal =.. [Call_Progress,P1,P2,P3,P4,P5,P6,P7,P8], - retractall( user:'$lbfgs_callback_evaluate'(_E1,_E2,_E3) ), - retractall( user:'$lbfgs_callback_progress'(_P1,_P2,_P3,_P4,_P5,_P6,_P7,_P8) ), - assert( (user:'$lbfgs_callback_evaluate'(E1,E2,E3) :- Module:EvalGoal, !) ), - assert( (user:'$lbfgs_callback_progress'(P1,P2,P3,P4,P5,P6,P7,P8) :- Module:ProgressGoal, !) ), + retractall( lbfgs_callback_evaluate(_Step ), + retractall( lbfgs_callback_progress(_P1,_P2,_P3,_P4,_P5,_P6,_P7,_P8) ), + assert( ( lbfgs_callback_evaluate(E1,E2,E3) :- Module:EvalGoal, !) ), + assert( ( lbfgs_callback_progress(P1,P2,P3,P4,P5,P6,P7,P8) :- Module:ProgressGoal, !) ), assert(initialized). /** @pred optimizer_finalize/0 diff --git a/packages/yap-lbfgs/yap_lbfgs.c b/packages/yap-lbfgs/yap_lbfgs.c index 4ae2a26cf..5362dc6c9 100644 --- a/packages/yap-lbfgs/yap_lbfgs.c +++ b/packages/yap-lbfgs/yap_lbfgs.c @@ -1,4 +1,4 @@ -o#include +#include #include "YapInterface.h" #include #include @@ -30,7 +30,7 @@ o#include #define OPTIMIZER_STATUS_CB_EVAL 3 #define OPTIMIZER_STATUS_CB_PROGRESS 4 -void init_lbfgs_predicates( void ) ; +X_API void init_lbfgs_predicates( void ) ; int optimizer_status=OPTIMIZER_STATUS_NONE; // the internal state int n; // the size of the parameter vector @@ -53,13 +53,13 @@ static lbfgsfloatval_t evaluate( YAP_Bool result; YAP_Int s1; - YAP_Term t[3]; + YAP_Term t[4]; t[0] = YAP_MkVarTerm(); t[1] = YAP_MkIntTerm(n); t[2] = YAP_MkFloatTerm(step); - call = YAP_MkApplTerm(fcall3, 3, t); + call = YAP_MkApplTerm(fcall3, 4, t); g=g_tmp; @@ -168,7 +168,7 @@ static YAP_Bool set_x_value(void) { } else if (YAP_IsIntTerm(t2)) { x[i]=(lbfgsfloatval_t) YAP_IntOfTerm(t2); } else { - return FALSE; + return false; } @@ -322,7 +322,7 @@ static YAP_Bool optimizer_initialize(void) { if (! YAP_IsIntTerm(t1)) { - return FALSE; + return false; } temp_n=YAP_IntOfTerm(t1); @@ -619,14 +619,14 @@ static YAP_Bool optimizer_get_parameter( void ) { } printf("ERROR: The parameter %s is unknown.\n",name); - return FALSE; + return false; } -void init_lbfgs_predicates( void ) +X_API void init_lbfgs_predicates( void ) { fcall3 = YAP_MkFunctor(YAP_LookupAtom("$lbfgs_callback_evaluate"), 3); fprogress8 = YAP_MkFunctor(YAP_LookupAtom("$lbfgs_callback_progress"), 8); From 1e7ee487b6b743821c8b6fc13a928a6a0a8ef12f Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 21 Aug 2018 14:34:41 +0100 Subject: [PATCH 38/57] errors --- packages/python/yap_kernel/yap_ipython/yapi.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index 55a54ed49..9d0e2ab73 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -594,7 +594,8 @@ class YAPRun: self.result.result = True,self.bindings return self.result except Exception as e: - sys.stderr.write('Exception '+str(e)+' after '+str( self.bindings)+ '\n') + sys.stderr.write('Exception '+str(e)+'in query '+ str(self.query)+ + ':'+pg+'\n '+str( self.bindings)+ '\n') has_raised = True self.result.result = False return self.result @@ -833,3 +834,6 @@ class YAPRun: return s,'',False,0 (query, _,loop, sols) = self.clean_end(query) return (program, query, loop, sols) + +global +globals = {} From f1066036ff36361d427e43e8825cf9c2d43b9183 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 27 Aug 2018 19:27:41 +0100 Subject: [PATCH 39/57] maplist/6 --- library/maplist.yap | 38 +++++++++++++++++++++++++++++++++++++- library/maputils.yap | 7 +++---- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/library/maplist.yap b/library/maplist.yap index 3c244ab4b..a6f7bd999 100644 --- a/library/maplist.yap +++ b/library/maplist.yap @@ -15,6 +15,7 @@ maplist/3, maplist/4, maplist/5, + maplist/6, checklist/2, checknodes/2, convlist/3, @@ -52,6 +53,7 @@ maplist(2,+,-), maplist(3,+,+,-), maplist(4,+,+,+,-), + maplist(5,+,+,+,+,-), convlist(2,+,-), convlist(3,?,?,?), mapnodes(2,+,-), @@ -287,7 +289,8 @@ checklist(Pred, [In|ListIn]) :- checklist(Pred, ListIn). /** - @pred maplist(: Pred, ? ListIn) + @pred + ist(: Pred, ? ListIn) Applies predicate _Pred_( _El_ ) to all elements _El_ of _ListIn_. @@ -339,6 +342,18 @@ maplist(Pred, [A1|L1], [A2|L2], [A3|L3], [A4|L4]) :- call(Pred, A1, A2, A3, A4), maplist(Pred, L1, L2, L3, L4). +/** + @pred maplist(: Pred, ? L1, ? L2, ? L3, ? L4, ? L5) + + _L1_, _L2_, _L3_, _L4_ and _L5_ are such that + `call( _Pred_, _A1_, _A2_, _A3_, _A4_,_A5_)` holds + for every corresponding element in lists _L1_, _L2_, _L3_, _L4_ and _L5_. +*/ +maplist(_, [], [], [], [], []). +maplist(Pred, [A1|L1], [A2|L2], [A3|L3], [A4|L4], [A5|L5]) :- + call(Pred, A1, A2, A3, A4, A5), + maplist(Pred, L1, L2, L3, L4, L5). + /** @pred convlist(: Pred, + ListIn, ? ListOut) @@ -793,6 +808,27 @@ goal_expansion(maplist(Meta, L1, L2, L3, L4), Mod:Goal) :- (RecursionHead :- Apply, RecursiveCall) ], Mod). +goal_expansion(maplist(Meta, L1, L2, L3, L4, L5), Mod:Goal) :- + goal_expansion_allowed, + callable(Meta), + prolog_load_context(module, Mod), + aux_preds(Meta, MetaVars, Pred, PredVars, Proto), + !, + % the new goal + pred_name(maplist, 6, Proto, GoalName), + append(MetaVars, [L1, L2, L3, L4, L5], GoalArgs), + Goal =.. [GoalName|GoalArgs], + % the new predicate declaration + HeadPrefix =.. [GoalName|PredVars], + append_args(HeadPrefix, [[], [], [], [], []], Base), + append_args(HeadPrefix, [[A1|A1s], [A2|A2s], [A3|A3s], [A4|A4s], [A5|A5s]], RecursionHead), + append_args(Pred, [A1, A2, A3, A4, A5], Apply), + append_args(HeadPrefix, [A1s, A2s, A3s, A4s, A5s], RecursiveCall), + compile_aux([ + Base, + (RecursionHead :- Apply, RecursiveCall) + ], Mod). + goal_expansion(selectlist(Meta, ListIn, ListOut), Mod:Goal) :- goal_expansion_allowed, callable(Meta), diff --git a/library/maputils.yap b/library/maputils.yap index a0106808f..b3775ac7f 100644 --- a/library/maputils.yap +++ b/library/maputils.yap @@ -83,11 +83,10 @@ pred_name(Macro, Arity, _ , Name) :- prolog_load_context(term_position, Pos), stream_position_data( line_count, Pos, Line ), !, transformation_id(Id), - atomic_concat(['$$$ for ',Macro,'/',Arity,', line ',Line,' in ',File,' ',Id], Name). -pred_name(Macro, Arity, _ , Name) :- + atomic_concat(['$$$ for ',Macro,'/',Arity,', line ',Line,' in ',File,'(',P,') #',Id], Name). +pred_name(Macro, Arity, P , Name) :- transformation_id(Id), - stop_low_level_trace, - atomic_concat(['$$$__expansion__ for ',Macro,'/',Arity,' ',Id], Name). + atomic_concat(['$$$__expansion__ for ',Macro,'/',Arity,'(',P,') #',Id], Name). transformation_id(Id) :- retract(number_of_expansions(Id)), From e0cc401381891cbbe7b99b086a9cf158dac003c1 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 29 Aug 2018 17:44:48 +0100 Subject: [PATCH 40/57] remove debugging --- CMakeLists.txt | 2 +- pl/meta.yap | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c6b97dd1c..fd269dd90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -782,7 +782,7 @@ option(WITH_LBFGS "interface with lbfgs" ON) if (WITH_LBFGS) - add_subDIRECTORY(packages/yap-lbfgs) +# add_subDIRECTORY(packages/yap-lbfgs) endif () diff --git a/pl/meta.yap b/pl/meta.yap index 0930c138c..e2a8cbaba 100644 --- a/pl/meta.yap +++ b/pl/meta.yap @@ -425,7 +425,6 @@ meta_predicate(P) :- -> O = G ; - stop_low_level_trace, O = M:G ). */ From f6d8304fcf0ba297afb5a5f3b3babec54190d8c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Fri, 31 Aug 2018 20:03:00 +0100 Subject: [PATCH 41/57] Problog --- library/lists.yap | 11 --- library/tries/base_tries.h | 14 +-- library/tries/core_tries.h | 50 +++++----- packages/ProbLog/problog/logger.yap | 2 +- packages/ProbLog/problog/ptree.yap | 2 +- packages/ProbLog/problog_learning_lbdd.yap | 101 +++++++++++---------- pl/bootlists.yap | 11 +++ pl/consult.yap | 8 +- pl/preds.yap | 2 +- 9 files changed, 103 insertions(+), 98 deletions(-) diff --git a/library/lists.yap b/library/lists.yap index 52e38df66..0343d6005 100644 --- a/library/lists.yap +++ b/library/lists.yap @@ -358,17 +358,6 @@ remove_duplicates([Elem|L], [Elem|NL]) :- delete(L, Elem, Temp), remove_duplicates(Temp, NL). -% reverse(List, Reversed) -% is true when List and Reversed are lists with the same elements -% but in opposite orders. rev/2 is a synonym for reverse/2. - -reverse(List, Reversed) :- - reverse(List, [], Reversed). - -reverse([], Reversed, Reversed). -reverse([Head|Tail], Sofar, Reversed) :- - reverse(Tail, [Head|Sofar], Reversed). - % same_length(?List1, ?List2) % is true when List1 and List2 are both lists and have the same number diff --git a/library/tries/base_tries.h b/library/tries/base_tries.h index 01c070daa..87ff12f04 100644 --- a/library/tries/base_tries.h +++ b/library/tries/base_tries.h @@ -135,13 +135,13 @@ void trie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_I void trie_usage(TrEntry trie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); void trie_print(TrEntry trie); -void trie_data_construct(TrNode node); -void trie_set_traverse_mode(YAP_Int mode); -YAP_Int trie_get_traverse_mode(void); -TrData trie_traverse_first(TrEntry trie); -TrData trie_traverse_next(TrData data); -void trie_disable_hash_table(void); -void trie_enable_hash_table(void); +extern void trie_data_construct(TrNode node); +extern void trie_set_traverse_mode(YAP_Int mode); +extern YAP_Int trie_get_traverse_mode(void); +extern TrData trie_traverse_first(TrEntry trie); +extern TrData trie_traverse_next(TrData data); +extern void trie_disable_hash_table(void); +extern void trie_enable_hash_table(void); YAP_Term trie_to_list(TrEntry trie); diff --git a/library/tries/core_tries.h b/library/tries/core_tries.h index 4bfaf47f8..7cbef73be 100644 --- a/library/tries/core_tries.h +++ b/library/tries/core_tries.h @@ -287,32 +287,32 @@ typedef struct trie_hash { /* API */ /* --------------------------- */ -TrEngine core_trie_init_module(void); -TrNode core_trie_open(TrEngine engine); -void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)); -void core_trie_set_mode(YAP_Int mode); -YAP_Int core_trie_get_mode(void); -TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int *depth); -TrNode core_trie_check_entry(TrNode node, YAP_Term entry); -YAP_Term core_trie_get_entry(TrNode node); -void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode)); -void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*copy_function)(TrNode, TrNode)); -void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*destruct_function)(TrNode)); -YAP_Int core_trie_count_join(TrNode node1, TrNode node2); -YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2); -void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE *)); -TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, YAP_Int, FILE *)); -void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); -void core_trie_print(TrNode node, void (*print_function)(TrNode)); +extern TrEngine core_trie_init_module(void); +extern TrNode core_trie_open(TrEngine engine); +extern void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +extern void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)); +extern void core_trie_set_mode(YAP_Int mode); +extern YAP_Int core_trie_get_mode(void); +extern TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int *depth); +extern TrNode core_trie_check_entry(TrNode node, YAP_Term entry); +extern YAP_Term core_trie_get_entry(TrNode node); +extern void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +extern void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +extern void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode)); +extern void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*copy_function)(TrNode, TrNode)); +extern void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*destruct_function)(TrNode)); +extern YAP_Int core_trie_count_join(TrNode node1, TrNode node2); +extern YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2); +extern void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE *)); +extern TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, YAP_Int, FILE *)); +extern void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +extern void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +extern void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); +extern void core_trie_print(TrNode node, void (*print_function)(TrNode)); -void core_disable_hash_table(void); -void core_enable_hash_table(void); +extern void core_disable_hash_table(void); +extern void core_enable_hash_table(void); -YAP_Term core_trie_to_list(TrNode node); +extern YAP_Term core_trie_to_list(TrNode node); #include "core_dbtries.h" diff --git a/packages/ProbLog/problog/logger.yap b/packages/ProbLog/problog/logger.yap index 295e3fb3d..2311d46b3 100644 --- a/packages/ProbLog/problog/logger.yap +++ b/packages/ProbLog/problog/logger.yap @@ -244,7 +244,7 @@ logger_define_variable(Name,Type) :- -> write('redefining logger variable '),write(Name),write(' of type '), write(Type0), nl ; - throw(error(variable_redefined(logger_define_variable(Name,Type))) + throw(error(variable_redefined(logger_define_variable(Name,Type)))) ). logger_define_variable(Name,Type) :- ground(Type), diff --git a/packages/ProbLog/problog/ptree.yap b/packages/ProbLog/problog/ptree.yap index aff2080a8..4fddabef7 100644 --- a/packages/ProbLog/problog/ptree.yap +++ b/packages/ProbLog/problog/ptree.yap @@ -263,7 +263,7 @@ % this is a test to determine whether YAP provides the needed trie library :- initialization( - ( predicate_property(trie_disable_hash, imported_from(tries)) -> + ( predicate_property(trie_disable_hash, imported_from(M)) -> trie_disable_hash ; print_message(warning,'The predicate tries:trie_disable_hash/0 does not exist. Please update trie library.') ) diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index 7f61a3fb0..a248d242d 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -389,8 +389,6 @@ reset_learning :- do_learning(Iterations) :- do_learning(Iterations,-1). -:- spy do_learning/2. - do_learning(Iterations,Epsilon) :- current_predicate(user:example/4), !, @@ -514,32 +512,7 @@ init_learning :- % if yes, switch to problog_exact % continuous facts are not supported yet. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - problog_flag(continuous_facts, true), - !, - problog_flag(init_method,(_,_,_,_,OldCall)), - ( - ( - continuous_fact(_), - OldCall\=problog_exact_save(_,_,_,_,_) - ) - -> - ( - format_learning(2,'Theory uses continuous facts.~nWill use problog_exact/3 as initalization method.~2n',[]), - set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) - ); - true - ), - - ( - problog_tabled(_) - -> - ( - format_learning(2,'Theory uses tabling.~nWill use problog_exact/3 as initalization method.~2n',[]), - set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) - ); - true - ), - + set_default_gradient_method, succeeds_n_times(user:test_example(_,_,_,_),TestExampleCount), format_learning(3,'~q test examples~n',[TestExampleCount]), @@ -597,6 +570,21 @@ init_learning :- empty_bdd_directory. +set_default_gradient_method :- + problog_flag(continuous_facts, true), + !, + problog_flag(init_method,OldMethod), + format_learning(2,'Theory uses continuous facts.~nWill use problog_exact/3 as initalization method.~2n',[]), + set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))). +set_default_gradient_method :- + problog_tabled(_), problog_flag(fast_proofs,false), + !, + format_learning(2,'Theory uses tabling.~nWill use problog_exact/3 as initalization method.~2n',[]), + set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))). +set_default_gradient_method :- + set_problog_flag(init_method,(Query,1,BDD, + problog_kbest_as_bdd(user:Query,1,BDD))). + %======================================================================== %= This predicate goes over all training and test examples, %= calls the inference method of ProbLog and stores the resulting @@ -625,29 +613,23 @@ init_one_query(QueryID,Query,Type) :- format_learning(3,' Reuse existing BDD ~q~n~n',[QueryID]); ( b_setval(problog_required_keep_ground_ids,false), - problog_flag(libbdd_init_method,(Query,Bdd,Call)), + rb_new(H0), + problog_flag(init_method,(Query,NOf,Bdd,problog_kbest_as_bdd(Call,1,Bdd))), + strip_module(Call,_,gene(X,Y)), + !, Bdd = bdd(Dir, Tree, MapList), % trace, - once(Call), - rb_new(H0), + problog:problog_kbest_as_bdd(user:gene(X,Y),1,Bdd), maplist_to_hash(MapList, H0, Hash), Tree \= [], + %put_code(0'.), writeln(QueryID), tree_to_grad(Tree, Hash, [], Grad), recordz(QueryID,bdd(Dir, Grad, MapList),_) ) - ), - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % check wether this BDD is similar to another BDD - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - ( - problog_flag(check_duplicate_bdds,true) - -> - true /* ignore this flag for now */ - ; - true - ),!. -init_one_query(_QueryID,_Query,_Type). + ). +init_one_query(_QueryID,_Query,_Type) :- + throw(unsupported_init_method). @@ -1006,6 +988,7 @@ inv_sigmoid(T,InvSig) :- save_old_probabilities :- problog_flag(continous_facts, true), + !, forall(tunable_fact(FactID,_), ( continuous_fact(FactID) @@ -1024,6 +1007,14 @@ save_old_probabilities :- ) ) ). +save_old_probabilities :- + forall(tunable_fact(FactID,_), + ( + get_fact_probability(FactID,OldProbability), + atomic_concat(['old_prob_',FactID],Key), + bb_put(Key,OldProbability) + ) + ). @@ -1106,7 +1097,8 @@ gradient_descent :- save_old_probabilities, update_values, - reset_gradients. + reset_gradients, + compute_gradients(Handle). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % start set gradient to zero @@ -1130,7 +1122,14 @@ gradient_descent :- bb_put(Key,0.0) ) ) - ), + ). + reset_gradients :- + forall(tunable_fact(FactID,_), + ( + atomic_concat(['grad_',FactID],Key), + bb_put(Key,0.0) + ) + ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % stop gradient to zero %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1138,6 +1137,7 @@ gradient_descent :- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % start calculate gradient %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +compute_gradients(Handle) :- bb_put(mse_train_sum, 0.0), bb_put(mse_train_min, 0.0), bb_put(mse_train_max, 0.0), @@ -1485,18 +1485,18 @@ my_5_min(V1,V2,V3,V4,V5,F1,F2,F3,F4,F5,VMin,FMin) :- %======================================================================== init_flags :- - prolog_file_name('queries',Queries_Folder), % get absolute file name for './queries' - prolog_file_name('output',Output_Folder), % get absolute file name for './output' + prolog_file_name(queries,Queries_Folder), % get absolute file name for './queries' + prolog_file_name(output,Output_Folder), % get absolute file name for './output' problog_define_flag(bdd_directory, problog_flag_validate_directory, 'directory for BDD scripts', Queries_Folder,learning_general), problog_define_flag(output_directory, problog_flag_validate_directory, 'directory for logfiles etc', Output_Folder,learning_general,flags:learning_output_dir_handler), problog_define_flag(log_frequency, problog_flag_validate_posint, 'log results every nth iteration', 1, learning_general), problog_define_flag(rebuild_bdds, problog_flag_validate_nonegint, 'rebuild BDDs every nth iteration', 0, learning_general), problog_define_flag(reuse_initialized_bdds,problog_flag_validate_boolean, 'Reuse BDDs from previous runs',false, learning_general), problog_define_flag(check_duplicate_bdds,problog_flag_validate_boolean,'Store intermediate results in hash table',true,learning_general), - problog_define_flag(libbdd_init_method,problog_flag_validate_dummy,'ProbLog predicate to search proofs',(Query,Tree,problog:problog_kbest_as_bdd(Query,100,Tree)),learning_general,flags:learning_libdd_init_handler), + problog_define_flag(init_method,problog_flag_validate_dummy,'ProbLog predicate to search proofs',(Query,Tree,problog:problog_kbest_as_bdd(Query,100,Tree)),learning_general,flags:learning_libdd_init_handler), problog_define_flag(alpha,problog_flag_validate_number,'weight of negative examples (auto=n_p/n_n)',auto,learning_general,flags:auto_handler), problog_define_flag(sigmoid_slope,problog_flag_validate_posnumber,'slope of sigmoid function',1.0,learning_general), - problog_define_flag(continuous_facts,problog_flag_validate_boolean,'support parameter learning of continuous distributions',1.0,learning_general), + problog_define_flag(continuous_facts,problog_flag_validate_boolean,'support parameter learning of continuous distributions',true,learning_general), problog_define_flag(learning_rate,problog_flag_validate_posnumber,'Default learning rate (If line_search=false)',examples,learning_line_search,flags:examples_handler), problog_define_flag(line_search, problog_flag_validate_boolean,'estimate learning rate by line search',false,learning_line_search), @@ -1504,7 +1504,6 @@ init_flags :- problog_define_flag(line_search_tau, problog_flag_validate_indomain_0_1_open,'tau value for line search',0.618033988749,learning_line_search), problog_define_flag(line_search_tolerance,problog_flag_validate_posnumber,'tolerance value for line search',0.05,learning_line_search), problog_define_flag(line_search_interval, problog_flag_validate_dummy,'interval for line search',(0,100),learning_line_search,flags:linesearch_interval_handler). - init_logger :- logger_define_variable(iteration, int), @@ -1527,5 +1526,7 @@ init_logger :- logger_define_variable(llh_test_queries,float). :- initialization(init_flags). + :- initialization(init_logger). + diff --git a/pl/bootlists.yap b/pl/bootlists.yap index 69beade81..c944d9fe6 100644 --- a/pl/bootlists.yap +++ b/pl/bootlists.yap @@ -136,3 +136,14 @@ prolog:length(L, M) :- %% @} +% reverse(List, Reversed) +% is true when List and Reversed are lists with the same elements +% but in opposite orders. rev/2 is a synonym for reverse/2. + +lists:reverse(List, Reversed) :- + lists:reverse(List, [], Reversed). + +lists:reverse([], Reversed, Reversed). +lists:reversae([Head|Tail], Sofar, Reversed) :- + lists:reverse(Tail, [Head|Sofar], Reversed). + diff --git a/pl/consult.yap b/pl/consult.yap index f4afdb88e..7975791f6 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -855,7 +855,10 @@ nb_setval('$if_le1vel',0). '__NB_getval__'('$lf_status', TOpts, fail), '$lf_opt'( initialization, TOpts, Ref), nb:nb_queue_close(Ref, Answers, []), - lists:member(G, Answers), + '$process_init_goal'(Answers). +'$exec_initialization_goals'. + +'$process_init_goal'([G|_]) :- '$yap_strip_module'( G, M0, G0), ( catch(M0:G0, Error, user:'$LoopError'(Error, top)) @@ -865,7 +868,8 @@ nb_setval('$if_le1vel',0). format(user_error,':- ~w:~w failed.~n',[M0,G0]) ), fail. -'$exec_initialization_goals'. +'$process_init_goal'([_|Gs]) :- + '$process_init_goal'(Gs). /** @pred include(+ _F_) is directive diff --git a/pl/preds.yap b/pl/preds.yap index 127fe10ed..f273db11a 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -535,7 +535,7 @@ predicate_property(Pred,Prop) :- functor(P,N,A), once(recorded('$module','$module'(_TFN,M,_S,Publics,_L),_)), lists:memberchk(N/A,Publics). -'$predicate_property'(P,M,M0,imported_from(M0)) :- +'$predicate_property'(P,M,M0,imported_from(M)) :- M \= M0. '$predicate_property'(P,Mod,_,number_of_clauses(NCl)) :- '$number_of_clauses'(P,Mod,NCl). From 5c8f8457fa9b2eaf8b6fd616597f503e1a021020 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 10 Sep 2018 17:06:13 +0100 Subject: [PATCH 42/57] debugger --- C/arrays.c | 61 ++++++++++++------------ C/cdmgr.c | 1 - C/errors.c | 6 +-- C/stack.c | 15 ++++-- H/YapFlags.h | 12 +++++ H/Yapproto.h | 2 +- include/YapErrors.h | 4 +- packages/python/yap_kernel/YAP_KERNEL.md | 47 +++++++++++++++++- pl/messages.yap | 4 +- 9 files changed, 106 insertions(+), 46 deletions(-) diff --git a/C/arrays.c b/C/arrays.c index ea737a2dd..3dcbbd85f 100644 --- a/C/arrays.c +++ b/C/arrays.c @@ -1026,36 +1026,33 @@ restart: } -#define CREATE_ARRAY_DEFS() \ - PAR("type", isatom, CREATE_ARRAY_TYPE), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("int", isnull, CREATE_ARRAY_INT), \ - PAR("dbref", isnull, CREATE_ARRAY_DBREF), \ - PAR("float", isnull, CREATE_ARRAY_FLOAT), \ - PAR("ptr", isnull, CREATE_ARRAY_PTR), \ - PAR("atom", isnull, CREATE_ARRAY_ATOM), \ - PAR("char", isnull, CREATE_ARRAY_CHAR), \ - PAR("unsigned_char", isnull, CREATE_UNSIGNED_CHAR), \ - PAR("nb_term", isnull, CREATE_ARRAY_NB_TERM), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("address", isaddress, CREATE_ARRAY_ADDRESS), \ - PAR("close_on_abort", booleanFlag, OPEN_CLOSE_ON_ABORT), \ - PAR("create", isatom, OPEN_CREATE), \ - PAR("encoding", isatom, OPEN_ENCODING), \ - PAR("eof_action", isatom, OPEN_EOF_ACTION), \ - PAR("expand_filename", booleanFlag, OPEN_EXPAND_FILENAME), \ - PAR("file_name", isatom, OPEN_FILE_NAME), PAR("input", ok, OPEN_INPUT), \ - PAR("locale", isatom, OPEN_LOCALE), PAR("lock", isatom, OPEN_LOCK), \ - PAR("mode", isatom, OPEN_MODE), PAR("output", ok, OPEN_OUTPUT), \ - PAR("representation_errors", booleanFlag, OPEN_REPRESENTATION_ERRORS), \ - PAR("reposition", booleanFlag, OPEN_REPOSITION), \ - PAR("script", booleanFlag, OPEN_SCRIPT), PAR("type", isatom, OPEN_TYPE), \ - PAR("wait", booleanFlag, OPEN_WAIT), PAR(NULL, ok, OPEN_END) +#define CREATE_ARRAY_DEFS() \ + PAR("type", isatom, CREATE_ARRAY_TYPE), \ + PAR("address", filler, CREATE_ARRAY_ADDRESS), \ + PAR("int", filler, CREATE_ARRAY_INT), \ + PAR("dbref", filler, CREATE_ARRAY_DBREF), \ + PAR("float", filler, CREATE_ARRAY_FLOAT), \ + PAR("ptr", filler, CREATE_ARRAY_PTR), \ + PAR("atom", filler, CREATE_ARRAY_ATOM), \ + PAR("char", filler, CREATE_ARRAY_CHAR), \ + PAR("unsigned_char", filler, CREATE_UNSIGNED_CHAR), \ + PAR("term", filler, CREATE_ARRAY_TERM), \ + PAR("nb_term", filler, CREATE_ARRAY_NB_TERM) + +#define PAR(x, y, z) z + + +typedef enum create_array_enum_choices { CREATE_ARRAY_DEFS() } create_array_choices_t; + +#undef PAR + +#define PAR(x, y, z) \ + { x, y, z } + +static const param_t create_array_defs[] = {CREATE_ARRAY_DEFS()}; +#undef PAR + + /* create an array (+Name, + Size, +Props) */ /** @pred static_array(+ _Name_, + _Size_, + _Type_) @@ -1087,7 +1084,9 @@ static Int return (FALSE); } } - +xarg *args = + Yap_ArgListToVector(tprops, create_array_defs, CREATE_ARRAY_NB_TERM, DOMAIN_ERROR_CREATE_ARRAY_OPTION); + if (IsVarTerm(tprops)) { Yap_Error(INSTANTIATION_ERROR, tprops, "create static array"); return (FALSE); diff --git a/C/cdmgr.c b/C/cdmgr.c index 3ffb16e7d..e9f18e22b 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -1,4 +1,3 @@ - /************************************************************************* * * * YAP Prolog * diff --git a/C/errors.c b/C/errors.c index 3a3e4cf54..900a9dffb 100755 --- a/C/errors.c +++ b/C/errors.c @@ -642,8 +642,8 @@ void Yap_ThrowExistingError(void) { bool Yap_MkErrorRecord(yap_error_descriptor_t *r, const char *file, const char *function, int lineno, yap_error_number type, - Term where, const char *s) { - if (!Yap_pc_add_location(r, CP, B, ENV)) + Term where, const char *s) { + if (!Yap_pc_add_location(r, P, B, ENV)) Yap_env_add_location(r, CP, B, ENV, 0); if (where == 0L || where == TermNil || type == INSTANTIATION_ERROR) { r->culprit = NULL; @@ -739,7 +739,7 @@ yamop *Yap_Error__(bool throw, const char *file, const char *function, if (LOCAL_PrologMode & BootMode) { fprintf(stderr, "%% YAP crashed while booting %s\n", tmpbuf); } else { - Yap_detect_bug_location(P, FIND_PRED_FROM_ANYWHERE, YAP_BUF_SIZE); + Yap_output_bug_location(P, FIND_PRED_FROM_ANYWHERE, YAP_BUF_SIZE); if (tmpbuf[0]) { fprintf(stderr, "%% Bug found while executing %s\n", tmpbuf); } diff --git a/C/stack.c b/C/stack.c index b719eaf95..dab4238dd 100644 --- a/C/stack.c +++ b/C/stack.c @@ -1856,9 +1856,9 @@ void Yap_dump_stack(void) { fprintf(stderr, "%% \n%% -------------------------------------\n%%\n"); fprintf(stderr, "%% Program Position: %s\n\n", Yap_errorName(errno) ); fprintf(stderr, "%% PC: %s\n", (char *)HR); - Yap_detect_bug_location(CP, FIND_PRED_FROM_ANYWHERE, 256); + Yap_output_bug_location(CP, FIND_PRED_FROM_ANYWHERE, 256); fprintf(stderr, "%% Continuation: %s\n", (char *)HR); - Yap_detect_bug_location(B->cp_ap, FIND_PRED_FROM_ANYWHERE, 256); + Yap_output_bug_location(B->cp_ap, FIND_PRED_FROM_ANYWHERE, 256); fprintf(stderr, "%% Alternative: %s\n", (char *)HR); fprintf(stderr, "%% \n%% -------------------------------------\n%%\n"); @@ -1916,7 +1916,7 @@ fprintf(stderr, "%% \n%% -------------------------------------\n%%\n"); "Use--Local In Use)\n%%\n"); while (b_ptr != NULL) { while (env_ptr && env_ptr <= (CELL *)b_ptr) { - Yap_detect_bug_location(ipc, FIND_PRED_FROM_ENV, 256); + Yap_output_bug_location(ipc, FIND_PRED_FROM_ENV, 256); if (env_ptr == (CELL *)b_ptr && (choiceptr)env_ptr[E_CB] > b_ptr) { b_ptr = b_ptr->cp_b; fprintf(stderr, "%% %s\n", tp); @@ -1940,7 +1940,7 @@ fprintf(stderr, "%% \n%% -------------------------------------\n%%\n"); b_ptr->cp_ap->opc != Yap_opcode(_or_last) && b_ptr->cp_ap->opc != Yap_opcode(_Nstop)) { /* we can safely ignore ; because there is always an upper env */ - Yap_detect_bug_location(b_ptr->cp_ap, FIND_PRED_FROM_CP, 256); + Yap_output_bug_location(b_ptr->cp_ap, FIND_PRED_FROM_CP, 256); fprintf(stderr, "%% %s (%luKB--%luKB)\n", tp, (unsigned long int)((b_ptr->cp_h - H0) * sizeof(CELL) / 1024), (unsigned long int)((ADDR)LCL0 - (ADDR)b_ptr) / 1024); @@ -2086,7 +2086,12 @@ void DumpActiveGoals(USES_REGS1) { } } -void Yap_detect_bug_location(yamop *yap_pc, int where_from, int psize) { + +/** + * Used for debugging. + * + */ +void Yap_output_bug_location(yamop *yap_pc, int where_from, int psize) { Atom pred_name; UInt pred_arity; Term pred_module; diff --git a/H/YapFlags.h b/H/YapFlags.h index d6239561a..e9decab9c 100644 --- a/H/YapFlags.h +++ b/H/YapFlags.h @@ -187,6 +187,18 @@ static inline Term isatom(Term inp) { return TermZERO; } +static inline Term isadress(Term inp) { + if (IsVarTerm(inp)) { + Yap_Error(INSTANTIATION_ERROR, inp, "set_prolog_flag %s", + "value must be bound"); + return TermZERO; + } + if (IsAddressTerm(inp)) + return inp; + Yap_Error(TYPE_ERROR_ATOM, inp, "set_prolog_flag"); + return TermZERO; +} + static inline Term options(Term inp) { return Yap_IsGroundTerm(inp) ? inp : TermZERO; } diff --git a/H/Yapproto.h b/H/Yapproto.h index 11021bc2b..771292fe2 100755 --- a/H/Yapproto.h +++ b/H/Yapproto.h @@ -391,7 +391,7 @@ extern void Yap_InitSortPreds(void); /* stack.c */ extern void Yap_InitStInfo(void); extern void Yap_dump_stack(void); -extern void Yap_detect_bug_location(yamop *yap_pc, int where_from, int psize); +extern void Yap_output_bug_location(yamop *yap_pc, int where_from, int psize); #if !defined(YAPOR) && !defined(THREADS) extern bool Yap_search_for_static_predicate_in_use(struct pred_entry *, bool); diff --git a/include/YapErrors.h b/include/YapErrors.h index 536a1699e..d8ba0054c 100644 --- a/include/YapErrors.h +++ b/include/YapErrors.h @@ -48,12 +48,12 @@ E(DOMAIN_ERROR_ABSOLUTE_FILE_NAME_OPTION, DOMAIN_ERROR, E(DOMAIN_ERROR_ARRAY_OVERFLOW, DOMAIN_ERROR, "array_overflow") E(DOMAIN_ERROR_ARRAY_TYPE, DOMAIN_ERROR, "array_type") E(DOMAIN_ERROR_CLOSE_OPTION, DOMAIN_ERROR, "close_option") +E(DOMAIN_ERROR_CREATE_ARRAY_OPTION, DOMAIN_ERROR, "create_array_option") E(DOMAIN_ERROR_ENCODING, DOMAIN_ERROR, "encoding") E(DOMAIN_ERROR_EXPAND_FILENAME_OPTION, DOMAIN_ERROR, "expand_filename") E(DOMAIN_ERROR_FILE_ERRORS, DOMAIN_ERROR, "file_errors") E(DOMAIN_ERROR_FILE_TYPE, DOMAIN_ERROR, "file_type") -E(DOMAIN_ERROR_FORMAT_CONTROL_SEQUENCE, DOMAIN_ERROR, "format argument " - "domain") +E(DOMAIN_ERROR_FORMAT_CONTROL_SEQUENCE, DOMAIN_ERROR, "format argument") E(DOMAIN_ERROR_FORMAT_OUTPUT, DOMAIN_ERROR, "format output") E(DOMAIN_ERROR_GENERIC_ARGUMENT, DOMAIN_ERROR, "generic_argument") E(DOMAIN_ERROR_IO_MODE, DOMAIN_ERROR, "io_mode") diff --git a/packages/python/yap_kernel/YAP_KERNEL.md b/packages/python/yap_kernel/YAP_KERNEL.md index 31a2e4a44..5a9c86029 100644 --- a/packages/python/yap_kernel/YAP_KERNEL.md +++ b/packages/python/yap_kernel/YAP_KERNEL.md @@ -1,6 +1,51 @@ A Jupyter Kernel for YAP (#yap_kernel) ======================= -This kernel supports interaction with YAP Prolog. +This Jupyter kernel supports interaction with YAP Prolog. The kernel +patches IPython and PyKernel so that the user interacts with the +Prolog interpreter. Most of the original kernels are unaffected by the +changes. + +You will need `python3` and `jupyter notebook`to use this package, plus: + - `setuptools`; + - `wheel` + - `pip` + +The configuration script should recognize whether these Python +packages are installed. + +See `tut.ipynb` for details on how to use the system. + +Both `jupyter notebook` and `jupyter lab` rely on the Javascript +editor ` CodeMirror` for editing tasks such as highlighting, inlining, +and folding. Unfortunately, `CodeMirror` does not support the Prolog +language. Starting from Wielemaker's excellent `CodeMirror` module for +`swish`, YAP includes a codemirror for Prolog, designed to fit easily +with any `CodeMirror`-based application. + ++ `Jupyter lab` includes a complex dependency mechanism, that always + tries to download from the Internet. We do a first build to ensure + all packages are there, set the build offline, patch the different + copies of codemirror, and build locally. + + ~~~~ + CM=$HOME/github/CodeMirror + PYLIB=$HOME/.local/lib/python3.6/site-packages + PYSHARE=$HOME/.local/share + cd $PYLIB/jupyterlab + jupyter lab build + cp commands.py commands.py.bk + sed 's/.node., YARN_PATH,/\"node", YARN_PATH, "--offline",/g' commands.py + cd $PYSHARE/jupyter/lab/staging/node_modules/codemirror/mode + split -n l/5 meta.js + cat xaa xab > meta.js + echo ' {name: "Prolog", mime: "text\/x-prolog", mode: "prolog", ext: ["yap","pl", "ypp", "prolog"]}' >> meta.js + cat xac xad xae >> meta.js + cp -a $CM/mode/prolog prolog + cd $PYLIB/jupyterlab + jupyter lab build + mv commands.py.bk commands.py + ~~~~ + diff --git a/pl/messages.yap b/pl/messages.yap index 83d7ff626..5006cf4cb 100644 --- a/pl/messages.yap +++ b/pl/messages.yap @@ -1056,8 +1056,8 @@ query_exception(K0,[H|L],V) :- (atom(K0) -> atom_to_string(K0, K) ; K = K0), !, lists:member(K=V,[H|L]). -query_exception(K,V) :- - '$query_exception'(K,V). +query_exception(M,K,V) :- + '$query_exception'(M,K,V). /** @} From 059c406fd9c85f412fb050f1fa58e3a4b9ffe253 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Tue, 11 Sep 2018 01:50:17 +0100 Subject: [PATCH 43/57] message handling. --- C/errors.c | 18 ++++--- pl/messages.yap | 131 +++++++++++++++++++++++++----------------------- 2 files changed, 77 insertions(+), 72 deletions(-) diff --git a/C/errors.c b/C/errors.c index 900a9dffb..5086a5f91 100755 --- a/C/errors.c +++ b/C/errors.c @@ -86,21 +86,24 @@ static bool setErr(const char *q, yap_error_descriptor_t *i, Term t) { return false; } -#define query_key_b(k, ks, q, i) \ - if (strcmp(ks, q) == 0) { \ +#define query_key_b(k, ks, q, i) \ +if (strcmp(ks, q) == 0) { \ return i->k ? TermTrue : TermFalse; \ } -#define query_key_i(k, ks, q, i) if (strcmp(ks, q) == 0) { \ +#define query_key_i(k, ks, q, i) \ +if (strcmp(ks, q) == 0) { \ return MkIntegerTerm(i->k); \ } -#define query_key_s(k, ks, q, i) \ - if (strcmp(ks, q) == 0 && i->k) { \ - return MkAtomTerm(Yap_LookupAtom(i->k)); } else {return TermNil;} +#define query_key_s(k, ks, q, i) \ +if (strcmp(ks, q) == 0 ) \ +{ if (i->k) return MkAtomTerm(Yap_LookupAtom(i->k)); else return TermNil; } + #define query_key_t(k, ks, q, i) \ if (strcmp(ks, q) == 0) { \ + if (i->k == NULL) return TermNil; \ Term t; if((t = Yap_BufferToTerm(i->k, TermNil) ) == 0 ) return TermNil; return t; } static Term queryErr(const char *q, yap_error_descriptor_t *i) { @@ -645,7 +648,7 @@ bool Yap_MkErrorRecord(yap_error_descriptor_t *r, const char *file, Term where, const char *s) { if (!Yap_pc_add_location(r, P, B, ENV)) Yap_env_add_location(r, CP, B, ENV, 0); - if (where == 0L || where == TermNil || type == INSTANTIATION_ERROR) { + if (where == 0L || where == TermNil) { r->culprit = NULL; } else { r->culprit = Yap_TermToBuffer( @@ -662,7 +665,6 @@ bool Yap_MkErrorRecord(yap_error_descriptor_t *r, const char *file, r->errorLine = lineno; r->errorFunction = function; r->errorFile = file; - Yap_prolog_add_culprit(r PASS_REGS1); LOCAL_PrologMode |= InErrorMode; Yap_ClearExs(); // first, obtain current location diff --git a/pl/messages.yap b/pl/messages.yap index 5006cf4cb..705eedcf1 100644 --- a/pl/messages.yap +++ b/pl/messages.yap @@ -205,7 +205,8 @@ compose_message(error(E, Exc), Level) --> caller( error(E, Exc), Level ), extra_info( error(E, Exc), Level ), !, - [nl,nl]. + [nl], + [nl]. compose_message( false, _Level) --> !, [ 'false.'-[] ]. compose_message( '$abort', _Level) --> !, @@ -266,8 +267,9 @@ location( error(_,Info), Level, LC ) --> query_exception(prologPredArity, Desc, Ar) }, !, - display_consulting( File, Level, Info, LC ), - [ '~a:~d:0 ~a in ~a:~a/~d:'-[File, FilePos,Level,M,Na,Ar] ]. +display_consulting( File, Level, Info, LC ), + {simplify_pred(M:Na/Ar,FF)}, + [ '~a:~d:0 ~a while executing ~q:'-[File, FilePos,Level,FF] ]. location( error(_,Info), Level, LC ) --> { '$error_descriptor'(Info, Desc) }, { @@ -277,13 +279,17 @@ location( error(_,Info), Level, LC ) --> }, !, display_consulting( File, Level, Info, LC ), - [ '~a:~d:0 ~a in ~a():'-[File, FilePos,Level,F] ]. + {simplify_pred(F,FF)}, + [ '~a:~d:0 ~a while executing ~a():'-[File, FilePos,Level,FF] ]. location( _Ball, _Level, _LC ) --> []. +simplify_pred(user:F, F) :- !. +simplify_pred(prolog:F, F) :- !. +simplify_pred(F, F). %message(loaded(Past,AbsoluteFileName,user,Msec,Bytes), Prefix, Suffix) :- !, main_message(error(Msg,In), _, _) --> {var(Msg)}, !, - [ 'ninstantiated message ~w~n.' - [error(Msg,In)], nl ]. + [ 'Uninstantiated message ~w~n.' - [error(Msg,In)], nl ]. main_message( error(syntax_error(Msg),info(between(L0,LM,LF),_Stream, _Pos, Term)), Level, LC ) --> !, [' ~a: syntax error ~s' - [Level,Msg]], @@ -303,45 +309,50 @@ main_message(style_check(singleton(SVs),_Pos,_File,P), _Level, _LC) --> !, % {writeln(ci)}, { clause_to_indicator(P, I) }, - [ nl, ' singleton variable~*c ~w in ~q.' - [ NVs, 0's, SVsL, I] ], + [ nl, '~*|singleton variable~*c ~w in ~q.' - [ 10, NVs, 0's, SVsL, I] ], { svs(SVs,SVs,SVsL), ( SVs = [_] -> NVs = 0 ; NVs = 1 ) }. main_message(style_check(multiple(N,A,Mod,I0),_Pos,File,_P), _Level, _LC) --> !, - [ ' ~a redefines ~q, originally defined in ~a.' - [File, Mod:N/A, I0] ]. + [ '~*|~a redefines ~q, originally defined in ~a.' - [ 10,File, Mod:N/A, I0] ]. main_message(style_check(discontiguous(N,A,Mod),_S,_W,_P) , _Level, _LC)--> !, - [ ' discontiguous definition for ~p.' - [Mod:N/A] ]. -main_message(error(consistency_error(Who)), Level, _LC) --> - !, - [ ' ~a: has argument ~a not consistent with type.'-[Level,Who] ]. -main_message(error(domain_error(Who , Type), _Where), Level, _LC) --> - !, - [ ' ~a: ~q does not belong to domain ~a,' - [Level,Type,Who], nl ]. -main_message(error(evaluation_error(What), _Where), Level, _LC) --> - !, - [ ' ~a: ~w during evaluation of arithmetic expressions,' - [Level,What], nl ]. -main_message(error(evaluation_error(What, Who), _Where), Level, _LC) --> - !, - [ ' ~a: ~w caused ~a during evaluation of arithmetic expressions,' - [Level,Who,What], nl ]. -main_message(error(existence_error(Type , Who), _Where), Level, _LC) --> - !, - [ ' ~a: ~q ~q could not be found,' - [Level,Type, Who], nl ]. -main_message(error(permission_error(Op, Type, Id), _Where), Level, _LC) --> - [ ' ~a: ~q is not allowed in ~a ~q,' - [Level, Op, Type,Id], nl ]. -main_message(error(instantiation_error, _Where), Level, _LC) --> - [ ' ~a: unbound variable' - [Level], nl ]. -main_message(error(representation_error(Type)), Level, _LC) --> - [ ' ~a: ~a representation error ~a' - [Level, Type], nl ]. -main_message(error(type_error(Type,Who), _What), Level, _LC) --> - [ ' ~a: ~q should be of type ~a' - [Level,Who,Type]], + [ '~*|discontiguous definition for ~p.' - [ 10,Mod:N/A] ]. +main_message(error(ErrorInfo,_), _Level, _LC) --> + [nl], + main_error_message( ErrorInfo ), + [nl]. + + +main_error_message(consistency_error(Who)) --> + [ '~*|** argument ~a not consistent with type **'-[ 10,Who] ]. +main_error_message(domain_error(Who , Type)) --> + [ '~*|** ~q does not belong to domain ~a ** ' - [ 10,Type,Who], nl ]. +main_error_message(evaluation_error(What)) --> + [ '~*|** found ~w during evaluation of arithmetic expression **' - [ 10,What], nl ]. +main_error_message(evaluation_error(What, Who)) --> + [ '~*|** ~w caused ~a during evaluation of arithmetic expressions **' - [ 10,Who,What], nl ]. +main_error_message(existence_error(Type , Who)) --> + [nl], + [ '~*|** ~q ~q could not be found **' - [ 10,Type, Who], nl ]. +main_error_message(permission_error(Op, Type, Id)) --> + [ '~*|** value ~q is not allowed in ~a ~q **' - [ 10, Op, Type,Id], nl ]. +main_error_message(instantiation_error) --> + [ '~*|** unbound variable **' - [10], nl ]. +main_error_message(representation_error(Type)) --> + [ '~*|** YAP cannot represent ~w **' - [10, Type], nl ]. +main_error_message(resource_error(Who)) --> + [ '~*|** ~q **' - [10,Who]], [ nl ]. -main_message(error(system_error(Who), _What), Level, _LC) --> - [ ' ~a: ~q' - [Level,Who]], +main_error_message(type_error(Type,Who)) --> + [ '~*|** ~q should be of type ~a **' - [10,Who,Type]], [ nl ]. -main_message(error(uninstantiation_error(T),_), Level, _LC) --> - [ ' ~a: found ~q, expected unbound variable ' - [Level,T], nl ]. +main_error_message(system_error(Who)) --> + [ '~*|** ~q **' - [10,Who]], + [ nl ]. +main_error_message(uninstantiation_error(T)) --> + [ '~*|** found ~q, expected unbound variable **' - [10,T], nl ]. display_consulting( F, Level, Info, LC) --> { LC > 0, @@ -360,7 +371,7 @@ display_consulting( F, Level, _, LC) --> display_consulting(_F, _, _, _LC) --> []. -caller( Info, _) --> +c_goal( error(_,Info), _) --> { '$error_descriptor'(Info, Desc) }, ({ query_exception(errorGoal, Desc, Call), Call = M:(H :- G) @@ -376,31 +387,34 @@ caller( Info, _) --> ; [] ), - { query_exception(prologPredFile, Desc, File), - File \= [], - query_exception(prologPredLine, Desc, FilePos), - query_exception(prologPredModule, Desc, M), - query_exception(prologPredName, Desc, Na), - query_exception(prologPredArity, Desc, Ar) - }, - !, - [nl], - ['~*| ~q:~d:0 ~a:~q'-[10,File, FilePos,M,Na,Ar]], - [nl]. -caller( _, _) --> - []. + !. +c_goal(_,_) --> []. -c_goal( Info, Level ) --> +caller( error(_,Info), Level ) --> { '$error_descriptor'(Info, Desc) }, { query_exception(errorFile, Desc, File), + File \= [], + query_exception(errorFunction, Desc, Func), Func \= [], - query_exception(errorFunction, Desc, File), query_exception(errorLine, Desc, Line) }, !, - ['~*|~a raised at C-function ~a() in ~a:~d:0: '-[10, Level, Func, File, Line]], + ['~*|~a raised by foreign-function ~a(), at ~a:~d:0: '-[10, Level, Func, File, Line]], [nl]. -c_goal( _, _Level ) --> []. +caller( _, _Level ) --> []. + + +extra_info( error(_,Info), _ ) --> + { '$error_descriptor'(Info, Desc) }, + { + query_exception(errorMsg, Desc, Msg), + Msg \= [] + }, + !, + ['~*|user provided data is: ~q' - [10,Msg]], + [nl]. +extra_info( _, _ ) --> + []. prolog_message(X) --> @@ -622,17 +636,6 @@ domain_error(write_option, Opt) --> !, domain_error(Domain, Opt) --> [ '~w not a valid element for ~w' - [Opt,Domain] ]. -extra_info( error(_,Extra), _ ) --> - { - query_exception(prologPredFile, Extra, Msg), - Msg \= [] - }, - !, - ['~*|user provided data is: ~q' - [10,Msg]], - [nl]. -extra_info( _, _ ) --> - []. - object_name(array, array). object_name(atom, atom). object_name(atomic, atomic). From 724dfee44a369d62b2a5df30690c3a3905c7e08c Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 12 Sep 2018 12:02:42 +0100 Subject: [PATCH 44/57] fix alloc vs copy_term and leak --- C/errors.c | 1 + C/globals.c | 6 +++--- C/text.c | 15 +++++++++++---- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/C/errors.c b/C/errors.c index 5086a5f91..9af5b7f5f 100755 --- a/C/errors.c +++ b/C/errors.c @@ -597,6 +597,7 @@ yap_error_descriptor_t *Yap_popErrorContext(bool mdnew, bool pass) { memmove(ep, e, sizeof(*e)); ep->top_error = epp; } + free(e); return LOCAL_ActiveError; } /** diff --git a/C/globals.c b/C/globals.c index aa21751bc..1e77bf2d1 100644 --- a/C/globals.c +++ b/C/globals.c @@ -352,9 +352,9 @@ static inline void clean_dirty_tr(tr_fr_ptr TR0 USES_REGS) { } #define expand_stack(S0,SP,SF,TYPE) \ - size_t sz = SF-S0, used = SP-S0; \ + { size_t sz = SF-S0, used = SP-S0; \ S0 = Realloc(S0, (1024+sz)*sizeof(TYPE) PASS_REGS); \ - SP = S0+used; SF = S0+sz; + SP = S0+used; SF = S0+sz; } static int copy_complex_term(register CELL *pt0, register CELL *pt0_end, int share, int copy_att_vars, CELL *ptf, @@ -502,7 +502,7 @@ loop: ptf++; /* store the terms to visit */ #ifdef RATIONAL_TREES - if (to_visit + 1 >= to_visit_max) { + if (to_visit + 32 >= to_visit_max) { expand_stack(to_visit0, to_visit, to_visit_max, struct cp_frame); } to_visit->start_cp = pt0; diff --git a/C/text.c b/C/text.c index e74885a93..7b1a1bd16 100644 --- a/C/text.c +++ b/C/text.c @@ -176,14 +176,21 @@ void *MallocAtLevel(size_t sz, int atL USES_REGS) { } void *Realloc(void *pt, size_t sz USES_REGS) { - sz += sizeof(struct mblock); struct mblock *old = pt, *o; old--; - release_block(old); + sz = ALIGN_BY_TYPE(sz + sizeof(struct mblock), CELL); o = realloc(old, sz); + if (o->next) { + o->next->prev = o; + } else { + LOCAL_TextBuffer->last[o->lvl] = o; + } + if (o->prev) { + o->prev->next = o; + } else { + LOCAL_TextBuffer->first[o->lvl] = o; + } o->sz = sz; - insert_block(o); - return o + 1; } From a079139060fb32949a8881e9a96ec56e07a3e8a7 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 13 Sep 2018 13:35:37 +0100 Subject: [PATCH 45/57] lbfgs --- C/arrays.c | 191 ++++---- C/errors.c | 2 +- CMakeLists.txt | 2 +- library/matrix.yap | 10 + library/matrix/matrix.c | 28 +- packages/ProbLog/problog/logger.yap | 2 +- packages/ProbLog/problog_learning_lbdd.yap | 99 +++-- packages/yap-lbfgs/ex1.pl | 24 +- packages/yap-lbfgs/ex2.pl | 35 +- packages/yap-lbfgs/lbfgs.pl | 120 +++-- .../yap-lbfgs/liblbfgs-1.10/include/lbfgs.h | 6 +- packages/yap-lbfgs/yap_lbfgs.c | 419 ++++++------------ 12 files changed, 444 insertions(+), 494 deletions(-) diff --git a/C/arrays.c b/C/arrays.c index 3dcbbd85f..f0fa0fb11 100644 --- a/C/arrays.c +++ b/C/arrays.c @@ -1,21 +1,19 @@ /******************************************************************""******* -* * -* YAP Prolog * -* * -* Yap Prolog was developed at NCCUP - Universidade do Porto * -* * -* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 * -* * -************************************************************************** -* * -* File: arrays.c * -* Last rev: * -* mods: * -* comments: Array Manipulation Routines * -* * -*************************************************************************/ + * * + * YAP Prolog * + * * + * Yap Prolog was developed at NCCUP - Universidade do Porto * + * * + * Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 * + * * + ************************************************************************** + * * + * File: arrays.c * Last rev: + ** mods: * comments: Array Manipulation Routines * + * * + *************************************************************************/ -/** +/** @file arrays.c @@ -106,9 +104,9 @@ The following predicates manipulate arrays: */ #include "Yap.h" +#include "YapEval.h" #include "Yatom.h" #include "clause.h" -#include "YapEval.h" #include "heapgc.h" #if HAVE_ERRNO_H #include @@ -373,7 +371,7 @@ static ArrayEntry *GetArrayEntry(Atom at, int owner) { #if THREADS && pp->owner_id != worker_id #endif - ) + ) pp = RepArrayProp(pp->NextOfPE); READ_UNLOCK(ae->ARWLock); return pp; @@ -986,7 +984,7 @@ restart: #if THREADS && ((ArrayEntry *)pp)->owner_id != worker_id #endif - ) + ) pp = RepProp(pp->NextOfPE); if (EndOfPAEntr(pp)) { if (HR + 1 + size > ASP - 1024) { @@ -1025,24 +1023,24 @@ restart: return (FALSE); } - -#define CREATE_ARRAY_DEFS() \ - PAR("type", isatom, CREATE_ARRAY_TYPE), \ - PAR("address", filler, CREATE_ARRAY_ADDRESS), \ - PAR("int", filler, CREATE_ARRAY_INT), \ - PAR("dbref", filler, CREATE_ARRAY_DBREF), \ - PAR("float", filler, CREATE_ARRAY_FLOAT), \ - PAR("ptr", filler, CREATE_ARRAY_PTR), \ - PAR("atom", filler, CREATE_ARRAY_ATOM), \ - PAR("char", filler, CREATE_ARRAY_CHAR), \ - PAR("unsigned_char", filler, CREATE_UNSIGNED_CHAR), \ - PAR("term", filler, CREATE_ARRAY_TERM), \ - PAR("nb_term", filler, CREATE_ARRAY_NB_TERM) +#define CREATE_ARRAY_DEFS() \ + PAR("type", isatom, CREATE_ARRAY_TYPE), \ + PAR("address", filler, CREATE_ARRAY_ADDRESS), \ + PAR("int", filler, CREATE_ARRAY_INT), \ + PAR("dbref", filler, CREATE_ARRAY_DBREF), \ + PAR("float", filler, CREATE_ARRAY_FLOAT), \ + PAR("ptr", filler, CREATE_ARRAY_PTR), \ + PAR("atom", filler, CREATE_ARRAY_ATOM), \ + PAR("char", filler, CREATE_ARRAY_CHAR), \ + PAR("unsigned_char", filler, CREATE_ARRAY_UNSIGNED_CHAR), \ + PAR("term", filler, CREATE_ARRAY_TERM), \ + PAR("nb_term", filler, CREATE_ARRAY_NB_TERM) #define PAR(x, y, z) z - -typedef enum create_array_enum_choices { CREATE_ARRAY_DEFS() } create_array_choices_t; +typedef enum create_array_enum_choices { + CREATE_ARRAY_DEFS() +} create_array_choices_t; #undef PAR @@ -1052,24 +1050,22 @@ typedef enum create_array_enum_choices { CREATE_ARRAY_DEFS() } create_array_choi static const param_t create_array_defs[] = {CREATE_ARRAY_DEFS()}; #undef PAR - - /* create an array (+Name, + Size, +Props) */ - /** @pred static_array(+ _Name_, + _Size_, + _Type_) +/** @pred static_array(+ _Name_, + _Size_, + _Type_) - Create a new static array with name _Name_. Note that the _Name_ - must be an atom (named array). The _Size_ must evaluate to an - integer. The _Type_ must be bound to one of types mentioned - previously. - */ -static Int - create_static_array(USES_REGS1) { +Create a new static array with name _Name_. Note that the _Name_ +must be an atom (named array). The _Size_ must evaluate to an +integer. The _Type_ must be bound to one of types mentioned +previously. +*/ +static Int create_static_array(USES_REGS1) { Term ti = Deref(ARG2); Term t = Deref(ARG1); Term tprops = Deref(ARG3); Int size; static_array_types props; + void *address = NULL; if (IsVarTerm(ti)) { Yap_Error(INSTANTIATION_ERROR, ti, "create static array"); @@ -1084,42 +1080,62 @@ static Int return (FALSE); } } -xarg *args = - Yap_ArgListToVector(tprops, create_array_defs, CREATE_ARRAY_NB_TERM, DOMAIN_ERROR_CREATE_ARRAY_OPTION); - - if (IsVarTerm(tprops)) { - Yap_Error(INSTANTIATION_ERROR, tprops, "create static array"); - return (FALSE); - } else if (IsAtomTerm(tprops)) { - char *atname = (char *)RepAtom(AtomOfTerm(tprops))->StrOfAE; - if (!strcmp(atname, "int")) - props = array_of_ints; - else if (!strcmp(atname, "dbref")) - props = array_of_dbrefs; - else if (!strcmp(atname, "float")) - props = array_of_doubles; - else if (!strcmp(atname, "ptr")) - props = array_of_ptrs; - else if (!strcmp(atname, "atom")) - props = array_of_atoms; - else if (!strcmp(atname, "char")) - props = array_of_chars; - else if (!strcmp(atname, "unsigned_char")) - props = array_of_uchars; - else if (!strcmp(atname, "term")) - props = array_of_terms; - else if (!strcmp(atname, "nb_term")) - props = array_of_nb_terms; - else { - Yap_Error(DOMAIN_ERROR_ARRAY_TYPE, tprops, "create static array"); - return (FALSE); + xarg *args = + Yap_ArgListToVector(tprops, create_array_defs, CREATE_ARRAY_NB_TERM, + DOMAIN_ERROR_CREATE_ARRAY_OPTION); + if (args == NULL) { + if (LOCAL_Error_TYPE != YAP_NO_ERROR) { + Yap_Error(LOCAL_Error_TYPE, tprops, NULL); } - } else { - Yap_Error(TYPE_ERROR_ATOM, tprops, "create static array"); - return (FALSE); + return false; } + if (args[CREATE_ARRAY_TYPE].used) { + tprops = args[CREATE_ARRAY_TYPE].tvalue; + { + char *atname = (char *)RepAtom(AtomOfTerm(tprops))->StrOfAE; + if (!strcmp(atname, "int")) + props = array_of_ints; + else if (!strcmp(atname, "dbref")) + props = array_of_dbrefs; + else if (!strcmp(atname, "float")) + props = array_of_doubles; + else if (!strcmp(atname, "ptr")) + props = array_of_ptrs; + else if (!strcmp(atname, "atom")) + props = array_of_atoms; + else if (!strcmp(atname, "char")) + props = array_of_chars; + else if (!strcmp(atname, "unsigned_char")) + props = array_of_uchars; + else if (!strcmp(atname, "term")) + props = array_of_terms; + else if (!strcmp(atname, "nb_term")) + props = array_of_nb_terms; + } + } + if (args[CREATE_ARRAY_ADDRESS].used) { + address = AddressOfTerm(args[CREATE_ARRAY_ADDRESS].tvalue); + } + if (args[CREATE_ARRAY_INT].used) + props = array_of_ints; + if (args[CREATE_ARRAY_DBREF].used) + props = array_of_dbrefs; + if (args[CREATE_ARRAY_FLOAT].used) + props = array_of_doubles; + if (args[CREATE_ARRAY_PTR].used) + props = array_of_ptrs; + if (args[CREATE_ARRAY_ATOM].used) + props = array_of_atoms; + if (args[CREATE_ARRAY_CHAR].used) + props = array_of_chars; + if (args[CREATE_ARRAY_UNSIGNED_CHAR].used) + props = array_of_uchars; + if (args[CREATE_ARRAY_TERM].used) + props = array_of_terms; + if (args[CREATE_ARRAY_NB_TERM].used) + props = array_of_nb_terms; - StaticArrayEntry *pp; + StaticArrayEntry *pp; if (IsVarTerm(t)) { Yap_Error(INSTANTIATION_ERROR, t, "create static array"); return (FALSE); @@ -1135,9 +1151,9 @@ xarg *args = app = (ArrayEntry *)pp; if (EndOfPAEntr(pp) || pp->ValueOfVE.ints == NULL) { - pp = CreateStaticArray(ae, size, props, NULL, pp PASS_REGS); + pp = CreateStaticArray(ae, size, props, address, pp PASS_REGS); if (pp == NULL || pp->ValueOfVE.ints == NULL) { - return TRUE; + return TRUE; } } else if (ArrayIsDynamic(app)) { if (IsVarTerm(app->ValueOfVE) && IsUnboundVar(&app->ValueOfVE)) { @@ -1146,24 +1162,25 @@ xarg *args = Yap_Error(PERMISSION_ERROR_CREATE_ARRAY, t, "cannot create static array over dynamic array"); } - } else { + } else { if (pp->ArrayType != props) { - Yap_Error(TYPE_ERROR_ATOM, t, "create static array %d/%d %d/%d", pp->ArrayEArity,size,pp->ArrayType,props); - pp = NULL; + Yap_Error(TYPE_ERROR_ATOM, t, "create static array %d/%d %d/%d", + pp->ArrayEArity, size, pp->ArrayType, props); + pp = NULL; } else { - AllocateStaticArraySpace(pp, props, pp->ValueOfVE.ints, size PASS_REGS); + AllocateStaticArraySpace(pp, props, pp->ValueOfVE.ints, size PASS_REGS); } } WRITE_UNLOCK(ae->ARWLock); - if (!pp) { + if (!pp) { return false; - } - return true; + } + return true; } return false; } -/// create a new vectir in a given name Name. If one exists, destroy prrexisting +/// create a new vector in a given name Name. If one exists, destroy prrexisting /// onr StaticArrayEntry *Yap_StaticVector(Atom Name, size_t size, static_array_types props) { diff --git a/C/errors.c b/C/errors.c index 9af5b7f5f..64be11bcd 100755 --- a/C/errors.c +++ b/C/errors.c @@ -86,7 +86,7 @@ static bool setErr(const char *q, yap_error_descriptor_t *i, Term t) { return false; } -#define query_key_b(k, ks, q, i) \ +#define query_key_b(k, ks, q, i) \ if (strcmp(ks, q) == 0) { \ return i->k ? TermTrue : TermFalse; \ } diff --git a/CMakeLists.txt b/CMakeLists.txt index fd269dd90..c6b97dd1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -782,7 +782,7 @@ option(WITH_LBFGS "interface with lbfgs" ON) if (WITH_LBFGS) -# add_subDIRECTORY(packages/yap-lbfgs) + add_subDIRECTORY(packages/yap-lbfgs) endif () diff --git a/library/matrix.yap b/library/matrix.yap index 9de723e8f..bfeb266d0 100644 --- a/library/matrix.yap +++ b/library/matrix.yap @@ -745,6 +745,11 @@ rhs(list(RHS), List) :- !, rhs(lists(RHS), List) :- !, rhs(RHS, X1), matrix_to_lists( X1, List ). +rhs('[]'([Args], floats(RHS)), Val) :- + integer(RHS), + integer(Args), + !, + get_float_from_address(RHS,Args,Val). rhs('[]'(Args, RHS), Val) :- !, rhs(RHS, X1), @@ -788,6 +793,11 @@ rhs(S, NS) :- set_lhs(V, R) :- var(V), !, V = R. set_lhs(V, R) :- number(V), !, V = R. +set_lhs('[]'([Args], floats(RHS)), Val) :- + !, + integer(RHS), + integer(Args), + set_float_from_address(RHS,Args,Val). set_lhs('[]'(Args, M), Val) :- matrix_dims( M, Dims, Bases), maplist( index(Range), Args, Dims, Bases, NArgs), diff --git a/library/matrix/matrix.c b/library/matrix/matrix.c index 74c71a566..5c06bdc8a 100644 --- a/library/matrix/matrix.c +++ b/library/matrix/matrix.c @@ -3244,6 +3244,30 @@ is_matrix(void) return TRUE; } + + +static YAP_Bool +get_float_from_address(void) +{ + YAP_Float *fp = (YAP_Float *)YAP_IntOfTerm(YAP_ARG1); + YAP_Int off = YAP_IntOfTerm(YAP_ARG2); + + return YAP_Unify(YAP_ARG3, YAP_MkFloatTerm(fp[off])); +} + +static YAP_Bool +set_float_from_address(void) +{ + YAP_Float *fp = (YAP_Float *)YAP_IntOfTerm(YAP_ARG1); + YAP_Int off = YAP_IntOfTerm(YAP_ARG2); + YAP_Float f = YAP_FloatOfTerm(YAP_ARG3 ); + + fp[off] = f; + + return true; +} + + X_API void init_matrix( void ); X_API void @@ -3302,7 +3326,9 @@ init_matrix(void) YAP_UserCPredicate("do_matrix_op_to_cols", matrix_op_to_cols, 4); YAP_UserCPredicate("matrix_m", matrix_m, 2); YAP_UserCPredicate("matrix", is_matrix, 1); -} + YAP_UserCPredicate("get_float_from_address",get_float_from_address , 3); + YAP_UserCPredicate("set_float_from_address",set_float_from_address , 3); + } #ifdef _WIN32 diff --git a/packages/ProbLog/problog/logger.yap b/packages/ProbLog/problog/logger.yap index 295e3fb3d..2311d46b3 100644 --- a/packages/ProbLog/problog/logger.yap +++ b/packages/ProbLog/problog/logger.yap @@ -244,7 +244,7 @@ logger_define_variable(Name,Type) :- -> write('redefining logger variable '),write(Name),write(' of type '), write(Type0), nl ; - throw(error(variable_redefined(logger_define_variable(Name,Type))) + throw(error(variable_redefined(logger_define_variable(Name,Type)))) ). logger_define_variable(Name,Type) :- ground(Type), diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index 7f61a3fb0..645bf069b 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -495,27 +495,14 @@ init_learning :- format_learning(1,'Initializing everything~n',[]), - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % Delete the BDDs from the previous run if they should - % not be reused - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - ( - ( - problog_flag(reuse_initialized_bdds,true), - problog_flag(rebuild_bdds,0) - ) - -> - true; - empty_bdd_directory - ), - + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Check, if continuous facts are used. % if yes, switch to problog_exact % continuous facts are not supported yet. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - problog_flag(continuous_facts, true), - !, + ( problog_flag(continuous_facts, true ) + -> problog_flag(init_method,(_,_,_,_,OldCall)), ( ( @@ -528,6 +515,9 @@ init_learning :- set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))) ); true + ) + ; + true ), ( @@ -622,10 +612,24 @@ init_one_query(QueryID,Query,Type) :- ( recorded(QueryID, _, _) -> - format_learning(3,' Reuse existing BDD ~q~n~n',[QueryID]); - ( + format_learning(3,' Reuse existing BDD ~q~n~n',[QueryID]) + ; b_setval(problog_required_keep_ground_ids,false), - problog_flag(libbdd_init_method,(Query,Bdd,Call)), + problog_flag(init_method,(Query,N,Bdd,graph2bdd(X,Y,N,Bdd))), + Query =.. [_,X,Y] + -> + Bdd = bdd(Dir, Tree, MapList), +% trace, + graph2bdd(X,Y,N,Bdd), + rb_new(H0), + maplist_to_hash(MapList, H0, Hash), + Tree \= [], + writeln(QueryID), + tree_to_grad(Tree, Hash, [], Grad), + recordz(QueryID,bdd(Dir, Grad, MapList),_) + ; + b_setval(problog_required_keep_ground_ids,false), + problog_flag(init_method,(Query,Bdd,Call)), Bdd = bdd(Dir, Tree, MapList), % trace, once(Call), @@ -635,7 +639,6 @@ init_one_query(QueryID,Query,Type) :- writeln(QueryID), tree_to_grad(Tree, Hash, [], Grad), recordz(QueryID,bdd(Dir, Grad, MapList),_) - ) ), %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % check wether this BDD is similar to another BDD @@ -1005,7 +1008,8 @@ inv_sigmoid(T,InvSig) :- %======================================================================== save_old_probabilities :- - problog_flag(continous_facts, true), + problog_flag(continous_facts, true), + !, forall(tunable_fact(FactID,_), ( continuous_fact(FactID) @@ -1025,9 +1029,19 @@ save_old_probabilities :- ) ). +save_old_probabilities :- + forall(tunable_fact(FactID,_), + ( + get_fact_probability(FactID,OldProbability), + atomic_concat(['old_prob_',FactID],Key), + bb_put(Key,OldProbability) + ) + ). forget_old_probabilities :- + problog_flag(continous_facts, true), + !, forall(tunable_fact(FactID,_), ( continuous_fact(FactID) @@ -1051,7 +1065,20 @@ forget_old_probabilities :- ) ). +forget_old_probabilities :- + forall(tunable_fact(FactID,_), + ( + atomic_concat(['old_prob_',FactID],Key), + atomic_concat(['grad_',FactID],Key2), + bb_delete(Key,_), + bb_delete(Key2,_) + ) + ). + + add_gradient(Learning_Rate) :- + problog_flag(continous_facts, true), + !, forall(tunable_fact(FactID,_), ( continuous_fact(FactID) @@ -1091,6 +1118,26 @@ add_gradient(Learning_Rate) :- ) ), retractall(values_correct). +add_gradient(Learning_Rate) :- + forall(tunable_fact(FactID,_), + ( + atomic_concat(['old_prob_',FactID],Key), + atomic_concat(['grad_',FactID],Key2), + + bb_get(Key,OldProbability), + bb_get(Key2,GradValue), + + inv_sigmoid(OldProbability,OldValue), + %writeln(FactID:OldValue +Learning_Rate*GradValue), + NewValue is OldValue +Learning_Rate*GradValue, + sigmoid(NewValue,NewProbability), + + % Prevent "inf" by using values too close to 1.0 + Prob_Secure is min(0.999999999,max(0.000000001,NewProbability)), + set_fact_probability(FactID,Prob_Secure) + ) + ), + retractall(values_correct). % vsc: avoid silly search @@ -1493,21 +1540,21 @@ init_flags :- problog_define_flag(rebuild_bdds, problog_flag_validate_nonegint, 'rebuild BDDs every nth iteration', 0, learning_general), problog_define_flag(reuse_initialized_bdds,problog_flag_validate_boolean, 'Reuse BDDs from previous runs',false, learning_general), problog_define_flag(check_duplicate_bdds,problog_flag_validate_boolean,'Store intermediate results in hash table',true,learning_general), - problog_define_flag(libbdd_init_method,problog_flag_validate_dummy,'ProbLog predicate to search proofs',(Query,Tree,problog:problog_kbest_as_bdd(Query,100,Tree)),learning_general,flags:learning_libdd_init_handler), + problog_define_flag(init_method,problog_flag_validate_dummy,'ProbLog predicate to search proofs',(Query,Tree,problog:problog_kbest_as_bdd(Query,100,Tree)),learning_general,flags:learning_libdd_init_handler), problog_define_flag(alpha,problog_flag_validate_number,'weight of negative examples (auto=n_p/n_n)',auto,learning_general,flags:auto_handler), problog_define_flag(sigmoid_slope,problog_flag_validate_posnumber,'slope of sigmoid function',1.0,learning_general), - problog_define_flag(continuous_facts,problog_flag_validate_boolean,'support parameter learning of continuous distributions',1.0,learning_general), - + % problog_define_flag(continuous_facts,problog_flag_validate_boolean,'support parameter learning of continuous distributions',1.0,learning_general), problog_define_flag(learning_rate,problog_flag_validate_posnumber,'Default learning rate (If line_search=false)',examples,learning_line_search,flags:examples_handler), problog_define_flag(line_search, problog_flag_validate_boolean,'estimate learning rate by line search',false,learning_line_search), problog_define_flag(line_search_never_stop, problog_flag_validate_boolean,'make tiny step if line search returns 0',true,learning_line_search), problog_define_flag(line_search_tau, problog_flag_validate_indomain_0_1_open,'tau value for line search',0.618033988749,learning_line_search), + writeln(1), problog_define_flag(line_search_tolerance,problog_flag_validate_posnumber,'tolerance value for line search',0.05,learning_line_search), problog_define_flag(line_search_interval, problog_flag_validate_dummy,'interval for line search',(0,100),learning_line_search,flags:linesearch_interval_handler). init_logger :- - logger_define_variable(iteration, int), + logger_define_variable(iteration, int), logger_define_variable(duration,time), logger_define_variable(mse_trainingset,float), logger_define_variable(mse_min_trainingset,float), @@ -1529,3 +1576,5 @@ init_logger :- :- initialization(init_flags). :- initialization(init_logger). + + diff --git a/packages/yap-lbfgs/ex1.pl b/packages/yap-lbfgs/ex1.pl index 1fe87598a..45731c13b 100644 --- a/packages/yap-lbfgs/ex1.pl +++ b/packages/yap-lbfgs/ex1.pl @@ -20,18 +20,20 @@ :- use_module(library(lbfgs)). +:- use_module(library(matrix)). + % This is the call back function which evaluates F and the gradient of F -evaluate(FX,_N,_Step, Args) :- - X0 <== Args[0], +evaluate(FX,X,G,_N,_Step) :- + X0 <== X[0], FX is sin(X0), G0 is cos(X0), - Args[0] <== G0. + G[0] <== G0. % This is the call back function which is invoked to report the progress % if the last argument is set to anywhting else than 0, the optimizer will % stop right now -progress(FX,X_Norm,G_Norm,Step,_N,Iteration,Ls,Args, 0) :- - X0 <== Args[0], +progress(FX,X,G,X_Norm,G_Norm,Step,_N,Iteration,Ls, 0) :- + X0 <== X[0], format('~d. Iteration : x0=~4f f(X)=~4f |X|=~4f |X\'|=~4f Step=~4f Ls=~4f~n', [Iteration,X0,FX,X_Norm,G_Norm,Step,Ls]). @@ -39,16 +41,16 @@ progress(FX,X_Norm,G_Norm,Step,_N,Iteration,Ls,Args, 0) :- demo :- format('Optimizing the function f(x0) = sin(x0)~n',[]), - optimizer_initialize(1,evaluate,progress), + optimizer_initialize(1,X,Status), StartX is random*10, format('We start the search at the random position x0=~5f~2n',[StartX]), - optimizer_set_x(0,StartX), + X[0] <== StartX, - optimizer_run(BestF,Status), - optimizer_get_x(0,BestX0), - optimizer_finalize, - format('~2nOptimization done~nWe found a minimum at f(~f)=~f~2nLBFGS Status=~w~n',[BestX0,BestF,Status]). + optimizer_run(Status, BestF, BestX0, O), + BestX0 <== X[0], + optimizer_finalize(Status), + format('~2nOptimization done~nWe found a minimum at f(~f)=~f~2nLBFGS Status=~w~n',[BestX0,BestF,O]). diff --git a/packages/yap-lbfgs/ex2.pl b/packages/yap-lbfgs/ex2.pl index a57433246..1a6e0f30d 100644 --- a/packages/yap-lbfgs/ex2.pl +++ b/packages/yap-lbfgs/ex2.pl @@ -18,45 +18,46 @@ % along with YAP-LBFGS. If not, see . :- use_module(library(lbfgs)). +:- use_module(library(matrix)). % This is the call back function which evaluates F and the gradient of F -evaluate(FX,_N,_Step) :- - optimizer_get_x(0,X0), - optimizer_get_x(1,X1), +evaluate(FX,X,G,_N,_Step) :- + X0 <== X[0], + X1 <== X[1], FX is (X0-2)*(X0-2) + (X1-1)*(X1-1), G0 is 2*(X0-2), - G1 is 2*(X1-1), - - optimizer_set_g(0,G0), - optimizer_set_g(1,G1). - + G1 is 2*(X1-2), + G[0] <== G0, + G[1] <== G1. + % This is the call back function which is invoked to report the progress -% if the last argument is set to anywhting else than 0, the optimizer will +% if the last argument is set to anything else than 0, the optimizer will % stop right now -progress(FX,X_Norm,G_Norm,Step,_N,Iteration,Ls,0) :- - optimizer_get_x(0,X0), - optimizer_get_x(1,X1), +progress(FX,X,_G,X_Norm,G_Norm,Step,_N,Iteration,Ls,0) :- + X0 <== X[0], + X1 <== X[1], format('~d. Iteration : (x0,x1)=(~4f,~4f) f(X)=~4f |X|=~4f |X\'|=~4f Step=~4f Ls=~4f~n',[Iteration,X0,X1,FX,X_Norm,G_Norm,Step,Ls]). demo :- format('Optimizing the function f(x0,x1) = (x0-2)^2 + (x1-1)^2~n',[]), - optimizer_initialize(2,evaluate,progress), + optimizer_initialize(2,X), StartX0 is random*1000-500, StartX1 is random*1000-500, format('We start the search at the random position (x0,x1)=(~5f,~5f)~2n',[StartX0,StartX1]), - optimizer_set_x(0,StartX0), - optimizer_set_x(1,StartX1), + X[0] <== StartX0, + X[1] <== StartX1, + optimizer_run(BestF,Status), - optimizer_get_x(0,BestX0), - optimizer_get_x(1,BestX1), + BestX0 <== X[0], + BestX1 <== X[1], optimizer_finalize, format('~2nOptimization done~nWe found a minimum at f(~f,~f)=~f~2nLBFGS Status=~w~n',[BestX0,BestX1,BestF,Status]). diff --git a/packages/yap-lbfgs/lbfgs.pl b/packages/yap-lbfgs/lbfgs.pl index f51ae0de8..14881398f 100644 --- a/packages/yap-lbfgs/lbfgs.pl +++ b/packages/yap-lbfgs/lbfgs.pl @@ -21,19 +21,13 @@ :- module(lbfgs,[optimizer_initialize/3, - optimizer_initialize/4, - optimizer_run/2, - optimizer_get_x/2, - optimizer_set_x/2, + optimizer_run/4, - optimizer_get_g/2, - optimizer_set_g/2, + optimizer_finalize/1, - optimizer_finalize/0, - - optimizer_set_parameter/2, - optimizer_get_parameter/2, - optimizer_parameters/0]). + optimizer_set_parameter/3, + optimizer_get_parameter/3, + optimizer_parameters/1]). % switch on all the checks to reduce bug searching time % :- yap_flag(unknown,error). @@ -156,57 +150,47 @@ yes :- load_foreign_files(['libLBFGS'],[],'init_lbfgs_predicates'). + /** @pred optimizer_initialize(+N,+Evaluate,+Progress) The same as before, except that the user module is the default value. Example ~~~~ -optimizer_initialize(1,evaluate,progress) +optimizer_initialize(1) ~~~~~ */ -optimizer_initialize(N,Call_Evaluate,Call_Progress) :- - optimizer_initialize(N,user,Call_Evaluate,Call_Progress). -optimizer_initialize(N,Module,Call_Evaluate,Call_Progress) :- - optimizer_finalize, - !, - optimizer_initialize(N,Module,Call_Evaluate,Call_Progress). -optimizer_initialize(N,Module,Call_Evaluate,Call_Progress) :- +optimizer_initialize(N,X,t(N,X,XO,Params)) :- \+ initialized, integer(N), N>0, % check whether there are such call back functions - current_module(Module), - current_predicate(Module:Call_Evaluate/3), - current_predicate(Module:Call_Progress/8), - optimizer_reserve_memory(N), + optimizer_reserve_memory(N,X,XO,Params), % install call back predicates in the user module which call % the predicates given by the arguments - EvalGoal =.. lbfgs_callback_evaluate(e(E1,E2,E3)), - ProgressGoal =.. [Call_Progress,P1,P2,P3,P4,P5,P6,P7,P8], - retractall( lbfgs_callback_evaluate(_Step ), - retractall( lbfgs_callback_progress(_P1,_P2,_P3,_P4,_P5,_P6,_P7,_P8) ), - assert( ( lbfgs_callback_evaluate(E1,E2,E3) :- Module:EvalGoal, !) ), - assert( ( lbfgs_callback_progress(P1,P2,P3,P4,P5,P6,P7,P8) :- Module:ProgressGoal, !) ), assert(initialized). /** @pred optimizer_finalize/0 Clean up the memory. */ -optimizer_finalize :- +optimizer_finalize(t(N,X,XO,Params)) :- initialized, - optimizer_free_memory, - retractall(user:'$lbfgs_callback_evaluate'(_,_,_)), - retractall(user:'$lbfgs_callback_progress'(_,_,_,_,_,_,_,_)), + optimizer_free_memory(X,XO,Params) , retractall(initialized). +/** @pred optimizer_run/3 +Do the work. +*/ +optimizer_run(t(N,X,XO,Params),FX,XO,Status) :- + optimizer_run(N,X, FX, XO, Status, Params). -/** @pred optimizer_parameters/0 + +/** @pred optimizer_parameters/1 Prints a table with the current parameters. See the documentation of libLBFGS for the meaning of each parameter. @@ -233,41 +217,41 @@ int orthantwise_end -1 End index for computing the L1 norm ========================================================================================== ~~~~ */ -optimizer_parameters :- - optimizer_get_parameter(m,M), - optimizer_get_parameter(epsilon,Epsilon), - optimizer_get_parameter(past,Past), - optimizer_get_parameter(delta,Delta), - optimizer_get_parameter(max_iterations,Max_Iterations), - optimizer_get_parameter(linesearch,Linesearch), - optimizer_get_parameter(max_linesearch,Max_Linesearch), - optimizer_get_parameter(min_step,Min_Step), - optimizer_get_parameter(max_step,Max_Step), - optimizer_get_parameter(ftol,Ftol), - optimizer_get_parameter(gtol,Gtol), - optimizer_get_parameter(xtol,Xtol), - optimizer_get_parameter(orthantwise_c,Orthantwise_C), - optimizer_get_parameter(orthantwise_start,Orthantwise_Start), - optimizer_get_parameter(orthantwise_end,Orthantwise_End), +optimizer_parameterse(t(X,XO,Params)) :- + optimizer_get_parameter(m,M ,Params), + optimizer_get_parameter(epsilon,Epsilon ,Params), + optimizer_get_parameter(past,Past ,Params), + optimizer_get_parameter(delta,Delta ,Params), + optimizer_get_parameter(max_iterations,Max_Iterations ,Params), + optimizer_get_parameter(linesearch,Linesearch ,Params), + optimizer_get_parameter(max_linesearch,Max_Linesearch ,Params), + optimizer_get_parameter(min_step,Min_Step ,Params), + optimizer_get_parameter(max_step,Max_Step ,Params), + optimizer_get_parameter(ftol,Ftol ,Params), + optimizer_get_parameter(gtol,Gtol ,Params), + optimizer_get_parameter(xtol,Xtol ,Params), + optimizer_get_parameter(orthantwise_c,Orthantwise_C ,Params), + optimizer_get_parameter(orthantwise_start,Orthantwise_Start ,Params), + optimizer_get_parameter(orthantwise_end,Orthantwise_End ,Params), - format('/******************************************************************************************~n',[]), - print_param('Name','Value','Description','Type'), - format('******************************************************************************************~n',[]), - print_param(m,M,'The number of corrections to approximate the inverse hessian matrix.',int), - print_param(epsilon,Epsilon,'Epsilon for convergence test.',float), - print_param(past,Past,'Distance for delta-based convergence test.',int), - print_param(delta,Delta,'Delta for convergence test.',float), - print_param(max_iterations,Max_Iterations,'The maximum number of iterations',int), - print_param(linesearch,Linesearch,'The line search algorithm.',int), - print_param(max_linesearch,Max_Linesearch,'The maximum number of trials for the line search.',int), - print_param(min_step,Min_Step,'The minimum step of the line search routine.',float), - print_param(max_step,Max_Step,'The maximum step of the line search.',float), - print_param(ftol,Ftol,'A parameter to control the accuracy of the line search routine.',float), - print_param(gtol,Gtol,'A parameter to control the accuracy of the line search routine.',float), - print_param(xtol,Xtol,'The machine precision for floating-point values.',float), - print_param(orthantwise_c,Orthantwise_C,'Coefficient for the L1 norm of variables',float), - print_param(orthantwise_start,Orthantwise_Start,'Start index for computing the L1 norm of the variables.',int), - print_param(orthantwise_end,Orthantwise_End,'End index for computing the L1 norm of the variables.',int), + format('/******************************************************************************************~n',[] ), + print_param('Name','Value','Description','Type' ,Params), + format('******************************************************************************************~n',[] ), + print_param(m,M,'The number of corrections to approximate the inverse hessian matrix.',int ,Params), + print_param(epsilon,Epsilon,'Epsilon for convergence test.',float ,Params), + print_param(past,Past,'Distance for delta-based convergence test.',int ,Params), + print_param(delta,Delta,'Delta for convergence test.',float ,Params), + print_param(max_iterations,Max_Iterations,'The maximum number of iterations',int ,Params), + print_param(linesearch,Linesearch,'The line search algorithm.',int ,Params), + print_param(max_linesearch,Max_Linesearch,'The maximum number of trials for the line search.',int ,Params), + print_param(min_step,Min_Step,'The minimum step of the line search routine.',float ,Params), + print_param(max_step,Max_Step,'The maximum step of the line search.',float ,Params), + print_param(ftol,Ftol,'A parameter to control the accuracy of the line search routine.',float ,Params), + print_param(gtol,Gtol,'A parameter to control the accuracy of the line search routine.',float ,Params), + print_param(xtol,Xtol,'The machine precision for floating-point values.',float ,Params), + print_param(orthantwise_c,Orthantwise_C,'Coefficient for the L1 norm of variables',float ,Params), + print_param(orthantwise_start,Orthantwise_Start,'Start index for computing the L1 norm of the variables.',int ,Params), + print_param(orthantwise_end,Orthantwise_End,'End index for computing the L1 norm of the variables.',int ,Params), format('******************************************************************************************/~n',[]), format(' use optimizer_set_paramater(Name,Value) to change parameters~n',[]), format(' use optimizer_get_parameter(Name,Value) to see current parameters~n',[]), diff --git a/packages/yap-lbfgs/liblbfgs-1.10/include/lbfgs.h b/packages/yap-lbfgs/liblbfgs-1.10/include/lbfgs.h index 2b4604f5d..24bf70bbe 100644 --- a/packages/yap-lbfgs/liblbfgs-1.10/include/lbfgs.h +++ b/packages/yap-lbfgs/liblbfgs-1.10/include/lbfgs.h @@ -493,7 +493,7 @@ int lbfgs( * * @param param The pointer to the parameter structure. */ -void lbfgs_parameter_init(lbfgs_parameter_t *param); +extern void lbfgs_parameter_init(lbfgs_parameter_t *param); /** * Allocate an array for variables. @@ -506,7 +506,7 @@ void lbfgs_parameter_init(lbfgs_parameter_t *param); * * @param n The number of variables. */ -lbfgsfloatval_t* lbfgs_malloc(int n); +extern lbfgsfloatval_t* lbfgs_malloc(int n); /** * Free an array of variables. @@ -514,7 +514,7 @@ lbfgsfloatval_t* lbfgs_malloc(int n); * @param x The array of variables allocated by ::lbfgs_malloc * function. */ -void lbfgs_free(lbfgsfloatval_t *x); +extern void lbfgs_free(lbfgsfloatval_t *x); /** @} */ diff --git a/packages/yap-lbfgs/yap_lbfgs.c b/packages/yap-lbfgs/yap_lbfgs.c index 5362dc6c9..800cf3791 100644 --- a/packages/yap-lbfgs/yap_lbfgs.c +++ b/packages/yap-lbfgs/yap_lbfgs.c @@ -32,13 +32,8 @@ X_API void init_lbfgs_predicates( void ) ; -int optimizer_status=OPTIMIZER_STATUS_NONE; // the internal state -int n; // the size of the parameter vector -lbfgsfloatval_t *x; // pointer to the parameter vector x[0],...,x[n-1] -lbfgsfloatval_t *g; // pointer to the gradient vector g[0],...,g[n-1] -lbfgs_parameter_t param; // the parameters used for lbfgs - -YAP_Functor fcall3, fprogress8; +YAP_Functor fevaluate, fprogress, fmodule, ffloats; +YAP_Term tuser; static lbfgsfloatval_t evaluate( void *instance, @@ -49,48 +44,61 @@ static lbfgsfloatval_t evaluate( ) { YAP_Term call; - YAP_Term a1; + YAP_Term v, a1; YAP_Bool result; YAP_Int s1; - YAP_Term t[4]; + YAP_Term t[5], t2[2]; - t[0] = YAP_MkVarTerm(); - t[1] = YAP_MkIntTerm(n); - t[2] = YAP_MkFloatTerm(step); + t[0] = v = YAP_MkVarTerm(); + t[1] = YAP_MkIntTerm((YAP_Int)x); + t[1] = YAP_MkApplTerm(ffloats, 1, t+1); + t[2] = YAP_MkIntTerm((YAP_Int)g_tmp); + t[2] = YAP_MkApplTerm(ffloats, 1, t+2); + t[3] = YAP_MkIntTerm(n); + t[4] = YAP_MkFloatTerm(step); - call = YAP_MkApplTerm(fcall3, 4, t); - g=g_tmp; + t2[0] = tuser; + t2[1] = YAP_MkApplTerm(fevaluate, 5, t); - s1 = YAP_InitSlot(call); - optimizer_status=OPTIMIZER_STATUS_CB_EVAL; - result=YAP_CallProlog(call); - optimizer_status=OPTIMIZER_STATUS_RUNNING; + call = YAP_MkApplTerm( fmodule, 2, t2 ); + + + s1 = YAP_InitSlot(v); + //optimizer_status=OPTIMIZER_STATUS_CB_EVAL; + result=YAP_RunGoal(call); + //optimizer_status=OPTIMIZER_STATUS_RUNNING; if (result==FALSE) { printf("ERROR: the evaluate call failed in YAP.\n"); // Goal did not succeed - return FALSE; + YAP_ShutdownGoal( TRUE ); + return FALSE; } - call = YAP_GetFromSlot( s1 ); + a1 = YAP_GetFromSlot( s1 ); - a1 = YAP_ArgOfTerm(1,call); + lbfgsfloatval_t rc; if (YAP_IsFloatTerm(a1)) { - return (lbfgsfloatval_t) YAP_FloatOfTerm(a1); + rc = (lbfgsfloatval_t) YAP_FloatOfTerm(a1); } else if (YAP_IsIntTerm(a1)) { - return (lbfgsfloatval_t) YAP_IntOfTerm(a1); + rc = (lbfgsfloatval_t) YAP_IntOfTerm(a1); + } else { + fprintf(stderr, "ERROR: The evaluate call back function did not return a number as first argument.\n"); + rc = false; + } - fprintf(stderr, "ERROR: The evaluate call back function did not return a number as first argument.\n"); - return 0; + YAP_ShutdownGoal( TRUE ); + return rc; } static int progress( void *instance, const lbfgsfloatval_t *local_x, const lbfgsfloatval_t *local_g, + const lbfgsfloatval_t fx, const lbfgsfloatval_t xnorm, const lbfgsfloatval_t gnorm, @@ -104,33 +112,43 @@ static int progress( YAP_Bool result; YAP_Int s1; - YAP_Term t[8]; + YAP_Term t[9],t2[2], v; t[0] = YAP_MkFloatTerm(fx); - t[1] = YAP_MkFloatTerm(xnorm); - t[2] = YAP_MkFloatTerm(gnorm); - t[3] = YAP_MkFloatTerm(step); - t[4] = YAP_MkIntTerm(n); - t[5] = YAP_MkIntTerm(k); - t[6] = YAP_MkIntTerm(ls); - t[7] = YAP_MkVarTerm(); + t[1] = YAP_MkIntTerm((YAP_Int)local_x); + t[1] = YAP_MkApplTerm(ffloats, 1, t+1); + t[2] = YAP_MkIntTerm((YAP_Int)local_g); + t[2] = YAP_MkApplTerm(ffloats, 1, t+2); + t[3] = YAP_MkFloatTerm(xnorm); + t[4] = YAP_MkFloatTerm(gnorm); + t[5] = YAP_MkFloatTerm(step); + t[6] = YAP_MkIntTerm(n); + t[7] = YAP_MkIntTerm(k); + t[8] = YAP_MkIntTerm(ls); + t[9] = v = YAP_MkVarTerm(); - call = YAP_MkApplTerm( fprogress8, 8, t); - s1 = YAP_InitSlot(call); + t2[0] = tuser; + t2[1] = YAP_MkApplTerm( fprogress, 10, t); - optimizer_status=OPTIMIZER_STATUS_CB_PROGRESS; - result=YAP_CallProlog(call); - optimizer_status=OPTIMIZER_STATUS_RUNNING; + call = YAP_MkApplTerm( fmodule, 2, t2 ); + s1 = YAP_InitSlot(v); - call = YAP_GetFromSlot( s1 ); + //optimizer_status=OPTIMIZER_STATUS_CB_PROGRESS; + result=YAP_RunGoal(call); + //optimizer_status=OPTIMIZER_STATUS_RUNNING; + + YAP_Term o = YAP_GetFromSlot( s1 ); if (result==FALSE) { printf("ERROR: the progress call failed in YAP.\n"); // Goal did not succeed - return FALSE; + YAP_ShutdownGoal( TRUE ); + return -1; } - if (YAP_IsIntTerm(YAP_ArgOfTerm(8,call))) { - return YAP_IntOfTerm(YAP_ArgOfTerm(8,call)); + if (YAP_IsIntTerm(o)) { + int v = YAP_IntOfTerm(o); + //YAP_ShutdownGoal( TRUE ); + return (int)v; } YAP_ShutdownGoal( TRUE ); @@ -138,138 +156,6 @@ static int progress( return 1; } -/** @pred optimizer_set_x(+I,+X) -Set the current value for `x[I]`. Only possible when the optimizer is -initialized but not running. -*/ -static YAP_Bool set_x_value(void) { - YAP_Term t1=YAP_ARG1; - YAP_Term t2=YAP_ARG2; - int i=0; - - if (optimizer_status!=OPTIMIZER_STATUS_INITIALIZED) { - printf("ERROR: set_x_value/2 can be called only when the optimizer is initialized and not running.\n"); - return FALSE; - } - - if (YAP_IsIntTerm(t1)) { - i=YAP_IntOfTerm(t1); - } else { - return FALSE; - } - - if (i<0 || i>=n) { - printf("ERROR: invalid index for set_x_value/2.\n"); - return FALSE; - } - - if (YAP_IsFloatTerm(t2)) { - x[i]=(lbfgsfloatval_t) YAP_FloatOfTerm(t2); - } else if (YAP_IsIntTerm(t2)) { - x[i]=(lbfgsfloatval_t) YAP_IntOfTerm(t2); - } else { - return false; - } - - - return TRUE; -} - -/** @pred optimizer_get_x(+I,-X) -Get the current value for `x[I]`. Only possible when the optimizer is -initialized or running. -*/ -static YAP_Bool get_x_value(void) { - YAP_Term t1=YAP_ARG1; - YAP_Term t2=YAP_ARG2; - int i=0; - - if (optimizer_status==OPTIMIZER_STATUS_NONE) { - printf("ERROR: set_x_value/2 can be called only when the optimizer is initialized.\n"); - return FALSE; - } - - if (YAP_IsIntTerm(t1)) { - i=YAP_IntOfTerm(t1); - } else { - return FALSE; - } - - if (i<0 || i>=n) { - printf("ERROR: invalid index for set_x_value/2.\n"); - return FALSE; - } - - return YAP_Unify(t2,YAP_MkFloatTerm(x[i])); -} - - - - -/** @pred optimizer_set_g(+I,+G) Set the current value for `g[I]` (the -partial derivative of _F_ with respect to `x[I]`). Can only be called -from the evaluate call back predicate. -*/ -static YAP_Bool set_g_value(void) { - YAP_Term t1=YAP_ARG1; - YAP_Term t2=YAP_ARG2; - int i=0; - - if (optimizer_status != OPTIMIZER_STATUS_CB_EVAL) { - printf("ERROR: optimizer_set_g/2 can only be called by the evaluation call back function.\n"); - return FALSE; - } - - if (YAP_IsIntTerm(t1)) { - i=YAP_IntOfTerm(t1); - } else { - return FALSE; - } - - if (i<0 || i>=n) { - return FALSE; - } - - - if (YAP_IsFloatTerm(t2)) { - g[i]=(lbfgsfloatval_t) YAP_FloatOfTerm(t2); - } else if (YAP_IsIntTerm(t2)) { - g[i]=(lbfgsfloatval_t) YAP_IntOfTerm(t2); - } else { - return FALSE; - } - - - return TRUE; -} - -/** @pred optimizer_get_g(+I,-G) -Get the current value for `g[I]` (the partial derivative of _F_ with respect to `x[I]`). Only possible when the optimizer is -initialized or running. -*/ -static YAP_Bool get_g_value(void) { - YAP_Term t1=YAP_ARG1; - YAP_Term t2=YAP_ARG2; - int i=0; - - if (optimizer_status != OPTIMIZER_STATUS_RUNNING && optimizer_status != OPTIMIZER_STATUS_CB_EVAL && optimizer_status != OPTIMIZER_STATUS_CB_PROGRESS) { - printf("ERROR: optimizer_get_g/2 can only be called while the optimizer is running.\n"); - return FALSE; - } - - if (YAP_IsIntTerm(t1)) { - i=YAP_IntOfTerm(t1); - } else { - return FALSE; - } - - if (i<0 || i>=n) { - return FALSE; - } - - return YAP_Unify(t2,YAP_MkFloatTerm(g[i])); -} - /** @pred optimizer_initialize(+N,+Module,+Evaluate,+Progress) Create space to optimize a function with _N_ variables (_N_ has to be integer). @@ -285,7 +171,7 @@ to evaluate the function math _F_, Example ~~~~ -optimizer_initialize(1,user,evaluate,progress) +optimizer_initialize(1,user,evaluate,progress,e,g) ~~~~ @@ -314,11 +200,8 @@ value will terminate the optimization process. static YAP_Bool optimizer_initialize(void) { YAP_Term t1 = YAP_ARG1; int temp_n=0; - - if (optimizer_status!=OPTIMIZER_STATUS_NONE) { - printf("ERROR: Optimizer has already been initialized. Please call optimizer_finalize/0 first.\n"); - return FALSE; - } + lbfgsfloatval_t *temp_x, *temp_ox; + lbfgs_parameter_t *temp_p; if (! YAP_IsIntTerm(t1)) { @@ -331,18 +214,18 @@ static YAP_Bool optimizer_initialize(void) { return FALSE; } - x = lbfgs_malloc(temp_n); + temp_n = 16*(temp_n/16+15); + lbfgs_parameter_init((temp_p=(lbfgs_parameter_t *)malloc(sizeof(lbfgs_parameter_t)))); + temp_ox = lbfgs_malloc(temp_n); + YAP_Term tox = YAP_MkIntTerm((YAP_Int)temp_ox); + temp_x = lbfgs_malloc(temp_n); + YAP_Term tx = YAP_MkIntTerm((YAP_Int)temp_x); + tx = YAP_MkApplTerm(ffloats, 1, &tx); + tox = YAP_MkApplTerm(ffloats, 1, &tox); + YAP_Term tp = YAP_MkIntTerm((YAP_Int)temp_p); - if (x == NULL) { - printf("ERROR: Failed to allocate a memory block for variables.\n"); - return FALSE; - } - - n=temp_n; - - optimizer_status=OPTIMIZER_STATUS_INITIALIZED; - - return TRUE; + + return YAP_Unify(YAP_ARG2,tx) && YAP_Unify(YAP_ARG3,tox) && YAP_Unify(YAP_ARG4,tp) ; } @@ -355,75 +238,54 @@ meaning. */ static YAP_Bool optimizer_run(void) { int ret = 0; - YAP_Term t1 = YAP_ARG1; + int n = YAP_IntOfTerm(YAP_ARG1); YAP_Term t2 = YAP_ARG2; YAP_Int s1, s2; lbfgsfloatval_t fx; - lbfgsfloatval_t * tmp_x=x; + lbfgsfloatval_t *temp_x = ( lbfgsfloatval_t *) YAP_IntOfTerm(YAP_ARG2), + *temp_ox = ( lbfgsfloatval_t *) YAP_IntOfTerm(YAP_ARG4); + lbfgs_parameter_t *temp_p = (lbfgs_parameter_t * ) YAP_IntOfTerm(YAP_ARG6); - if (optimizer_status == OPTIMIZER_STATUS_NONE) { - printf("ERROR: Memory for parameter vector not initialized, please call optimizer_initialize/1 first.\n"); - return FALSE; - } + //optimizer_status = OPTIMIZER_STATUS_RUNNING; + ret = lbfgs(n, temp_x, &fx, evaluate, progress, temp_ox, temp_p); - if (optimizer_status != OPTIMIZER_STATUS_INITIALIZED) { - printf("ERROR: Optimizer is running right now. Please wait till it is finished.\n"); - return FALSE; - } - - - // both arguments have to be variables - if (! YAP_IsVarTerm(t1) || ! YAP_IsVarTerm(t2)) { - return FALSE; - } - s1 = YAP_InitSlot(t1); - s2 = YAP_InitSlot(t2); - optimizer_status = OPTIMIZER_STATUS_RUNNING; - ret = lbfgs(n, x, &fx, evaluate, progress, NULL, ¶m); - x=tmp_x; - optimizer_status = OPTIMIZER_STATUS_INITIALIZED; - - YAP_Unify(YAP_GetFromSlot(s1),YAP_MkFloatTerm(fx)); - YAP_Unify(YAP_GetFromSlot(s2),YAP_MkIntTerm(ret)); - - return TRUE; + return YAP_Unify(YAP_MkIntTerm(ret), YAP_ARG5); } static YAP_Bool optimizer_finalize( void ) { - if (optimizer_status == OPTIMIZER_STATUS_NONE) { - printf("Error: Optimizer is not initialized.\n"); - return FALSE; - } + /* if (optimizer_status == OPTIMIZER_STATUS_NONE) { */ + /* printf("Error: Optimizer is not initialized.\n"); */ + /* return FALSE; */ + /* } */ - if (optimizer_status == OPTIMIZER_STATUS_INITIALIZED) { - lbfgs_free(x); - x=NULL; - n=0; - optimizer_status = OPTIMIZER_STATUS_NONE; + /* if (optimizer_status == OPTIMIZER_STATUS_INITIALIZED) { */ + lbfgs_free((void *)YAP_IntOfTerm(YAP_ArgOfTerm(1,YAP_ARG1))); + lbfgs_free((void *)YAP_IntOfTerm(YAP_ArgOfTerm(1,YAP_ARG2))); + lbfgs_free((void *)YAP_IntOfTerm(YAP_ARG3)); return TRUE; - } + /* } */ - printf("ERROR: Optimizer is running right now. Please wait till it is finished.\n"); - return FALSE; + /* printf("ERROR: Optimizer is running right now. Please wait till it is finished.\n"); */ + /* return FALSE; */ } -/** @pred optimizer_set_parameter(+Name,+Value) +/** @pred optimizer_set_parameter(+Name,+Value,+Parameters) Set the parameter Name to Value. Only possible while the optimizer is not running. */ static YAP_Bool optimizer_set_parameter( void ) { YAP_Term t1 = YAP_ARG1; YAP_Term t2 = YAP_ARG2; - - if (optimizer_status != OPTIMIZER_STATUS_NONE && optimizer_status != OPTIMIZER_STATUS_INITIALIZED){ - printf("ERROR: Optimizer is running right now. Please wait till it is finished.\n"); - return FALSE; - } + lbfgs_parameter_t *param = (lbfgs_parameter_t *) YAP_IntOfTerm(YAP_ARG3); + /* if (optimizer_status != OPTIMIZER_STATUS_NONE && optimizer_status != OPTIMIZER_STATUS_INITIALIZED){ */ + /* printf("ERROR: Optimizer is running right now. Please wait till it is finished.\n"); */ + /* return FALSE; */ + /* } */ if (! YAP_IsAtomTerm(t1)) { @@ -436,7 +298,7 @@ static YAP_Bool optimizer_set_parameter( void ) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.m = YAP_IntOfTerm(t2); + param->m = YAP_IntOfTerm(t2); } else if ((strcmp(name, "epsilon") == 0)) { lbfgsfloatval_t v; @@ -448,12 +310,12 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.epsilon=v; + param->epsilon=v; } else if ((strcmp(name, "past") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.past = YAP_IntOfTerm(t2); + param->past = YAP_IntOfTerm(t2); } else if ((strcmp(name, "delta") == 0)) { lbfgsfloatval_t v; @@ -465,22 +327,22 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.delta=v; + param->delta=v; } else if ((strcmp(name, "max_iterations") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.max_iterations = YAP_IntOfTerm(t2); + param->max_iterations = YAP_IntOfTerm(t2); } else if ((strcmp(name, "linesearch") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.linesearch = YAP_IntOfTerm(t2); + param->linesearch = YAP_IntOfTerm(t2); } else if ((strcmp(name, "max_linesearch") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.max_linesearch = YAP_IntOfTerm(t2); + param->max_linesearch = YAP_IntOfTerm(t2); } else if ((strcmp(name, "min_step") == 0)) { lbfgsfloatval_t v; @@ -492,7 +354,7 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.min_step=v; + param->min_step=v; } else if ((strcmp(name, "max_step") == 0)) { lbfgsfloatval_t v; @@ -504,7 +366,7 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.max_step=v; + param->max_step=v; } else if ((strcmp(name, "ftol") == 0)) { lbfgsfloatval_t v; @@ -516,7 +378,7 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.ftol=v; + param->ftol=v; } else if ((strcmp(name, "gtol") == 0)) { lbfgsfloatval_t v; @@ -528,7 +390,7 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.gtol=v; + param->gtol=v; } else if ((strcmp(name, "xtol") == 0)) { lbfgsfloatval_t v; @@ -540,7 +402,7 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.xtol=v; + param->xtol=v; } else if ((strcmp(name, "orthantwise_c") == 0)) { lbfgsfloatval_t v; @@ -552,17 +414,17 @@ static YAP_Bool optimizer_set_parameter( void ) { return FALSE; } - param.orthantwise_c=v; + param->orthantwise_c=v; } else if ((strcmp(name, "orthantwise_start") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.orthantwise_start = YAP_IntOfTerm(t2); + param->orthantwise_start = YAP_IntOfTerm(t2); } else if ((strcmp(name, "orthantwise_end") == 0)) { if (! YAP_IsIntTerm(t2)) { return FALSE; } - param.orthantwise_end = YAP_IntOfTerm(t2); + param->orthantwise_end = YAP_IntOfTerm(t2); } else { printf("ERROR: The parameter %s is unknown.\n",name); return FALSE; @@ -579,6 +441,7 @@ Get the current Value for Name static YAP_Bool optimizer_get_parameter( void ) { YAP_Term t1 = YAP_ARG1; YAP_Term t2 = YAP_ARG2; + lbfgs_parameter_t *param = (lbfgs_parameter_t *) YAP_IntOfTerm(YAP_ARG3); if (! YAP_IsAtomTerm(t1)) { return FALSE; @@ -587,35 +450,35 @@ static YAP_Bool optimizer_get_parameter( void ) { const char* name=YAP_AtomName(YAP_AtomOfTerm(t1)); if ((strcmp(name, "m") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.m)); + return YAP_Unify(t2,YAP_MkIntTerm(param->m)); } else if ((strcmp(name, "epsilon") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.epsilon)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->epsilon)); } else if ((strcmp(name, "past") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.past)); + return YAP_Unify(t2,YAP_MkIntTerm(param->past)); } else if ((strcmp(name, "delta") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.delta)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->delta)); } else if ((strcmp(name, "max_iterations") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.max_iterations)); + return YAP_Unify(t2,YAP_MkIntTerm(param->max_iterations)); } else if ((strcmp(name, "linesearch") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.linesearch)); + return YAP_Unify(t2,YAP_MkIntTerm(param->linesearch)); } else if ((strcmp(name, "max_linesearch") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.max_linesearch)); + return YAP_Unify(t2,YAP_MkIntTerm(param->max_linesearch)); } else if ((strcmp(name, "min_step") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.min_step)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->min_step)); } else if ((strcmp(name, "max_step") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.max_step)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->max_step)); } else if ((strcmp(name, "ftol") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.ftol)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->ftol)); } else if ((strcmp(name, "gtol") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.gtol)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->gtol)); } else if ((strcmp(name, "xtol") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.xtol)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->xtol)); } else if ((strcmp(name, "orthantwise_c") == 0)) { - return YAP_Unify(t2,YAP_MkFloatTerm(param.orthantwise_c)); + return YAP_Unify(t2,YAP_MkFloatTerm(param->orthantwise_c)); } else if ((strcmp(name, "orthantwise_start") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.orthantwise_start)); + return YAP_Unify(t2,YAP_MkIntTerm(param->orthantwise_start)); } else if ((strcmp(name, "orthantwise_end") == 0)) { - return YAP_Unify(t2,YAP_MkIntTerm(param.orthantwise_end)); + return YAP_Unify(t2,YAP_MkIntTerm(param->orthantwise_end)); } printf("ERROR: The parameter %s is unknown.\n",name); @@ -628,22 +491,20 @@ static YAP_Bool optimizer_get_parameter( void ) { X_API void init_lbfgs_predicates( void ) { - fcall3 = YAP_MkFunctor(YAP_LookupAtom("$lbfgs_callback_evaluate"), 3); - fprogress8 = YAP_MkFunctor(YAP_LookupAtom("$lbfgs_callback_progress"), 8); + fevaluate = YAP_MkFunctor(YAP_LookupAtom("evaluate"), 5); + fprogress = YAP_MkFunctor(YAP_LookupAtom("progress"), 10); + fmodule = YAP_MkFunctor(YAP_LookupAtom(":"), 2); + ffloats = YAP_MkFunctor(YAP_LookupAtom("floats"), 1); + tuser = YAP_MkAtomTerm(YAP_LookupAtom("user")); //Initialize the parameters for the L-BFGS optimization. - lbfgs_parameter_init(¶m); + // lbfgs_parameter_init(¶m); - YAP_UserCPredicate("optimizer_reserve_memory",optimizer_initialize,1); - YAP_UserCPredicate("optimizer_run",optimizer_run,2); - YAP_UserCPredicate("optimizer_free_memory",optimizer_finalize,0); + YAP_UserCPredicate("optimizer_reserve_memory",optimizer_initialize,4); + YAP_UserCPredicate("optimizer_run",optimizer_run,6); + YAP_UserCPredicate("optimizer_free_memory",optimizer_finalize,3); - YAP_UserCPredicate("optimizer_set_x",set_x_value,2); - YAP_UserCPredicate("optimizer_get_x",get_x_value,2); - YAP_UserCPredicate("optimizer_set_g",set_g_value,2); - YAP_UserCPredicate("optimizer_get_g",get_g_value,2); - - YAP_UserCPredicate("optimizer_set_parameter",optimizer_set_parameter,2); - YAP_UserCPredicate("optimizer_get_parameter",optimizer_get_parameter,2); + YAP_UserCPredicate("optimizer_set_parameter",optimizer_set_parameter,3); + YAP_UserCPredicate("optimizer_get_parameter",optimizer_get_parameter,3); } From 290ee932ed6205d98c7e3cc1d83d1dac8958d712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 13 Sep 2018 17:08:26 +0100 Subject: [PATCH 46/57] problog --- packages/ProbLog/problog_learning_lbdd.yap | 11 ++++++++--- pl/dbload.yap | 5 +++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index 1c7193fbc..2f6860d4d 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -549,7 +549,8 @@ init_learning :- ( (user:example(_,_,P,_),P<1,P>0) -> - set_problog_flag(alpha,1.0); + set_problog_flag(alpha,1.0) + ; ( succeeds_n_times((user:example(_,_,P,=),P=:=1.0),Pos_Count), succeeds_n_times((user:example(_,_,P,=),P=:=0.0),Neg_Count), @@ -557,6 +558,8 @@ init_learning :- set_problog_flag(alpha,Alpha) ) ) + ; + true ), %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -592,6 +595,9 @@ set_default_gradient_method :- !, format_learning(2,'Theory uses tabling.~nWill use problog_exact/3 as initalization method.~2n',[]), set_problog_flag(init_method,(Query,Probability,BDDFile,ProbFile,problog_exact_save(Query,Probability,_Status,BDDFile,ProbFile))). +set_default_gradient_method :- + problog_flag(init_method,(gene(X,Y),N,Bdd,graph2bdd(X,Y,N,Bdd))), + !. set_default_gradient_method :- set_problog_flag(init_method,(Query,1,BDD, problog_kbest_as_bdd(user:Query,1,BDD))). @@ -618,6 +624,7 @@ init_one_query(QueryID,Query,Type) :- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % if BDD file does not exist, call ProbLog %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + trace, ( recorded(QueryID, _, _) -> @@ -628,7 +635,6 @@ init_one_query(QueryID,Query,Type) :- Query =.. [_,X,Y] -> Bdd = bdd(Dir, Tree, MapList), -% trace, graph2bdd(X,Y,N,Bdd), rb_new(H0), maplist_to_hash(MapList, H0, Hash), @@ -651,7 +657,6 @@ init_one_query(QueryID,Query,Type) :- writeln(QueryID), tree_to_grad(Tree, Hash, [], Grad), recordz(QueryID,bdd(Dir, Grad, MapList),_) - ) ). init_one_query(_QueryID,_Query,_Type) :- throw(unsupported_init_method). diff --git a/pl/dbload.yap b/pl/dbload.yap index 45a8e201e..c4e648a1e 100644 --- a/pl/dbload.yap +++ b/pl/dbload.yap @@ -54,6 +54,7 @@ load_mega_clause( Stream ) :- */ prolog:load_db(Fs) :- '$current_module'(M0), + retractall(dbloading(_Na,_Arity,_M,_T,_NaAr,_)), prolog_flag(agc_margin,Old,0), dbload(Fs,M0,load_db(Fs)), load_facts, @@ -76,7 +77,7 @@ dbload(F, _, G) :- '$do_error'(type_error(atom,F),G). do_dbload(F0, M0, G) :- - '$full_filename'(F0, F, G), + '$full_filename'(F0, F), assert(dbprocess(F, M0)), open(F, read, R), check_dbload_stream(R, M0), @@ -92,7 +93,7 @@ check_dbload_stream(R, M0) :- ). dbload_count(T0, M0) :- - get_module(T0,M0,T,M), + gemodule(T0,M0,T,M), functor(T,Na,Arity), % dbload_check_term(T), ( From f8d0703983c354f0ba85b111eef3207ec0f1357d Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 14 Sep 2018 11:28:24 +0100 Subject: [PATCH 47/57] fixes --- C/tracer.c | 6 +++++- os/fmem.c | 4 +--- packages/python/py2pl.c | 3 +++ packages/python/py4yap.h | 1 + packages/python/pypreds.c | 19 +++++++++++++++++++ packages/python/python.c | 2 ++ packages/python/python.pl | 1 + packages/yap-lbfgs/CMakeLists.txt | 4 +++- packages/yap-lbfgs/ex1.pl | 3 ++- packages/yap-lbfgs/yap_lbfgs.c | 10 ++++------ pl/consult.yap | 2 +- pl/messages.yap | 9 ++++----- 12 files changed, 46 insertions(+), 18 deletions(-) diff --git a/C/tracer.c b/C/tracer.c index c4de2fb23..38bd6e2a1 100644 --- a/C/tracer.c +++ b/C/tracer.c @@ -91,15 +91,19 @@ static char *send_tracer_message(char *start, char *name, arity_t arity, Quote_illegal_f | Handle_vars_f); size_t sz; if (sn == NULL) { - sn = "<* error *>"; + sn = malloc(strlen("<* error *>")+1); + strcpy((char*)sn, "<* error *>"); } sz = strlen(sn); if (max <= sz) { min = sz + 1024; expand = true; + free((void*)sn); continue; } strcpy(s, sn); + free((void*)sn); + sn = NULL; s += sz; max -= sz; } diff --git a/os/fmem.c b/os/fmem.c index e2e586f67..faebfb81e 100644 --- a/os/fmem.c +++ b/os/fmem.c @@ -204,8 +204,6 @@ int Yap_open_buf_write_stream(encoding_t enc, memBufSource src) { st = GLOBAL_Stream + sno; st->status = Output_Stream_f | InMemory_Stream_f; - if (src) - st->status |= FreeOnClose_Stream_f; st->linepos = 0; st->charcount = 0; st->linecount = 1; @@ -269,7 +267,7 @@ FILE *f = GLOBAL_Stream[sno].file; memcpy(buf, s, len); // s[fseek(GLOBAL_Stream[sno].file, 0, SEEK_END)] = '\0'; #else - fread(buf, sz, 1, GLOBAL_Stream[sno].file); + fread(buf, len, 1, GLOBAL_Stream[sno].file); #endif buf[len] = '\0'; return buf; diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 4e85b6ab5..7193c28a0 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -90,7 +90,10 @@ else if (PyUnicode_Check(pVal)) { rc = rc && PL_unify_atom_chars(t, s); else #endif + if (pyStringToString) return MkStringTerm(s); + else + return MkAtomTerm(Yap_LookupAtom(s)); } else if (PyByteArray_Check(pVal)) { return MkStringTerm(PyByteArray_AsString(pVal)); diff --git a/packages/python/py4yap.h b/packages/python/py4yap.h index 280b9e1e8..79c29543a 100644 --- a/packages/python/py4yap.h +++ b/packages/python/py4yap.h @@ -93,6 +93,7 @@ extern PyObject *py_Sys; #define py_Builtin PyEval_GetBuiltins() extern X_API bool python_in_python; +extern bool pyStringToString; extern bool python_release_GIL(term_t gstate); extern term_t python_acquire_GIL(void); diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index b6121dde2..292e223e3 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -231,6 +231,24 @@ static foreign_t assign_python(term_t exp, term_t name) { pyErrorAndReturn(b); } + +static foreign_t python_string_to(term_t f) { + if (PL_is_atom(f)) { + char *s = NULL; + if (!PL_get_chars(f, &s, CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { + pyErrorAndReturn(false); + } + if (!strcmp(s,"atom")) + pyStringToString = false; + if (!strcmp(s,"string")) + pyStringToString = true; + else + return false; + return true; + } + return true; +} + static foreign_t python_builtin_eval(term_t caller, term_t dict, term_t out) { PyErr_Clear(); PyObject *pI, *pArgs, *pOut; @@ -759,6 +777,7 @@ install_t install_pypreds(void) { PL_register_foreign("python_access", 3, python_access, 0); PL_register_foreign("python_threaded", 0, p_python_threaded, 0); PL_register_foreign("python_clear_errors", 0, python_clear_errors, 0); + PL_register_foreign("python_string_to", 0, python_string_to, 1); init_python_vfs(); } diff --git a/packages/python/python.c b/packages/python/python.c index 5c287a36e..ca176ebb5 100644 --- a/packages/python/python.c +++ b/packages/python/python.c @@ -28,6 +28,8 @@ PyObject *py_Context; X_API PyObject *Py_f2p; +bool pyStringToString; + extern X_API bool python_in_python; static void add_modules(void) { diff --git a/packages/python/python.pl b/packages/python/python.pl index db4082ee7..7cf3cc275 100644 --- a/packages/python/python.pl +++ b/packages/python/python.pl @@ -28,6 +28,7 @@ array_to_python_tuple/4, array_to_python_view/5, python/2, + python_string_to/1, acquire_GIL/0, release_GIL/0, python_threaded/0, diff --git a/packages/yap-lbfgs/CMakeLists.txt b/packages/yap-lbfgs/CMakeLists.txt index d36147063..de3695233 100644 --- a/packages/yap-lbfgs/CMakeLists.txt +++ b/packages/yap-lbfgs/CMakeLists.txt @@ -20,9 +20,11 @@ ENDIF (NOT YAP_FOUND) ) + SET ( LBFGS_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_ansi.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_double.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_float.h ) + SET ( LBFGS_SOURCES - ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_ansi.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_double.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/arithmetic_sse_float.h ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/lbfgs.c ${CMAKE_CURRENT_SOURCE_DIR}/yap_lbfgs.c) + ${CMAKE_CURRENT_SOURCE_DIR}/${LBFGS_SRC}/lib/lbfgs.c ${CMAKE_CURRENT_SOURCE_DIR}/yap_lbfgs.c) add_library(LBFGS ${LBFGS_SOURCES}) diff --git a/packages/yap-lbfgs/ex1.pl b/packages/yap-lbfgs/ex1.pl index 45731c13b..77258b20d 100644 --- a/packages/yap-lbfgs/ex1.pl +++ b/packages/yap-lbfgs/ex1.pl @@ -40,7 +40,8 @@ progress(FX,X,G,X_Norm,G_Norm,Step,_N,Iteration,Ls, 0) :- demo :- - format('Optimizing the function f(x0) = sin(x0)~n',[]), +start_low_level_trace, + format('Optimizing the function f(x0) = sin(x0)~n',[]), optimizer_initialize(1,X,Status), diff --git a/packages/yap-lbfgs/yap_lbfgs.c b/packages/yap-lbfgs/yap_lbfgs.c index 800cf3791..0a3c21f48 100644 --- a/packages/yap-lbfgs/yap_lbfgs.c +++ b/packages/yap-lbfgs/yap_lbfgs.c @@ -239,17 +239,15 @@ meaning. static YAP_Bool optimizer_run(void) { int ret = 0; int n = YAP_IntOfTerm(YAP_ARG1); - YAP_Term t2 = YAP_ARG2; YAP_Int s1, s2; lbfgsfloatval_t fx; - lbfgsfloatval_t *temp_x = ( lbfgsfloatval_t *) YAP_IntOfTerm(YAP_ARG2), - *temp_ox = ( lbfgsfloatval_t *) YAP_IntOfTerm(YAP_ARG4); + lbfgsfloatval_t *temp_x = ( lbfgsfloatval_t *)YAP_IntOfTerm( YAP_ArgOfTerm(1, YAP_ARG2)), + *temp_ox = ( lbfgsfloatval_t *) YAP_IntOfTerm(YAP_ArgOfTerm(1,YAP_ARG4)); lbfgs_parameter_t *temp_p = (lbfgs_parameter_t * ) YAP_IntOfTerm(YAP_ARG6); - - //optimizer_status = OPTIMIZER_STATUS_RUNNING; ret = lbfgs(n, temp_x, &fx, evaluate, progress, temp_ox, temp_p); - return YAP_Unify(YAP_MkIntTerm(ret), YAP_ARG5); + return YAP_Unify(YAP_MkIntTerm(ret), YAP_ARG5) && + YAP_Unify(YAP_MkFloatTerm(fx), YAP_ARG3); } diff --git a/pl/consult.yap b/pl/consult.yap index f4afdb88e..490f14224 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -311,7 +311,7 @@ load_files(Files0,Opts) :- ( LC > 0 -> '__NB_getval__'('$lf_status', OldTOpts, fail), - nonvar(OldTOpts), + nonvar(OldTOpts), functor( OldTOpts, opt, LastOpt ), '$lf_opt'(autoload, OldTOpts, OldAutoload), '$lf_opt'('$context_module', OldTOpts, OldContextModule) ; diff --git a/pl/messages.yap b/pl/messages.yap index 705eedcf1..703fa0bfe 100644 --- a/pl/messages.yap +++ b/pl/messages.yap @@ -257,15 +257,14 @@ location(style_check(A,LN,FileName,B ), Level , LC) --> display_consulting( FileName, Level,style_check(A,LN,FileName,B ), LC ), [ '~a:~d:0 ~a ' - [FileName,LN,Level] ] . location( error(_,Info), Level, LC ) --> - { '$error_descriptor'(Info, Desc) }, - { - query_exception(prologPredFile, Desc, File), + { + query_exception(prologPredFile, Desc, File), query_exception(prologPredLine, Desc, FilePos), query_exception(prologPredModule, Desc, M), query_exception(prologPredName, Desc, Na), query_exception(prologPredArity, Desc, Ar) - }, + }, !, display_consulting( File, Level, Info, LC ), {simplify_pred(M:Na/Ar,FF)}, @@ -358,7 +357,7 @@ display_consulting( F, Level, Info, LC) --> { LC > 0, '$error_descriptor'(Info, Desc), query_exception(prologParserFile, Desc, F0), - query_exception(prologarserLine, Desc, L), + query_exception(prologParserLine, Desc, L), F \= F0 }, !, [ '~a:~d:0: ~a raised at:'-[F0,L,Level], nl ]. From 46a32fbd832ec58a97c4318ba017286f52830ef6 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 14 Sep 2018 17:43:36 +0100 Subject: [PATCH 48/57] heap --- C/alloc.c | 16 ++++++++++++++++ C/arith0.c | 3 ++- C/qlyr.c | 5 +++++ H/alloc.h | 19 ++++++++++--------- packages/python/pypreds.c | 2 +- 5 files changed, 34 insertions(+), 11 deletions(-) diff --git a/C/alloc.c b/C/alloc.c index 165b32ad3..cdddf9923 100644 --- a/C/alloc.c +++ b/C/alloc.c @@ -42,6 +42,12 @@ static char SccsId[] = "%W% %G%"; #if HAVE_FCNTL_H #include #endif +#if HAVE_SYS_TIME_H +#include +#endif +#if HAVE_SYS_RESOURCE_H +#include +#endif #if HAVE_SYS_STAT_H #include #endif @@ -383,6 +389,16 @@ void Yap_InitHeap(void *heap_addr) { HeapMax = 0; } +// get an approximation to total memory data-base size. + size_t Yap_HeapUsed(void) +{ + #if HAVE_MALLINFO + struct mallinfo mi = mallinfo(); + return mi.uordblks - (LOCAL_TrailTop-LOCAL_GlobalBase); +#endif + return Yap_ClauseSpace+Yap_IndexSpace_Tree+Yap_LUClauseSpace+Yap_LUIndexSpace_CP; +} + static void InitExStacks(int wid, int Trail, int Stack) { CACHE_REGS UInt pm, sa; diff --git a/C/arith0.c b/C/arith0.c index f67e8797b..ea7d3530b 100644 --- a/C/arith0.c +++ b/C/arith0.c @@ -112,6 +112,7 @@ static char SccsId[] = "%W% %G%"; #include "Yatom.h" #include "YapHeap.h" #include "YapEval.h" +#include "alloc.h" @@ -174,7 +175,7 @@ eval0(Int fi) { /// - heapused /// Heap (data-base) space used, in bytes. /// - RINT(HeapUsed); + RINT(Yap_HeapUsed()); case op_localsp: /// - local /// Local stack in use, in bytes diff --git a/C/qlyr.c b/C/qlyr.c index dc25cba5c..9fd35c3e9 100755 --- a/C/qlyr.c +++ b/C/qlyr.c @@ -836,6 +836,7 @@ static void ReadHash(FILE *stream) { UInt sz = read_UInt(stream); UInt nrefs = read_UInt(stream); LogUpdClause *ncl = (LogUpdClause *)Yap_AlwaysAllocCodeSpace(sz); + Yap_LUClauseSpace += sz; if (!ncl) { QLYR_ERROR(OUT_OF_CODE_SPACE); } @@ -874,6 +875,7 @@ static void read_clauses(FILE *stream, PredEntry *pp, UInt nclauses, nrefs = cl->ClRefCount; } else { cl = (LogUpdClause *)Yap_AlwaysAllocCodeSpace(size); + Yap_LUClauseSpace += size; } read_bytes(stream, cl, size); cl->ClFlags &= ~InUseMask; @@ -887,6 +889,7 @@ static void read_clauses(FILE *stream, PredEntry *pp, UInt nclauses, char *base = (void *)read_UInt(stream); UInt mask = read_UInt(stream); UInt size = read_UInt(stream); + Yap_ClauseSpace += size; MegaClause *cl = (MegaClause *)Yap_AlwaysAllocCodeSpace(size); if (nclauses) { @@ -918,6 +921,7 @@ static void read_clauses(FILE *stream, PredEntry *pp, UInt nclauses, char *base = (void *)read_UInt(stream); UInt size = read_UInt(stream); DynamicClause *cl = (DynamicClause *)Yap_AlwaysAllocCodeSpace(size); + Yap_LUClauseSpace += size; LOCAL_HDiff = (char *)cl - base; read_bytes(stream, cl, size); @@ -948,6 +952,7 @@ static void read_clauses(FILE *stream, PredEntry *pp, UInt nclauses, char *base = (void *)read_UInt(stream); UInt size = read_UInt(stream); StaticClause *cl = (StaticClause *)Yap_AlwaysAllocCodeSpace(size); + Yap_ClauseSpace += size; LOCAL_HDiff = (char *)cl - base; read_bytes(stream, cl, size); diff --git a/H/alloc.h b/H/alloc.h index fdfe16776..8022e8240 100644 --- a/H/alloc.h +++ b/H/alloc.h @@ -96,10 +96,11 @@ typedef struct FREEB { /* Operating system and architecture dependent page size */ extern size_t Yap_page_size; -void Yap_InitHeap(void *); -UInt Yap_ExtendWorkSpaceThroughHole(UInt); -void Yap_AllocHole(UInt, UInt); - +extern void Yap_InitHeap(void *); +extern UInt Yap_ExtendWorkSpaceThroughHole(UInt); +extern void Yap_AllocHole(UInt, UInt); +extern size_t Yap_HeapUsed(void); +; #if USE_SYSTEM_MMAP && ! defined(__CYGWIN__) #include @@ -107,7 +108,7 @@ void Yap_AllocHole(UInt, UInt); #elif USE_SYSTEM_SHM - + #elif USE_SBRK @@ -120,10 +121,10 @@ void *sbrk(caddr_t); typedef unsigned size_t; -MALLOC_T malloc(size_t); -void free(MALLOC_T); -MALLOC_T realloc(MALLOC_T,size_t); -MALLOC_T calloc(size_t,size_t); +extern MALLOC_T malloc(size_t); +extern void free(MALLOC_T); +extern MALLOC_T realloc(MALLOC_T,size_t); +extern MALLOC_T calloc(size_t,size_t); #endif diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 292e223e3..3f3179588 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -777,7 +777,7 @@ install_t install_pypreds(void) { PL_register_foreign("python_access", 3, python_access, 0); PL_register_foreign("python_threaded", 0, p_python_threaded, 0); PL_register_foreign("python_clear_errors", 0, python_clear_errors, 0); - PL_register_foreign("python_string_to", 0, python_string_to, 1); + PL_register_foreign("python_string_to", 1, python_string_to, 0); init_python_vfs(); } From 29f79473e51049cdf3b275235b607bc87f6412a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Fri, 14 Sep 2018 21:17:43 +0100 Subject: [PATCH 49/57] Problog --- packages/ProbLog/problog_learning_lbdd.yap | 13 +++++++++---- packages/yap-lbfgs/ex1.pl | 1 - packages/yap-lbfgs/ex2.pl | 4 ++-- packages/yap-lbfgs/lbfgs.pl | 4 +--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index 2f6860d4d..a68b2f199 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -624,7 +624,7 @@ init_one_query(QueryID,Query,Type) :- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % if BDD file does not exist, call ProbLog %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - trace, + writeln(QueryID), ( recorded(QueryID, _, _) -> @@ -635,13 +635,18 @@ init_one_query(QueryID,Query,Type) :- Query =.. [_,X,Y] -> Bdd = bdd(Dir, Tree, MapList), - graph2bdd(X,Y,N,Bdd), + ( + graph2bdd(X,Y,N,Bdd) + -> rb_new(H0), maplist_to_hash(MapList, H0, Hash), Tree \= [], - writeln(QueryID), tree_to_grad(Tree, Hash, [], Grad), - recordz(QueryID,bdd(Dir, Grad, MapList),_) + ; + Bdd = bdd(-1,[],[]), + Grad=[] + ), + recordz(QueryID,bdd(Dir, Grad, MapList),_) ; b_setval(problog_required_keep_ground_ids,false), rb_new(H0), diff --git a/packages/yap-lbfgs/ex1.pl b/packages/yap-lbfgs/ex1.pl index 77258b20d..fae5512c5 100644 --- a/packages/yap-lbfgs/ex1.pl +++ b/packages/yap-lbfgs/ex1.pl @@ -40,7 +40,6 @@ progress(FX,X,G,X_Norm,G_Norm,Step,_N,Iteration,Ls, 0) :- demo :- -start_low_level_trace, format('Optimizing the function f(x0) = sin(x0)~n',[]), optimizer_initialize(1,X,Status), diff --git a/packages/yap-lbfgs/ex2.pl b/packages/yap-lbfgs/ex2.pl index 1a6e0f30d..3a4f39320 100644 --- a/packages/yap-lbfgs/ex2.pl +++ b/packages/yap-lbfgs/ex2.pl @@ -44,7 +44,7 @@ progress(FX,X,_G,X_Norm,G_Norm,Step,_N,Iteration,Ls,0) :- demo :- format('Optimizing the function f(x0,x1) = (x0-2)^2 + (x1-1)^2~n',[]), - optimizer_initialize(2,X), + optimizer_initialize(2,X,Status), StartX0 is random*1000-500, @@ -55,7 +55,7 @@ demo :- X[1] <== StartX1, - optimizer_run(BestF,Status), + optimizer_run(Status,BestF,BestX0, O), BestX0 <== X[0], BestX1 <== X[1], diff --git a/packages/yap-lbfgs/lbfgs.pl b/packages/yap-lbfgs/lbfgs.pl index 14881398f..bec3cc7c7 100644 --- a/packages/yap-lbfgs/lbfgs.pl +++ b/packages/yap-lbfgs/lbfgs.pl @@ -162,18 +162,16 @@ optimizer_initialize(1) */ optimizer_initialize(N,X,t(N,X,XO,Params)) :- - \+ initialized, integer(N), N>0, % check whether there are such call back functions - optimizer_reserve_memory(N,X,XO,Params), + optimizer_reserve_memory(N,X,XO,Params). % install call back predicates in the user module which call % the predicates given by the arguments - assert(initialized). /** @pred optimizer_finalize/0 Clean up the memory. From bde725e0160f0cf5f2d2a2a74d82a436b4adfeaf Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 17 Sep 2018 13:39:41 +0100 Subject: [PATCH 50/57] fixes --- C/c_interface.c | 111 +++++++++++++++++++------------------- CXX/yapi.cpp | 37 +++++++------ CXX/yapq.hh | 2 +- packages/python/pypreds.c | 37 +++---------- pl/boot.yap | 2 +- pl/bootlists.yap | 24 ++++----- 6 files changed, 99 insertions(+), 114 deletions(-) diff --git a/C/c_interface.c b/C/c_interface.c index 1a30a292a..dfa56f02c 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -1801,67 +1801,16 @@ X_API bool YAP_RetryGoal(YAP_dogoalinfo *dgi) { return out; } -X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { - CACHE_REGS - choiceptr myB, handler; - - // fprintf(stderr,"LeaveGoal success=%d: H=%d ENV=%p B=%ld myB=%ld TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,dgi->b0,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); - BACKUP_MACHINE_REGS(); - myB = (choiceptr)(LCL0 - dgi->b0); - handler = B; - while (handler - //&& LOCAL_CBorder > LCL0 - (CELL *)handler - //&& handler->cp_ap != NOCODE - && handler->cp_b != NULL - && handler != myB - ) { - handler->cp_ap = TRUSTFAILCODE; - handler = handler->cp_b; - } - if (LOCAL_PrologMode & AsyncIntMode) { - Yap_signal(YAP_FAIL_SIGNAL); - } - B = handler; - if (successful) { - Yap_TrimTrail(); - CP = dgi->cp; - P = dgi->p; - } else { - Yap_exec_absmi(true, YAP_EXEC_ABSMI); - LOCAL_CurSlot = dgi->CurSlot; - ENV = YENV = B->cp_env; - HR = B->cp_h; - TR = B->cp_tr; - // use the current choicepoint - // B=B->cp_b; - ASP=(CELL*)B; - } - RECOVER_MACHINE_REGS(); - // fprintf(stderr,"LeftGoal success=%d: H=%d ENV=%p B=%d TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); - return TRUE; -} - -X_API Int YAP_RunGoal(Term t) { - CACHE_REGS - Term out; - yamop *old_CP = CP; - yhandle_t cslot = LOCAL_CurSlot; - BACKUP_MACHINE_REGS(); - - LOCAL_AllowRestart = FALSE; - LOCAL_PrologMode = UserMode; - out = Yap_RunTopGoal(t, true); - LOCAL_PrologMode = UserCCallMode; - // should we catch the exception or pass it through? - // We'll pass it through - Yap_RaiseException(); - if (out) { - P = (yamop *)ENV[E_CP]; +static void completeInnerCall( bool on_cut, yamop *old_CP, yamop *old_P) +{ + if (on_cut) { + P = old_P; ENV = (CELL *)ENV[E_E]; CP = old_CP; LOCAL_AllowRestart = TRUE; // we are back to user code again, need slots */ } else { + P = old_P; ENV = B->cp_env; ENV = (CELL *)ENV[E_E]; CP = old_CP; @@ -1872,7 +1821,57 @@ X_API Int YAP_RunGoal(Term t) { SET_ASP(ENV, E_CB * sizeof(CELL)); // make sure the slots are ok. } + +} + +X_API bool YAP_LeaveGoal(bool on_cut, YAP_dogoalinfo *dgi) { + CACHE_REGS + choiceptr myB, handler; + + // fprintf(stderr,"LeaveGoal success=%d: H=%d ENV=%p B=%ld myB=%ld TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,dgi->b0,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); + BACKUP_MACHINE_REGS(); + myB = (choiceptr)(LCL0 - dgi->b); + if (LOCAL_PrologMode & AsyncIntMode) { + Yap_signal(YAP_FAIL_SIGNAL); + } + handler = B; + while (handler + //&& LOCAL_CBorder > LCL0 - (CELL *)handler + //&& handler->cp_ap != NOCODE + && handler <= myB + ) { + if (handler < myB) + handler->cp_ap = TRUSTFAILCODE; + B = handler; + handler = handler->cp_b; + RECOVER_MACHINE_REGS(); + if (on_cut) { + Yap_TrimTrail(); + } else if (!(LOCAL_PrologMode & AsyncIntMode)) { + P=FAILCODE; + Yap_exec_absmi(true, YAP_EXEC_ABSMI); + } + BACKUP_MACHINE_REGS(); + } + completeInnerCall( on_cut, dgi->cp, dgi->p); RECOVER_MACHINE_REGS(); + // fprintf(stderr,"LeftGoal success=%d: H=%d ENV=%p B=%d TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); + return TRUE; +} + +X_API Int YAP_RunGoal(Term t) { + CACHE_REGS + Term out; + yhandle_t cslot = LOCAL_CurSlot; + BACKUP_MACHINE_REGS(); + + LOCAL_AllowRestart = FALSE; + LOCAL_PrologMode = UserMode; + out = Yap_RunTopGoal(t, true); + LOCAL_PrologMode = UserCCallMode; + // should we catch the exception or pass it through? + // We'll pass it through + RECOVER_MACHINE_REGS(); LOCAL_CurSlot = cslot; return out; } diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index cc2587370..66602b0c4 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -640,39 +640,45 @@ void YAPEngine::release() { Term YAPEngine::fun(Term t) { CACHE_REGS BACKUP_MACHINE_REGS(); - Term tmod = Yap_CurrentModule(), *ts = nullptr; + Term tmod = Yap_CurrentModule(), *ts = NULL; PredEntry *ap; arity_t arity; Functor f; Atom name; + RESET_VARIABLE(HR); if (IsApplTerm(t)) { - ts = RepAppl(t) + 1; - f = (Functor)ts[-1]; + CELL *p = RepAppl(t); + f = (Functor)*p; name = NameOfFunctor(f); arity = ArityOfFunctor(f); + p++; for (arity_t i = 0; i < arity; i++) - XREGS[i + 1] = ts[i]; + XREGS[i+1] = p[i]; + arity += 1; + XREGS[arity] = (CELL)HR; + HR+= 1; } else if (IsAtomTerm(t)) { name = AtomOfTerm(t); - f = nullptr; - arity = 0; + XREGS[1] = (CELL)HR; + HR+=1; + arity = 1; } else if (IsPairTerm(t)) { XREGS[1] = ts[0]; XREGS[2] = ts[1]; - arity = 2; + arity = 3; name = AtomDot; - f = FunctorDot; + arity++; + HR += arity; } else { throw YAPError(SOURCE(), TYPE_ERROR_CALLABLE, t, 0); return 0L; } - XREGS[arity + 1] = MkVarTerm(); - arity++; f = Yap_MkFunctor(name, arity); ap = (PredEntry *)(PredPropByFunc(f, tmod)); + yhandle_t k = Yap_InitHandle(HR[-1]); if (ap == nullptr || ap->OpcodeOfPred == UNDEF_OPCODE) { - Term g = (Yap_MkApplTerm(f, arity, ts)); + Term g = Yap_MkApplTerm(f, arity, ts); ap = rewriteUndefEngineQuery(ap, g, (ap->ModuleOfPred)); } q.CurSlot = Yap_StartSlots(); @@ -681,15 +687,16 @@ Term YAPEngine::fun(Term t) { // make sure this is safe // allow Prolog style exception handling //__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "exec "); - bool result = (bool)YAP_EnterGoal(ap, nullptr, &q); YAPCatchError(); + Term out = 0; + if (result) { + out = Yap_GetFromHandle(k); + } { YAP_LeaveGoal(result, &q); - // PyEval_RestoreThread(_save); - RECOVER_MACHINE_REGS(); - return result; } + return out; } YAPQuery::YAPQuery(YAPFunctor f, YAPTerm mod, YAPTerm ts[]) diff --git a/CXX/yapq.hh b/CXX/yapq.hh index 6fcaba6bc..7fcf764c0 100644 --- a/CXX/yapq.hh +++ b/CXX/yapq.hh @@ -367,7 +367,7 @@ public: //> output. YAPTerm funCall(YAPTerm t) { return YAPTerm(fun(t.term())); }; Term fun(Term t); - Term fun(YAPTerm t) { return fun(t.term()); }; + //Term fun(YAPTerm t) { return fun(t.term()); }; //> set a StringFlag, usually a path //> bool setStringFlag(std::string arg, std::string path) { diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 3f3179588..9dc6d4cbf 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -8,7 +8,6 @@ PyObject *py_Main; void pyErrorHandler__(int line, const char *file, const char *code) { // this code is called if a Python error is found. // int lvl = push_text_stack(); - PyObject *type; // PyErr_Fetch(&type, &val, NULL); // PyErr_Print(); // Yap_ThrowError__(file,code,line,0, SYSTEM_ERROR_RUNTIME_PYTHON ,"Python @@ -235,18 +234,19 @@ static foreign_t assign_python(term_t exp, term_t name) { static foreign_t python_string_to(term_t f) { if (PL_is_atom(f)) { char *s = NULL; - if (!PL_get_chars(f, &s, CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { + if (!PL_get_chars(f, &s, CVT_ATOM |CVT_STRING | CVT_EXCEPTION | REP_UTF8)) { pyErrorAndReturn(false); } - if (!strcmp(s,"atom")) + if (!strcmp(s,"atom")) { pyStringToString = false; - if (!strcmp(s,"string")) + return true; + } + if (!strcmp(s,"string")) { pyStringToString = true; - else - return false; - return true; + return true; + } } - return true; + return false; } static foreign_t python_builtin_eval(term_t caller, term_t dict, term_t out) { @@ -570,27 +570,6 @@ static foreign_t python_export(term_t t, term_t pl) { pyErrorAndReturn(rc); } -static bool get_mod(const char *s0) -{ - PyObject *pName; - term_t t0 = python_acquire_GIL(); -#if PY_MAJOR_VERSION < 3 - pName = PyString_FromString(s0); -#else - pName = PyUnicode_FromString(s0); -#endif - if (pName == NULL) { - python_release_GIL(t0); - } - - PyObject *pModule = PyImport_Import(pName); - - Py_XDECREF(pName); - python_release_GIL(t0); - - return pModule; -} - /** * @pred python_import(MName, Mod) * Import a python module to the YAP environment. diff --git a/pl/boot.yap b/pl/boot.yap index 9d9ac605d..cb5591395 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -479,7 +479,7 @@ If this hook preodicate succeeds it must instantiate the _Action_ argument to t :- yap_flag(user:unknown,error). -:- ensure_loaded('../android.yap'). +%:- ensure_loaded('../android.yap'). %% @} diff --git a/pl/bootlists.yap b/pl/bootlists.yap index c944d9fe6..471fbad9d 100644 --- a/pl/bootlists.yap +++ b/pl/bootlists.yap @@ -91,6 +91,18 @@ lists:delete([Head|List], Elem, Residue) :- lists:delete([Head|List], Elem, [Head|Residue]) :- lists:delete(List, Elem, Residue). + +% reverse(List, Reversed) +% is true when List and Reversed are lists with the same elements +% but in opposite orders. rev/2 is a synonym for reverse/2. + +lists:reverse(List, Reversed) :- + lists:reverse(List, [], Reversed). + +lists:reverse([], Reversed, Reversed). +lists:reverse([Head|Tail], Sofar, Reversed) :- + lists:reverse(Tail, [Head|Sofar], Reversed). + :- set_prolog_flag(source, false). % disable source. @@ -135,15 +147,3 @@ prolog:length(L, M) :- M is N + 1, NL = [_|L], '$$_length2'(L, O, M) ). %% @} - -% reverse(List, Reversed) -% is true when List and Reversed are lists with the same elements -% but in opposite orders. rev/2 is a synonym for reverse/2. - -lists:reverse(List, Reversed) :- - lists:reverse(List, [], Reversed). - -lists:reverse([], Reversed, Reversed). -lists:reversae([Head|Tail], Sofar, Reversed) :- - lists:reverse(Tail, [Head|Sofar], Reversed). - From a2d397976f04eefcdee39eda048b3a9861af2cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 18 Sep 2018 19:26:31 +0100 Subject: [PATCH 51/57] Use the C luke --- pl/listing.yap | 58 ++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 42 deletions(-) diff --git a/pl/listing.yap b/pl/listing.yap index a764bc4dc..dec2fe9e1 100644 --- a/pl/listing.yap +++ b/pl/listing.yap @@ -166,7 +166,7 @@ listing(Stream, [MV|MVs]) :- !, -> format( Stream, ':- dynamic ~q/~d.~n', [N,Ar]) ; - format( Stream, ':- dynamic ~q:~q/~d.~n', [M,N,Ar]) +\ format( Stream, ':- dynamic ~q:~q/~d.~n', [M,N,Ar]) ), fail. '$list_clauses'(Stream, M, Pred) :- @@ -224,8 +224,8 @@ listing(Stream, [MV|MVs]) :- !, Write clause _C_ on stream _S_ as if written by listing/0. */ portray_clause(Stream, Clause) :- - copy_term_nat(Clause, CopiedClause), -writeln(c:CopiedClause), + copy_term_nat(Clause, CopiedClause), + '$beautify_vs'(CopiedClause), '$portray_clause'(Stream, CopiedClause), fail. portray_clause(_, _). @@ -240,15 +240,12 @@ portray_clause(Clause) :- portray_clause(Stream, Clause). '$portray_clause'(Stream, (Pred :- true)) :- !, - '$beautify_vars'(Pred), format(Stream, '~q.~n', [Pred]). '$portray_clause'(Stream, (Pred:-Body)) :- !, - '$beautify_vars'((Pred:-Body)), format(Stream, '~q :-', [Pred]), '$write_body'(Body, 3, ',', Stream), format(Stream, '.~n', []). '$portray_clause'(Stream, Pred) :- - '$beautify_vars'(Pred), format(Stream, '~q.~n', [Pred]). '$write_body'(X,I,T,Stream) :- var(X), !, @@ -257,8 +254,8 @@ portray_clause(Clause) :- '$write_body'((P,Q), I, T, Stream) :- !, '$write_body'(P,I,T, Stream), - put(Stream, 0',), %' - '$write_body'(Q,I,',',Stream). + put(Stream, 0',), % + '$write_body'(Q,I,',',Stream). '$write_body'((P->Q;S),I,_, Stream) :- !, format(Stream, '~n~*c(',[I,0' ]), @@ -319,42 +316,19 @@ portray_clause(Clause) :- '$beforelit'(_,I,Stream) :- format(Stream,'~n~*c',[I,0' ]). %' -'$beautify_vars'(T) :- - var(T), - !, - '$list_transform'([T],0). -'$beautify_vars'(T) :- - primitive(T), - !. -'$beautify_vars'(T) :- - T =.. [_|Vs0], - '$list_get_vars'(Vs0,[],L), - msort(L,SL), - '$list_transform'(SL,0). +'$beautify_vs'(T) :- + '$non_singletons_in_term'(T,[],Fs), + '$vv_transform'(Fs,1), + term_variables(T, NFs), + '$v_transform'(NFs). -'$list_get_vars'([], Vs, Vs). -'$list_get_vars'([A|Args], Vs0, Vs) :- - '$list_get_vars_'(A, Vs0, Vs1 ), - '$list_get_vars'(Args, Vs1, Vs). +'$v_transform'([]). +'$v_transform'(['$VAR'(-1)|L]) :- + '$v_transform'(L). -'$list_get_vars_'(V,L,[V|L] ) :- - var(V), !. -'$list_get_vars_'(Atomic, Vs, Vs) :- - primitive(Atomic), !. -'$list_get_vars_'(Term, Vs0, Vs) :- - Term =.. [_|Args], - '$list_get_vars'(Args, Vs0, Vs). - -'$list_transform'([],_) :- !. -'$list_transform'([X,Y|L],M) :- - X == Y, - !, - X = '$VAR'(M), +'$vv_transform'([],_) :- !. +'$vv_transform'(['$VAR'(M)|L],M) :- N is M+1, - '$list_transform'(L,N). -'$list_transform'(['$VAR'(-1)|L],M) :- !, - '$list_transform'(L,M). -'$list_transform'([_|L],M) :- - '$list_transform'(L,M). + '$vv_transform'(L,N). %% @} From 7661b8581cf4dad1617a3ddf9dcc5f354427fd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 18 Sep 2018 19:26:51 +0100 Subject: [PATCH 52/57] typos --- library/lists.yap | 11 +++++++++++ pl/boot.yap | 1 - pl/bootlists.yap | 11 ----------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/library/lists.yap b/library/lists.yap index 0343d6005..f6f927a7f 100644 --- a/library/lists.yap +++ b/library/lists.yap @@ -205,6 +205,17 @@ append_([L1,L2|[L3|LL]], L) :- append(L1,L2,LI), append_([LI|[L3|LL]],L). +% reverse(List, Reversed) +% is true when List and Reversed are lists with the same elements +% but in opposite orders. rev/2 is a synonym for reverse/2. + +reverse(List, Reversed) :- + reverse(List, [], Reversed). + +reverse([], Reversed, Reversed). +reverse([Head|Tail], Sofar, Reversed) :- + reverse(Tail, [Head|Sofar], Reversed). + /** @pred last(+ _List_,? _Last_) diff --git a/pl/boot.yap b/pl/boot.yap index 9d9ac605d..4abb93f4c 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -479,7 +479,6 @@ If this hook preodicate succeeds it must instantiate the _Action_ argument to t :- yap_flag(user:unknown,error). -:- ensure_loaded('../android.yap'). %% @} diff --git a/pl/bootlists.yap b/pl/bootlists.yap index c944d9fe6..69beade81 100644 --- a/pl/bootlists.yap +++ b/pl/bootlists.yap @@ -136,14 +136,3 @@ prolog:length(L, M) :- %% @} -% reverse(List, Reversed) -% is true when List and Reversed are lists with the same elements -% but in opposite orders. rev/2 is a synonym for reverse/2. - -lists:reverse(List, Reversed) :- - lists:reverse(List, [], Reversed). - -lists:reverse([], Reversed, Reversed). -lists:reversae([Head|Tail], Sofar, Reversed) :- - lists:reverse(Tail, [Head|Sofar], Reversed). - From a6e578090cc4734950e1298cc4f5f237f8d165bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 18 Sep 2018 19:27:10 +0100 Subject: [PATCH 53/57] C-interface --- C/c_interface.c | 23 +++++++++++++++-------- CXX/yapi.cpp | 12 +++++++++--- CXX/yapq.hh | 1 - packages/python/pl2py.c | 6 +++--- packages/python/py2pl.c | 3 ++- packages/python/pypreds.c | 13 +++++++------ 6 files changed, 36 insertions(+), 22 deletions(-) diff --git a/C/c_interface.c b/C/c_interface.c index 1a30a292a..3ca80bf18 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -1813,21 +1813,23 @@ X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { //&& LOCAL_CBorder > LCL0 - (CELL *)handler //&& handler->cp_ap != NOCODE && handler->cp_b != NULL - && handler != myB + && handler <= myB ) { handler->cp_ap = TRUSTFAILCODE; - handler = handler->cp_b; - } - if (LOCAL_PrologMode & AsyncIntMode) { - Yap_signal(YAP_FAIL_SIGNAL); - } B = handler; + handler = handler->cp_b; if (successful) { Yap_TrimTrail(); - CP = dgi->cp; - P = dgi->p; } else { + P=FAILCODE; Yap_exec_absmi(true, YAP_EXEC_ABSMI); + } + } + if (successful) { + CP = dgi->cp; + P = dgi->p; + + } else { LOCAL_CurSlot = dgi->CurSlot; ENV = YENV = B->cp_env; HR = B->cp_h; @@ -1835,6 +1837,11 @@ X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { // use the current choicepoint // B=B->cp_b; ASP=(CELL*)B; + } + if (B) + B = B->cp_b; + if (LOCAL_PrologMode & AsyncIntMode) { + Yap_signal(YAP_FAIL_SIGNAL); } RECOVER_MACHINE_REGS(); // fprintf(stderr,"LeftGoal success=%d: H=%d ENV=%p B=%d TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); diff --git a/CXX/yapi.cpp b/CXX/yapi.cpp index cc2587370..9518183e7 100644 --- a/CXX/yapi.cpp +++ b/CXX/yapi.cpp @@ -667,8 +667,10 @@ Term YAPEngine::fun(Term t) { throw YAPError(SOURCE(), TYPE_ERROR_CALLABLE, t, 0); return 0L; } - XREGS[arity + 1] = MkVarTerm(); + Term ot = XREGS[arity + 1] = MkVarTerm(); + yhandle_t h = Yap_InitHandle(ot); arity++; + HR += arity; f = Yap_MkFunctor(name, arity); ap = (PredEntry *)(PredPropByFunc(f, tmod)); if (ap == nullptr || ap->OpcodeOfPred == UNDEF_OPCODE) { @@ -683,12 +685,16 @@ Term YAPEngine::fun(Term t) { //__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "exec "); bool result = (bool)YAP_EnterGoal(ap, nullptr, &q); - YAPCatchError(); + if (result) + ot = Yap_GetFromHandle(h); + else + ot = TermNone; + YAPCatchError(); { YAP_LeaveGoal(result, &q); // PyEval_RestoreThread(_save); RECOVER_MACHINE_REGS(); - return result; + return ot; } } diff --git a/CXX/yapq.hh b/CXX/yapq.hh index 6fcaba6bc..dcfadc7f3 100644 --- a/CXX/yapq.hh +++ b/CXX/yapq.hh @@ -367,7 +367,6 @@ public: //> output. YAPTerm funCall(YAPTerm t) { return YAPTerm(fun(t.term())); }; Term fun(Term t); - Term fun(YAPTerm t) { return fun(t.term()); }; //> set a StringFlag, usually a path //> bool setStringFlag(std::string arg, std::string path) { diff --git a/packages/python/pl2py.c b/packages/python/pl2py.c index 9a77f8341..5cb964318 100644 --- a/packages/python/pl2py.c +++ b/packages/python/pl2py.c @@ -387,7 +387,7 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { if (entry_to_dictionary(dict, yt, eval, cvt)) return dict; else - return NULL; + return Py_None; } atom_t name; int arity; @@ -424,8 +424,8 @@ PyObject *term_to_python(term_t t, bool eval, PyObject *o, bool cvt) { } PyObject *yap_to_python(YAP_Term t, bool eval, PyObject *o, bool cvt) { - if (t == 0) - return NULL; + if (t == 0 || t == TermNone) + return Py_None; term_t yt = YAP_InitSlot(t); o = term_to_python(yt, eval, o, cvt); PL_reset_term_refs(yt); diff --git a/packages/python/py2pl.c b/packages/python/py2pl.c index 7193c28a0..9b88d91cc 100644 --- a/packages/python/py2pl.c +++ b/packages/python/py2pl.c @@ -55,8 +55,9 @@ static Term python_to_term__(PyObject *pVal) { if (pVal == Py_None) { // fputs("<<*** ",stderr);Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" // >>***\n",stderr); - return YAP_MkVarTerm(); + //return YAP_MkVarTerm(); // fputs("<<*** ",stderr);Yap_DebugPlWrite(YAP_GetFromSlot(t)); fputs(" + return MkAtomTerm(Yap_LookupAtom("none")); // >>***\n",stderr); } else if (PyBool_Check(pVal)) { if(PyObject_IsTrue(pVal)) return TermTrue; diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index 3f3179588..f7f642a3c 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -238,15 +238,16 @@ static foreign_t python_string_to(term_t f) { if (!PL_get_chars(f, &s, CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { pyErrorAndReturn(false); } - if (!strcmp(s,"atom")) + if (!strcmp(s,"atom")) { pyStringToString = false; - if (!strcmp(s,"string")) + return true; + } + if (!strcmp(s,"string")) { pyStringToString = true; - else - return false; - return true; + return true; + } } - return true; + return false; } static foreign_t python_builtin_eval(term_t caller, term_t dict, term_t out) { From b6235d8ecdce5ab4b7f1c426b27d28459d87fbff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 18 Sep 2018 19:43:50 +0100 Subject: [PATCH 54/57] trust your head --- C/c_interface.c | 52 ++++++++++++++++++++++----------------- CXX/yapq.hh | 1 + packages/python/pypreds.c | 24 +----------------- pl/boot.yap | 1 + pl/bootlists.yap | 13 +++++++++- 5 files changed, 45 insertions(+), 46 deletions(-) diff --git a/C/c_interface.c b/C/c_interface.c index 3ca80bf18..b56bb2677 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -1801,20 +1801,47 @@ X_API bool YAP_RetryGoal(YAP_dogoalinfo *dgi) { return out; } +static void completeInnerCall( bool on_cut, yamop *old_CP, yamop *old_P) +{ + if (on_cut) { + P = old_P; + ENV = (CELL *)ENV[E_E]; + CP = old_CP; + LOCAL_AllowRestart = TRUE; + // we are back to user code again, need slots */ + } else { + P = old_P; + ENV = B->cp_env; + ENV = (CELL *)ENV[E_E]; + CP = old_CP; + HR = B->cp_h; + TR = B->cp_tr; + B = B->cp_b; + LOCAL_AllowRestart = FALSE; + SET_ASP(ENV, E_CB * sizeof(CELL)); + // make sure the slots are ok. + } + +} + X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { CACHE_REGS choiceptr myB, handler; // fprintf(stderr,"LeaveGoal success=%d: H=%d ENV=%p B=%ld myB=%ld TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,dgi->b0,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); BACKUP_MACHINE_REGS(); - myB = (choiceptr)(LCL0 - dgi->b0); + myB = (choiceptr)(LCL0 - dgi->b); + if (LOCAL_PrologMode & AsyncIntMode) { + Yap_signal(YAP_FAIL_SIGNAL); + } handler = B; - while (handler + while (handler //&& LOCAL_CBorder > LCL0 - (CELL *)handler //&& handler->cp_ap != NOCODE && handler->cp_b != NULL && handler <= myB ) { + if (handler < myB) handler->cp_ap = TRUSTFAILCODE; B = handler; handler = handler->cp_b; @@ -1851,7 +1878,6 @@ X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { X_API Int YAP_RunGoal(Term t) { CACHE_REGS Term out; - yamop *old_CP = CP; yhandle_t cslot = LOCAL_CurSlot; BACKUP_MACHINE_REGS(); @@ -1861,25 +1887,7 @@ X_API Int YAP_RunGoal(Term t) { LOCAL_PrologMode = UserCCallMode; // should we catch the exception or pass it through? // We'll pass it through - Yap_RaiseException(); - if (out) { - P = (yamop *)ENV[E_CP]; - ENV = (CELL *)ENV[E_E]; - CP = old_CP; - LOCAL_AllowRestart = TRUE; - // we are back to user code again, need slots */ - } else { - ENV = B->cp_env; - ENV = (CELL *)ENV[E_E]; - CP = old_CP; - HR = B->cp_h; - TR = B->cp_tr; - B = B->cp_b; - LOCAL_AllowRestart = FALSE; - SET_ASP(ENV, E_CB * sizeof(CELL)); - // make sure the slots are ok. - } - RECOVER_MACHINE_REGS(); + RECOVER_MACHINE_REGS(); LOCAL_CurSlot = cslot; return out; } diff --git a/CXX/yapq.hh b/CXX/yapq.hh index dcfadc7f3..7fcf764c0 100644 --- a/CXX/yapq.hh +++ b/CXX/yapq.hh @@ -367,6 +367,7 @@ public: //> output. YAPTerm funCall(YAPTerm t) { return YAPTerm(fun(t.term())); }; Term fun(Term t); + //Term fun(YAPTerm t) { return fun(t.term()); }; //> set a StringFlag, usually a path //> bool setStringFlag(std::string arg, std::string path) { diff --git a/packages/python/pypreds.c b/packages/python/pypreds.c index f7f642a3c..9dc6d4cbf 100644 --- a/packages/python/pypreds.c +++ b/packages/python/pypreds.c @@ -8,7 +8,6 @@ PyObject *py_Main; void pyErrorHandler__(int line, const char *file, const char *code) { // this code is called if a Python error is found. // int lvl = push_text_stack(); - PyObject *type; // PyErr_Fetch(&type, &val, NULL); // PyErr_Print(); // Yap_ThrowError__(file,code,line,0, SYSTEM_ERROR_RUNTIME_PYTHON ,"Python @@ -235,7 +234,7 @@ static foreign_t assign_python(term_t exp, term_t name) { static foreign_t python_string_to(term_t f) { if (PL_is_atom(f)) { char *s = NULL; - if (!PL_get_chars(f, &s, CVT_ALL | CVT_EXCEPTION | REP_UTF8)) { + if (!PL_get_chars(f, &s, CVT_ATOM |CVT_STRING | CVT_EXCEPTION | REP_UTF8)) { pyErrorAndReturn(false); } if (!strcmp(s,"atom")) { @@ -571,27 +570,6 @@ static foreign_t python_export(term_t t, term_t pl) { pyErrorAndReturn(rc); } -static bool get_mod(const char *s0) -{ - PyObject *pName; - term_t t0 = python_acquire_GIL(); -#if PY_MAJOR_VERSION < 3 - pName = PyString_FromString(s0); -#else - pName = PyUnicode_FromString(s0); -#endif - if (pName == NULL) { - python_release_GIL(t0); - } - - PyObject *pModule = PyImport_Import(pName); - - Py_XDECREF(pName); - python_release_GIL(t0); - - return pModule; -} - /** * @pred python_import(MName, Mod) * Import a python module to the YAP environment. diff --git a/pl/boot.yap b/pl/boot.yap index 4abb93f4c..cb5591395 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -479,6 +479,7 @@ If this hook preodicate succeeds it must instantiate the _Action_ argument to t :- yap_flag(user:unknown,error). +%:- ensure_loaded('../android.yap'). %% @} diff --git a/pl/bootlists.yap b/pl/bootlists.yap index 69beade81..471fbad9d 100644 --- a/pl/bootlists.yap +++ b/pl/bootlists.yap @@ -91,6 +91,18 @@ lists:delete([Head|List], Elem, Residue) :- lists:delete([Head|List], Elem, [Head|Residue]) :- lists:delete(List, Elem, Residue). + +% reverse(List, Reversed) +% is true when List and Reversed are lists with the same elements +% but in opposite orders. rev/2 is a synonym for reverse/2. + +lists:reverse(List, Reversed) :- + lists:reverse(List, [], Reversed). + +lists:reverse([], Reversed, Reversed). +lists:reverse([Head|Tail], Sofar, Reversed) :- + lists:reverse(Tail, [Head|Sofar], Reversed). + :- set_prolog_flag(source, false). % disable source. @@ -135,4 +147,3 @@ prolog:length(L, M) :- M is N + 1, NL = [_|L], '$$_length2'(L, O, M) ). %% @} - From 13d609867ce0376fa91c3c7c5e5c8b34f8db3e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Fri, 21 Sep 2018 13:31:22 +0100 Subject: [PATCH 55/57] recover space on foreign exec --- C/c_interface.c | 26 ++++++---------------- packages/ProbLog/problog_learning_lbdd.yap | 4 ++-- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/C/c_interface.c b/C/c_interface.c index b56bb2677..40695bafa 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -1836,40 +1836,28 @@ X_API bool YAP_LeaveGoal(bool successful, YAP_dogoalinfo *dgi) { } handler = B; while (handler - //&& LOCAL_CBorder > LCL0 - (CELL *)handler + && LCL0-LOCAL_CBorder > (CELL *)handler //&& handler->cp_ap != NOCODE && handler->cp_b != NULL - && handler <= myB + && handler != myB ) { - if (handler < myB) + if (handler < myB ) { handler->cp_ap = TRUSTFAILCODE; + } B = handler; handler = handler->cp_b; if (successful) { Yap_TrimTrail(); - } else { + } else if (!(LOCAL_PrologMode & AsyncIntMode)) { P=FAILCODE; Yap_exec_absmi(true, YAP_EXEC_ABSMI); } } - if (successful) { - CP = dgi->cp; - P = dgi->p; - - } else { - LOCAL_CurSlot = dgi->CurSlot; - ENV = YENV = B->cp_env; - HR = B->cp_h; - TR = B->cp_tr; - // use the current choicepoint - // B=B->cp_b; - ASP=(CELL*)B; - } - if (B) - B = B->cp_b; if (LOCAL_PrologMode & AsyncIntMode) { Yap_signal(YAP_FAIL_SIGNAL); } + P=dgi->p; + CP = dgi->cp; RECOVER_MACHINE_REGS(); // fprintf(stderr,"LeftGoal success=%d: H=%d ENV=%p B=%d TR=%d P=%p CP=%p Slots=%d\n", successful,HR-H0,LCL0-ENV,LCL0-(CELL*)B,(CELL*)TR-LCL0, P, CP, LOCAL_CurSlot); return TRUE; diff --git a/packages/ProbLog/problog_learning_lbdd.yap b/packages/ProbLog/problog_learning_lbdd.yap index a68b2f199..05b663176 100644 --- a/packages/ProbLog/problog_learning_lbdd.yap +++ b/packages/ProbLog/problog_learning_lbdd.yap @@ -641,7 +641,7 @@ init_one_query(QueryID,Query,Type) :- rb_new(H0), maplist_to_hash(MapList, H0, Hash), Tree \= [], - tree_to_grad(Tree, Hash, [], Grad), + tree_to_grad(Tree, Hash, [], Grad) ; Bdd = bdd(-1,[],[]), Grad=[] @@ -669,7 +669,7 @@ init_one_query(_QueryID,_Query,_Type) :- %======================================================================== -%= updates all values of query_probability/2 and query_gradient/4 +%= Updates all values of query_probability/2 and query_gradient/4 %= should be called always before these predicates are accessed %= if the old values are still valid, nothing happens %======================================================================== From a01ba3383bfa328b0fc01db3c289d67e683785c5 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 26 Sep 2018 01:16:07 +0100 Subject: [PATCH 56/57] hide --- C/alloc.c | 3 +- C/arith0.c | 4 +- C/cdmgr.c | 274 +++++++++++++----------------- packages/jpl/src/c/CMakeLists.txt | 5 + pl/bootlists.yap | 12 -- pl/preds.yap | 10 +- pl/protect.yap | 4 +- pl/qly.yap | 54 +++--- 8 files changed, 166 insertions(+), 200 deletions(-) diff --git a/C/alloc.c b/C/alloc.c index cdddf9923..e9d5789d4 100644 --- a/C/alloc.c +++ b/C/alloc.c @@ -395,8 +395,9 @@ void Yap_InitHeap(void *heap_addr) { #if HAVE_MALLINFO struct mallinfo mi = mallinfo(); return mi.uordblks - (LOCAL_TrailTop-LOCAL_GlobalBase); -#endif +#else return Yap_ClauseSpace+Yap_IndexSpace_Tree+Yap_LUClauseSpace+Yap_LUIndexSpace_CP; +#endif } static void InitExStacks(int wid, int Trail, int Stack) { diff --git a/C/arith0.c b/C/arith0.c index ea7d3530b..132b09d93 100644 --- a/C/arith0.c +++ b/C/arith0.c @@ -173,7 +173,9 @@ eval0(Int fi) { } case op_heapused: /// - heapused - /// Heap (data-base) space used, in bytes. + /// Heap (data-base) space used, in bytes. In fact YAP either reports + /// the total memory malloced, or the amount of allocated space in + /// predicates. /// RINT(Yap_HeapUsed()); case op_localsp: diff --git a/C/cdmgr.c b/C/cdmgr.c index e9f18e22b..0dc5094b7 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -32,10 +32,10 @@ static char SccsId[] = "@(#)cdmgr.c 1.1 05/02/98"; #if HAVE_STRING_H #include #endif +#include #include #include #include -#include static void retract_all(PredEntry *, int); static void add_first_static(PredEntry *, yamop *, int); @@ -1386,7 +1386,7 @@ static void expand_consult(void) { new_cs = new_cl + InitialConsultCapacity; /* start copying */ memmove((void *)new_cs, (void *)LOCAL_ConsultLow, - OldConsultCapacity * sizeof(consult_obj)); + OldConsultCapacity * sizeof(consult_obj)); /* copying done, release old space */ Yap_FreeCodeSpace((char *)LOCAL_ConsultLow); /* next, set up pointers correctly */ @@ -1452,33 +1452,36 @@ static int not_was_reconsulted(PredEntry *p, Term t, int mode) { return TRUE; /* careful */ } -static yamop * addcl_permission_error(const char *file, const char *function, int lineno, AtomEntry *ap, Int Arity, int in_use) { +static yamop *addcl_permission_error(const char *file, const char *function, + int lineno, AtomEntry *ap, Int Arity, + int in_use) { CACHE_REGS - Term culprit; - if (Arity == 0) - culprit = MkAtomTerm(AbsAtom(ap)); - else - culprit = Yap_MkNewApplTerm(Yap_MkFunctor(AbsAtom(ap),Arity), Arity); -return - (in_use ? - (Arity == 0 ? - Yap_Error__(false, file, function, lineno, PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, culprit, - "static predicate %s is in use", ap->StrOfAE) - : - Yap_Error__(false, file, function, lineno, PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, culprit, - "static predicate %s/" Int_FORMAT " is in use", ap->StrOfAE, Arity) - ) - : - (Arity == 0 ? - Yap_Error__(false, file, function, lineno, PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, culprit, - "system predicate %s is in use", ap->StrOfAE) - : - Yap_Error__(false, file, function, lineno, PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, culprit, - "system predicate %s/" Int_FORMAT, ap->StrOfAE, Arity) - ) - ); - } - + Term culprit; + if (Arity == 0) + culprit = MkAtomTerm(AbsAtom(ap)); + else + culprit = Yap_MkNewApplTerm(Yap_MkFunctor(AbsAtom(ap), Arity), Arity); + return (in_use + ? (Arity == 0 + ? Yap_Error__(false, file, function, lineno, + PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, + culprit, "static predicate %s is in use", + ap->StrOfAE) + : Yap_Error__( + false, file, function, lineno, + PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, culprit, + "static predicate %s/" Int_FORMAT " is in use", + ap->StrOfAE, Arity)) + : (Arity == 0 + ? Yap_Error__(false, file, function, lineno, + PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, + culprit, "system predicate %s is in use", + ap->StrOfAE) + : Yap_Error__(false, file, function, lineno, + PERMISSION_ERROR_MODIFY_STATIC_PROCEDURE, + culprit, "system predicate %s/" Int_FORMAT, + ap->StrOfAE, Arity))); +} PredEntry *Yap_PredFromClause(Term t USES_REGS) { Term cmod = LOCAL_SourceModule; @@ -1737,7 +1740,8 @@ bool Yap_addclause(Term t, yamop *cp, Term tmode, Term mod, Term *t4ref) PELOCK(20, p); /* we are redefining a prolog module predicate */ if (Yap_constPred(p)) { - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), Arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), Arity, + FALSE); UNLOCKPE(30, p); return false; } @@ -1767,7 +1771,8 @@ bool Yap_addclause(Term t, yamop *cp, Term tmode, Term mod, Term *t4ref) disc[2] = Yap_Module_Name(p); sc[0] = Yap_MkApplTerm(Yap_MkFunctor(AtomDiscontiguous, 3), 3, disc); sc[1] = MkIntegerTerm(Yap_source_line_no()); - __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "source %s ", RepAtom(LOCAL_SourceFileName)->StrOfAE); + __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "source %s ", + RepAtom(LOCAL_SourceFileName)->StrOfAE); sc[2] = MkAtomTerm(LOCAL_SourceFileName); sc[3] = t; t = Yap_MkApplTerm(Yap_MkFunctor(AtomStyleCheck, 4), 4, sc); @@ -2043,7 +2048,7 @@ static Int p_compile(USES_REGS1) { /* '$compile'(+C,+Flags,+C0,-Ref) */ Yap_addclause(t, code_adr, t1, mod, &ARG5); YAPLeaveCriticalSection(); } - if (LOCAL_ErrorMessage ) { + if (LOCAL_ErrorMessage) { Yap_Error(LOCAL_Error_TYPE, ARG1, LOCAL_ErrorMessage); YAPLeaveCriticalSection(); return false; @@ -2435,12 +2440,14 @@ static Int new_multifile(USES_REGS1) { } if (pe->PredFlags & (TabledPredFlag | ForeignPredFlags)) { UNLOCKPE(26, pe); - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__,RepAtom(at), arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, + FALSE); return false; } if (pe->cs.p_code.NOfClauses) { UNLOCKPE(26, pe); - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__,RepAtom(at), arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, + FALSE); return false; } pe->PredFlags &= ~UndefPredFlag; @@ -2674,7 +2681,8 @@ static Int mk_dynamic(USES_REGS1) { /* '$make_dynamic'(+P) */ (UserCPredFlag | CArgsPredFlag | NumberDBPredFlag | AtomDBPredFlag | TestPredFlag | AsmPredFlag | CPredFlag | BinaryPredFlag)) { UNLOCKPE(30, pe); - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__,RepAtom(at), arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, + FALSE); return false; } if (pe->PredFlags & LogUpdatePredFlag) { @@ -2687,7 +2695,8 @@ static Int mk_dynamic(USES_REGS1) { /* '$make_dynamic'(+P) */ } if (pe->cs.p_code.NOfClauses != 0) { UNLOCKPE(26, pe); - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, + FALSE); return false; } if (pe->OpcodeOfPred == UNDEF_OPCODE) { @@ -2737,7 +2746,8 @@ static Int new_meta_pred(USES_REGS1) { } if (pe->cs.p_code.NOfClauses) { UNLOCKPE(26, pe); - addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, FALSE); + addcl_permission_error(__FILE__, __FUNCTION__, __LINE__, RepAtom(at), arity, + FALSE); return false; } pe->PredFlags |= MetaPredFlag; @@ -3082,132 +3092,88 @@ static Int p_clean_up_dead_clauses(USES_REGS1) { void Yap_HidePred(PredEntry *pe) { pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); -} + if (pe->NextOfPE) { + UInt hash = PRED_HASH(pe->FunctorOfPred, CurrentModule, PredHashTableSize); + READ_LOCK(PredHashRWLock); + PredEntry *p, **op = PredHash+hash; + p = *op; -static Int /* $system_predicate(P) */ -p_stash_predicate(USES_REGS1) { - PredEntry *pe; - - Term t1 = Deref(ARG1); - Term mod = Deref(ARG2); - -restart_system_pred: - if (IsVarTerm(t1)) - return (FALSE); - if (IsAtomTerm(t1)) { - Atom a = AtomOfTerm(t1); - - pe = RepPredProp(Yap_GetPredPropByAtom(a, mod)); - } else if (IsApplTerm(t1)) { - Functor funt = FunctorOfTerm(t1); - if (IsExtensionFunctor(funt)) { - return (FALSE); - } - if (funt == FunctorModule) { - Term nmod = ArgOfTerm(1, t1); - if (IsVarTerm(nmod)) { - Yap_Error(INSTANTIATION_ERROR, ARG1, "hide_predicate/1"); - return (FALSE); + while (p) { + if (p == pe) { + *op = p->NextPredOfHash; + break; } - if (!IsAtomTerm(nmod)) { - Yap_Error(TYPE_ERROR_ATOM, ARG1, "hide_predicate/1"); - return (FALSE); - } - t1 = ArgOfTerm(2, t1); - goto restart_system_pred; + op = &p->NextPredOfHash; + p = p->NextPredOfHash; } - pe = RepPredProp(Yap_GetPredPropByFunc(funt, mod)); - } else if (IsPairTerm(t1)) { - return TRUE; - } else - return FALSE; - if (EndOfPAEntr(pe)) - return FALSE; - Yap_HidePred(pe); - return TRUE; -} - -static Int /* $system_predicate(P) */ -hide_predicate(USES_REGS1) { - PredEntry *pe; - - Term t1 = Deref(ARG1); - Term mod = Deref(ARG2); - -restart_system_pred: - if (IsVarTerm(t1)) - return (FALSE); - if (IsAtomTerm(t1)) { - Atom a = AtomOfTerm(t1); - - pe = RepPredProp(Yap_GetPredPropByAtom(a, mod)); - } else if (IsApplTerm(t1)) { - Functor funt = FunctorOfTerm(t1); - if (IsExtensionFunctor(funt)) { - return (FALSE); + } + { + Prop *op, p; + if (pe->ArityOfPE == 0) { + op = &RepAtom(AtomOfTerm((Term)(pe->FunctorOfPred)))->PropsOfAE; + } else { + op = &pe->FunctorOfPred->PropsOfFE; } - if (funt == FunctorModule) { - Term nmod = ArgOfTerm(1, t1); - if (IsVarTerm(nmod)) { - Yap_Error(INSTANTIATION_ERROR, ARG1, "hide_predicate/1"); - return (FALSE); + p = *op; + + while (p) { + if (p == AbsPredProp(pe)) { + *op = p->NextOfPE; + break; } - if (!IsAtomTerm(nmod)) { - Yap_Error(TYPE_ERROR_ATOM, ARG1, "hide_predicate/1"); - return (FALSE); - } - t1 = ArgOfTerm(2, t1); - goto restart_system_pred; + op = &p->NextOfPE; + p = p->NextOfPE; } - pe = RepPredProp(Yap_GetPredPropByFunc(funt, mod)); - } else if (IsPairTerm(t1)) { - return true; - } else - return false; - if (EndOfPAEntr(pe)) - return false; - pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); - return true; + } + + { + PredEntry *p, + **op = &Yap_GetModuleEntry(Yap_Module(pe->ModuleOfPred))->PredForME; + p = *op; + + while (p) { + if (p == pe) { + *op = p->NextPredOfModule; + break; + } + op = &p->NextPredOfModule; + p = p->NextPredOfModule; + } + + } } static Int /* $hidden_predicate(P) */ -p_hidden_predicate(USES_REGS1) { - PredEntry *pe; - - Term t1 = Deref(ARG1); - Term mod = Deref(ARG2); - -restart_system_pred: - if (IsVarTerm(t1)) - return (FALSE); - if (IsAtomTerm(t1)) { - pe = RepPredProp(Yap_GetPredPropByAtom(AtomOfTerm(t1), mod)); - } else if (IsApplTerm(t1)) { - Functor funt = FunctorOfTerm(t1); - if (IsExtensionFunctor(funt)) { - return (FALSE); - } - if (funt == FunctorModule) { - Term nmod = ArgOfTerm(1, t1); - if (IsVarTerm(nmod)) { - Yap_Error(INSTANTIATION_ERROR, ARG1, "hide_predicate/1"); - return (FALSE); - } - if (!IsAtomTerm(nmod)) { - Yap_Error(TYPE_ERROR_ATOM, ARG1, "hide_predicate/1"); - return (FALSE); - } - t1 = ArgOfTerm(2, t1); - goto restart_system_pred; - } - pe = RepPredProp(Yap_GetPredPropByFunc(funt, mod)); - } else if (IsPairTerm(t1)) { - return (TRUE); +hide_predicate(USES_REGS1) { + PredEntry *pe = + Yap_get_pred(Deref(ARG1), Deref(ARG2), "while checking for a procedure"); + if (pe) { + Yap_HidePred(pe); + return true; } else - return (FALSE); - if (EndOfPAEntr(pe)) - return (FALSE); - return (pe->PredFlags & HiddenPredFlag); + return false; +} + +static Int /* $hidden_predicate(P) */ +stash_predicate(USES_REGS1) { + PredEntry *pe = + Yap_get_pred(Deref(ARG1), Deref(ARG2), "while checking for a procedure"); + if (pe) { + pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); + return true; + } else + return false; +} + + +static Int /* $hidden_predicate(P) */ +hidden_predicate(USES_REGS1) { + PredEntry *pe = + Yap_get_pred(Deref(ARG1), Deref(ARG2), "while checking for a procedure"); + if (pe) + return (pe->PredFlags & HiddenPredFlag); + else + return false; } static Int fetch_next_lu_clause(PredEntry *pe, yamop *i_code, Term th, Term tb, @@ -4798,8 +4764,8 @@ void Yap_InitCdMgr(void) { Yap_InitCPred("$set_pred_module", 2, p_set_pred_module, SafePredFlag); Yap_InitCPred("$set_pred_owner", 2, p_set_pred_owner, SafePredFlag); Yap_InitCPred("$hide_predicate", 2, hide_predicate, SafePredFlag); - Yap_InitCPred("$stash_predicate", 2, p_stash_predicate, SafePredFlag); - Yap_InitCPred("$hidden_predicate", 2, p_hidden_predicate, SafePredFlag); + Yap_InitCPred("$stash_predicate", 2, stash_predicate, SafePredFlag); + Yap_InitCPred("$hidden_predicate", 2, hidden_predicate, SafePredFlag); Yap_InitCPred("$log_update_clause", 4, p_log_update_clause, SyncPredFlag); Yap_InitCPred("$continue_log_update_clause", 5, p_continue_log_update_clause, SafePredFlag | SyncPredFlag); diff --git a/packages/jpl/src/c/CMakeLists.txt b/packages/jpl/src/c/CMakeLists.txt index 12e715e8f..7b97367a6 100644 --- a/packages/jpl/src/c/CMakeLists.txt +++ b/packages/jpl/src/c/CMakeLists.txt @@ -5,7 +5,12 @@ add_lib(jplYap jpl.h jpl.c hacks.h) include_directories (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_PATH} ) +if (MAC) + target_link_libraries(jplYap libYap /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation + /System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching) +else() target_link_libraries(jplYap libYap ${JAVA_JVM_LIBRARY} ${JAVA_AWT_LIBRARY}) +endif() set_target_properties(jplYap PROPERTIES OUTPUT_NAME jpl diff --git a/pl/bootlists.yap b/pl/bootlists.yap index 471fbad9d..ae1bd7f8e 100644 --- a/pl/bootlists.yap +++ b/pl/bootlists.yap @@ -91,18 +91,6 @@ lists:delete([Head|List], Elem, Residue) :- lists:delete([Head|List], Elem, [Head|Residue]) :- lists:delete(List, Elem, Residue). - -% reverse(List, Reversed) -% is true when List and Reversed are lists with the same elements -% but in opposite orders. rev/2 is a synonym for reverse/2. - -lists:reverse(List, Reversed) :- - lists:reverse(List, [], Reversed). - -lists:reverse([], Reversed, Reversed). -lists:reverse([Head|Tail], Sofar, Reversed) :- - lists:reverse(Tail, [Head|Sofar], Reversed). - :- set_prolog_flag(source, false). % disable source. diff --git a/pl/preds.yap b/pl/preds.yap index f273db11a..6816b7b6e 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -440,11 +440,15 @@ stash_predicate(P0) :- /** @pred hide_predicate(+ _Pred_) Make predicate _Pred_ invisible to `current_predicate/2`, `listing`, and friends. - **/ hide_predicate(P0) :- - '$yap_strip_module'(P0, M, P), - must_be_of_type(callable, M:P), + strip_module(P0, M, P), + nonvar(P), + P = N/A, + !, + functor(S,N,A). +hide_predicate(P0) :- + strip_module(P0, M, P), '$hide_predicate'(P, M). /** @pred predicate_property( _P_, _Prop_) is iso diff --git a/pl/protect.yap b/pl/protect.yap index 7d9bc46dd..242d951c5 100755 --- a/pl/protect.yap +++ b/pl/protect.yap @@ -48,7 +48,7 @@ prolog:'$protect' :- '$new_system_predicate'(Name,Arity,M), sub_atom(Name,0,1,_, '$'), functor(P,Name,Arity), - '$hide_predicate'(P,M), + %'$hide_predicate'(P,M), fail. prolog:'$protect' :- current_atom(Name), @@ -81,5 +81,5 @@ prolog:'$protect'. '$visible'('$qq_open'). '$visible'('$live'). '$visible'('$init_prolog'). - +'$visible'('$x_yap_flag' ). %% @} diff --git a/pl/qly.yap b/pl/qly.yap index ec948ecbe..70b5c4163 100755 --- a/pl/qly.yap +++ b/pl/qly.yap @@ -135,32 +135,32 @@ qend_program :- halt(0). '$save_program_status'(Flags, G) :- - findall(F-V, '$x_yap_flag'(F,V),L), + findall(F-V, 'x_yap_flag'(F,V),L), recordz('$program_state',L,_), - '$cvt_qsave_flags'(Flags, G), + 'cvt_qsave_flags'(Flags, G), fail. '$save_program_status'(_Flags, _G). -'$cvt_qsave_flags'(Flags, G) :- +'cvt_qsave_flags'(Flags, G) :- nonvar(Flags), strip_module(Flags, M, LFlags), '$skip_list'(_Len, LFlags, []), - '$cvt_qsave_lflags'(LFlags, G, M). -'$cvt_qsave_flags'(Flags, G,_OFlags) :- + 'cvt_qsave_lflags'(LFlags, G, M). +'cvt_qsave_flags'(Flags, G,_OFlags) :- var(Flags), '$do_error'(instantiation_error,G). -'$cvt_qsave_flags'(Flags, G,_OFlags) :- +'cvt_qsave_flags'(Flags, G,_OFlags) :- '$do_error'(type_error(list,Flags),G). -'$cvt_qsave_lflags'([], _, _). -'$cvt_qsave_lflags'([Flag|Flags], G, M) :- - '$cvt_qsave_flag'(Flag, G, M), - '$cvt_qsave_lflags'(Flags, G, M). +'cvt_qsave_lflags'([], _, _). +'cvt_qsave_lflags'([Flag|Flags], G, M) :- + 'cvt_qsave_flag'(Flag, G, M), + 'cvt_qsave_lflags'(Flags, G, M). -'$cvt_qsave_flag'(Flag, G, _) :- +'cvt_qsave_flag'(Flag, G, _) :- var(Flag), !, '$do_error'(instantiation_error,G). -'$cvt_qsave_flag'(local(B), G, _) :- !, +'cvt_qsave_flag'(local(B), G, _) :- !, ( number(B) -> ( B > 0 -> recordz('$restore_flag',local(B),_) ; @@ -169,7 +169,7 @@ qend_program :- ; '$do_error'(type_error(integer,B),G) ). -'$cvt_qsave_flag'(global(B), G, _) :- !, +'cvt_qsave_flag'(global(B), G, _) :- !, ( number(B) -> ( B > 0 -> recordz('$restore_flag',global(B),_) ; @@ -178,7 +178,7 @@ qend_program :- ; '$do_error'(type_error(integer,B),G) ). -'$cvt_qsave_flag'(stack(B), G, _) :- !, +'cvt_qsave_flag'(stack(B), G, _) :- !, ( number(B) -> ( B > 0 -> recordz('$restore_flag',stack(B),_) ; @@ -187,7 +187,7 @@ qend_program :- ; '$do_error'(type_error(integer,B),G) ). -'$cvt_qsave_flag'(trail(B), G, _) :- !, +'cvt_qsave_flag'(trail(B), G, _) :- !, ( number(B) -> ( B > 0 -> recordz('$restore_flag',trail(B),_) ; @@ -196,7 +196,7 @@ qend_program :- ; '$do_error'(type_error(integer,B),G) ). -'$cvt_qsave_flag'(goal(B), G, M) :- !, +'cvt_qsave_flag'(goal(B), G, M) :- !, ( callable(B) -> strip_module(M:B, M1, G1), recordz('$restore_flag',goal(M1:G1),_) @@ -204,7 +204,7 @@ qend_program :- strip_module(M:B, M1, G1), '$do_error'(type_error(callable,G1),G) ). -'$cvt_qsave_flag'(toplevel(B), G, M) :- !, +'cvt_qsave_flag'(toplevel(B), G, M) :- !, ( callable(B) -> strip_module(M:B, M1, G1), recordz('$restore_flag',toplevel(M1:G1),_) @@ -212,27 +212,27 @@ qend_program :- strip_module(M:B, M1, G1), '$do_error'(type_error(callable,G1),G) ). -'$cvt_qsave_flag'(init_file(B), G, M) :- !, +'cvt_qsave_flag'(init_file(B), G, M) :- !, ( atom(B) -> recordz('$restore_flag', init_file(M:B), _) ; '$do_error'(type_error(atom,B),G) ). -%% '$cvt_qsave_flag'(autoload(_B), G, autoload(_B)). -%% '$cvt_qsave_flag'(op(_B), G, op(_B)). -%% '$cvt_qsave_flag'(stand_alone(_B), G, stand_alone(_B)). -%% '$cvt_qsave_flag'(emulator(_B), G, emulator(_B)). -%% '$cvt_qsave_flag'(foreign(_B), G, foreign(_B)). -'$cvt_qsave_flag'(Opt, G, _M) :- +%% 'cvt_qsave_flag'(autoload(_B), G, autoload(_B)). +%% 'cvt_qsave_flag'(op(_B), G, op(_B)). +%% 'cvt_qsave_flag'(stand_alone(_B), G, stand_alone(_B)). +%% 'cvt_qsave_flag'(emulator(_B), G, emulator(_B)). +%% 'cvt_qsave_flag'(foreign(_B), G, foreign(_B)). +'cvt_qsave_flag'(Opt, G, _M) :- '$do_error'(domain_error(qsave_program,Opt), G). % there is some ordering between flags. -'$x_yap_flag'(language, V) :- +'x_yap_flag'(language, V) :- yap_flag(language, V). -'$x_yap_flag'(M:P, V) :- +'x_yap_flag'(M:P, V) :- current_module(M), yap_flag(M:P, V). -'$x_yap_flag'(X, V) :- +'x_yap_flag'(X, V) :- prolog_flag_property(X, [access(read_write)]), atom(X), yap_flag(X, V), From 990a86512dbd93c4723ec60282bcfa4db7d7bf1d Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 26 Sep 2018 11:46:26 +0100 Subject: [PATCH 57/57] jpl --- C/cdmgr.c | 16 ++++++++++++++-- packages/jpl/src/c/CMakeLists.txt | 14 +++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/C/cdmgr.c b/C/cdmgr.c index 0dc5094b7..8b9fd55cb 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -1652,7 +1652,7 @@ Atom Yap_source_file_name(void) { } /** - * @brief we cannot add clauses to the proceduree + * @brief we cannot add clauses to the procedure * * @param p predicate * @@ -3091,6 +3091,8 @@ static Int p_clean_up_dead_clauses(USES_REGS1) { void Yap_HidePred(PredEntry *pe) { + if (pe->PredFlags & HiddenPredFlag) + return; pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); if (pe->NextOfPE) { UInt hash = PRED_HASH(pe->FunctorOfPred, CurrentModule, PredHashTableSize); @@ -3106,6 +3108,7 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextPredOfHash; p = p->NextPredOfHash; } + pe->NextPredOfHash = NULL; } { Prop *op, p; @@ -3124,6 +3127,8 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextOfPE; p = p->NextOfPE; } + pe->NextOfPE = RepAtom(AtomFoundVar)->PropsOfAE; + RepAtom(AtomFoundVar)->PropsOfAE = AbsPredProp(pe); } { @@ -3139,7 +3144,7 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextPredOfModule; p = p->NextPredOfModule; } - +pe->NextPredOfModule = NULL; } } @@ -3160,6 +3165,13 @@ stash_predicate(USES_REGS1) { Yap_get_pred(Deref(ARG1), Deref(ARG2), "while checking for a procedure"); if (pe) { pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); + /* + char ns[1024]; + const char *s = (pe->ModuleOfPred == PROLOG_MODULE ? + "__prolog__stash__" : + snprintf(sn,1023,"__%s__".RepAtom(AtomOfTerm( pe->ModuleOfPred )))); + pe->ModuleOfPred = MkAtomTerm(Yap_LookupAtom(s)); + */ return true; } else return false; diff --git a/packages/jpl/src/c/CMakeLists.txt b/packages/jpl/src/c/CMakeLists.txt index 7b97367a6..27a06621c 100644 --- a/packages/jpl/src/c/CMakeLists.txt +++ b/packages/jpl/src/c/CMakeLists.txt @@ -1,20 +1,20 @@ # set(CMAKE_MACOSX_RPATH 1) -SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) add_lib(jplYap jpl.h jpl.c hacks.h) include_directories (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_PATH} ) -if (MAC) - target_link_libraries(jplYap libYap /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - /System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching) -else() - target_link_libraries(jplYap libYap ${JAVA_JVM_LIBRARY} ${JAVA_AWT_LIBRARY}) +if (APPLE) +get_filename_component ( JAVA_AWT_DIR ${JAVA_AWT_LIBRARY} DIRECTORY) +find_library (JLI jli ${JAVA_AWT_DIR}/jli) endif() + target_link_libraries(jplYap libYap ${JLI} ${JNI_LIBRARIES}) + set_target_properties(jplYap PROPERTIES OUTPUT_NAME jpl - INSTALL_RPATH_USE_LINK_PATH TRUE ) + INSTALL_RPATH_USE_LINK_PATH TRUE + ) # set(YAP_SYSTEM_OPTIONS "jpl " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) install(TARGETS jplYap