2.1 library(pengines): Pengines: Web Logic Programming Made Easy
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • Pengines: Web Logic Programming Made Easy
        • Pengine libraries
          • library(pengines): Pengines: Web Logic Programming Made Easy
            • pengine_create/1
            • pengine_ask/3
            • pengine_next/2
            • pengine_stop/2
            • pengine_abort/1
            • pengine_destroy/1
            • pengine_destroy/2
            • pengine_self/1
            • pengine_application/1
            • current_pengine_application/1
            • pengine_property/2
            • pengine_output/1
            • pengine_debug/2
            • thread_pool:create_pool/1
            • pengine_done/0
            • prepare_module/3
            • prepare_goal/3
            • not_sandboxed/2
            • pengine_pull_response/2
            • pengine_input/2
            • pengine_respond/3
            • pengine_event_loop/2
            • pengine_rpc/2
            • pengine_rpc/3
            • prompt/3
            • output/2
            • portray_blob/2
            • write_result/3
            • add_error_details/3
            • event_to_json/3
            • authentication_hook/3
            • pengine_user/1
Availability::- use_module(library(pengines)).(can be autoloaded)
Source[det]pengine_create(:Options)
Creates a new pengine. Valid options are:
id(-ID)
ID gets instantiated to the id of the created pengine. ID is atomic.
alias(+Name)
The pengine is named Name (an atom). A slave pengine (child) can subsequently be referred to by this name.
application(+Application)
Application in which the pengine runs. See pengine_application/1.
server(+URL)
The pengine will run in (and in the Prolog context of) the pengine server located at URL.
src_list(+List_of_clauses)
Inject a list of Prolog clauses into the pengine.
src_text(+Atom_or_string)
Inject the clauses specified by a source text into the pengine.
src_url(+URL)
Inject the clauses specified in the file located at URL into the pengine.
src_predicates(+List)
Send the local predicates denoted by List to the remote pengine. List is a list of predicate indicators.

Remaining options are passed to http_open/3 (meaningful only for non-local pengines) and thread_create/3. Note that for thread_create/3 only options changing the stack-sizes can be used. In particular, do not pass the detached or alias options..

Successful creation of a pengine will return an event term of the following form:

create(ID, Term)
ID is the id of the pengine that was created. Term is not used at the moment.

An error will be returned if the pengine could not be created:

error(ID, Term)
ID is invalid, since no pengine was created. Term is the exception's error term.