Python "dogelog"

Admin User, created Mar 06. 2024
         
###
# Modern Albufeira Prolog Interpreter
#
# Warranty & Liability
# To the extent permitted by applicable law and unless explicitly
# otherwise agreed upon, XLOG Technologies AG makes no warranties
# regarding the provided information. XLOG Technologies AG assumes
# no liability that any problems might be solved with the information
# provided by XLOG Technologies AG.
#
# Rights & License
# All industrial property rights regarding the information - copyright
# and patent rights in particular - are the sole property of XLOG
# Technologies AG. If the company was not the originator of some
# excerpts, XLOG Technologies AG has at least obtained the right to
# reproduce, change and translate the information.
#
# Reproduction is restricted to the whole unaltered document. Reproduction
# of the information is only allowed for non-commercial uses. Selling,
# giving away or letting of the execution of the library is prohibited.
# The library can be distributed as part of your applications and libraries
# for execution provided this comment remains unchanged.
#
# Restrictions
# Only to be distributed with programs that add significant and primary
# functionality to the library. Not to be distributed with additional
# software intended to replace any components of the library.
#
# Trademarks
# Jekejeke is a registered trademark of XLOG Technologies AG.
##
################################################################
# Import Native API #
################################################################
# embedding native API
import nova.store as store
from nova.store import (Clause, add, Cache, make_defined, set_stage, clear)
import nova.machine as machine
from nova.machine import (run, Goal, launch, launch_async, Context)
from nova.runtime import (check_goal, check_clause)
# registry native API
from nova.machine import (check_nonvar, cont, make_error,
register_signal, check_callable)
from nova.special import (check_atom, narrow_float, make_special,
make_arithmetic, make_check,
check_number, check_integer,
check_atomic)
# term native API
from nova.store import (Variable, is_variable, Compound, is_compound)
from nova.machine import (is_atom, is_number, is_integer, is_float,
unify, bind, unbind, deref, copy_term,
exec_eval, exec_unify, exec_build)
from nova.eval import (equal_term, compare_term)
# stream native API
from nova.runtime import (Source, Sink, check_sink, check_source,
put_atom, stream_close, stream_flush, flush_buffer, file_close,
open_file_promise, open_write, map_http_result, MASK_SRC_AREAD,
file_close_promise, http_read_promise, map_stream_error)
# specific native API
from nova.machine import (atomic_equal)
# registry native API
def get_cont():
return machine.call
def get_mark():
return machine.trail
def get_engine():
return store.engine
def get_ctx():
return machine.ctx
def get_stage():
return store.stage