11.3 Engine predicate reference
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • Coroutining using Prolog engines
        • Engine predicate reference
          • engine_create/3
          • engine_create/4
          • engine_destroy/1
          • engine_next/2
          • engine_next_reified/2
          • engine_post/2
          • engine_post/3
          • engine_yield/1
          • engine_fetch/1
          • engine_self/1
          • is_engine/1
          • current_engine/1
    • Packages
Availability:built-in
Source[det]engine_create(+Template, :Goal, ?Engine)
[det]engine_create(+Template, :Goal, -Engine, +Options)
Create a new engine and unify Engine with a handle to it. Template and Goal form a pair similar to findall/3: the instantiation of Template becomes available through engine_next/2 after Goal succeeds. Options is a list of the following options. See thread_create/3 for details.
alias(+Name)
Give the engine a name. Name must be an atom. If this option is provided, Engine is unified with Name. The name space for engines is shared with threads and mutexes.
stack(+Bytes)
Set the stack limit for the engine. The default is inherited from the calling thread.
The Engine argument of engine_create/3 may be instantiated to an atom, creating an engine with the given alias.